<?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>239499</bug_id>
          
          <creation_ts>2022-04-19 08:24:38 -0700</creation_ts>
          <short_desc>Only AXIsolatedTree::update{Children,Node} once when processing notifications in AXObjectCache::updateIsolatedTree</short_desc>
          <delta_ts>2022-04-21 13:52:57 -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>Accessibility</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1862555</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-19 08:24:38 -0700</bug_when>
    <thetext>Currently, we do try to prevent performing duplicate updates, but we do so only if we have an exact match for a previous notification for any given object:

case AXTextChanged:
case AXValueChanged: {

    bool needsUpdate = appendIfNotContainsMatching(filteredNotifications, notification, [&amp;notification] (const std::pair&lt;RefPtr&lt;AXCoreObject&gt;, AXNotification&gt;&amp; note) {
       return note.second == notification.second &amp;&amp; note.first.get() == notification.first.get();
    });

    if (needsUpdate)
        tree-&gt;updateNode(*notification.first);
   

However, multiple notifications trigger AXIsolatedTree::updateNode and children, so we&apos;ll still do wasted work in this case. For example, in the above snippet, we&apos;d update the node twice if the same object got both an AXTextChanged and AXValueChanged notification in the same batch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862556</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-19 08:24:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/91961437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862557</commentid>
    <comment_count>2</comment_count>
      <attachid>457894</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-19 08:32:22 -0700</bug_when>
    <thetext>Created attachment 457894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862579</commentid>
    <comment_count>3</comment_count>
      <attachid>457903</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-19 09:06:42 -0700</bug_when>
    <thetext>Created attachment 457903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863396</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-21 13:52:51 -0700</bug_when>
    <thetext>Committed r293186 (249862@main): &lt;https://commits.webkit.org/249862@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457903.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457894</attachid>
            <date>2022-04-19 08:32:22 -0700</date>
            <delta_ts>2022-04-19 09:06:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239499-20220419103221.patch</filename>
            <type>text/plain</type>
            <size>4945</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwODhjMmZhY2RlNTIw
YjM0MjE4NDBlYzUxMWZjMDBjOGViZDZjOS4uMmIzMTVmYjgxNjg3ZTIzNDI5MWEzODM2M2RkN2Q5
YWMwZTkyMDdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTA0LTE5ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgT25seSBBWElzb2xhdGVk
VHJlZTo6dXBkYXRle0NoaWxkcmVuLE5vZGV9IG9uY2Ugd2hlbiBwcm9jZXNzaW5nIG5vdGlmaWNh
dGlvbnMgaW4gQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwkJCisgICAgICAgIEN1cnJlbnRseSwgd2UgZG8gdHJ5
IHRvIHByZXZlbnQgcGVyZm9ybWluZyBkdXBsaWNhdGUgdXBkYXRlcywgYnV0IHdlIGRvIHNvIG9u
bHkKKyAgICAgICAgaWYgd2UgaGF2ZSBhbiBleGFjdCBtYXRjaCBmb3IgYSBwcmV2aW91cyBub3Rp
ZmljYXRpb24gZm9yIGFueSBnaXZlbiBvYmplY3QuIAorICAgICAgICBIb3dldmVyLCBtdWx0aXBs
ZSBub3RpZmljYXRpb25zIHRyaWdnZXIgQVhJc29sYXRlZFRyZWU6OnVwZGF0ZU5vZGUgYW5kIGNo
aWxkcmVuLAorICAgICAgICBzbyB3ZSdsbCBzdGlsbCBkdXBsaWNhdGUgd29yayBpZiB3ZSBnZXQg
bXVsdGlwbGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgc2FtZSBncm91cC4KKyAgICAgICAgRm9yIGV4
YW1wbGUsIGJlZm9yZSB0aGlzIHBhdGNoLCBpZiB0aGUgc2FtZSBvYmplY3QgZ290IGJvdGggYW4g
QVhWYWx1ZUNoYW5nZWQgYW5kCisgICAgICAgIEFYVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLCB3
ZSdkIGNhbGwgQVhJc29sYXRlZFRyZWU6OnVwZGF0ZU5vZGUgdHdpY2UuCisKKyAgICAgICAgV2l0
aCB0aGlzIHBhdGNoLCB3ZSBpbnN0ZWFkIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBvciBub3Qgd2Un
dmUKKyAgICAgICAgcGVyZm9ybWVkIGEgbm9kZSBvciBjaGlsZHJlbiB1cGRhdGUgZm9yIGVhY2gg
b2JqZWN0IHRvIHByZXZlbnQKKyAgICAgICAgZHVwbGljYXRlIHdvcmsuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjphcHBl
bmRJZk5vdENvbnRhaW5zTWF0Y2hpbmcpOiBEZWxldGVkLgorCiAyMDIyLTA0LTE4ICBUeWxlciBX
aWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFVwZGF0ZSB0aGUgaXNv
bGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhUZXh0
Q2hhbmdlZCBub3RpZmljYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAppbmRleCAzMmUxYmU0YWEwYjRmY2I2NjE3YmIyMDEyYTc2ZDFjOTMz
NjU0MWQ5Li41Mzk1NzIwYjQ2NGMxNjNmZWQ0ZDczMjU5ZTY4MDNhN2FkMmExNTRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTMzNDcs
MTYgKzMzNDcsNiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZU1lbnVMaXN0VmFsdWVDaGFu
Z2VkKEVsZW1lbnQmIGVsZW1lbnQpCiB9CiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09M
QVRFRF9UUkVFKQotLy8gRklYTUU6IHNob3VsZCBiZSBhZGRlZCB0byBXVEY6OlZlY3Rvci4KLXRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEY+Ci1zdGF0aWMgYm9vbCBhcHBlbmRJZk5vdENv
bnRhaW5zTWF0Y2hpbmcoVmVjdG9yPFQ+JiB2ZWN0b3IsIGNvbnN0IFQmIHZhbHVlLCBGIG1hdGNo
ZXMpCi17Ci0gICAgaWYgKHZlY3Rvci5maW5kSWYobWF0Y2hlcykgIT0gbm90Rm91bmQpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB2ZWN0b3IuYXBwZW5kKHZhbHVlKTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoQVhDb3Jl
T2JqZWN0KiBvYmplY3QsIEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikKIHsKICAgICBpZiAo
b2JqZWN0KQpAQCAtMzM4NCw5ICszMzc0LDExIEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRl
SXNvbGF0ZWRUcmVlKGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBGaWx0ZXIgb3V0IG11bHRpcGxlIG5vdGlm
aWNhdGlvbnMgZm9yIHRoZSBzYW1lIG9iamVjdC4gVGhpcyBhdm9pZHMKLSAgICAvLyB1cGRhdGlu
ZyB0aGUgaXNvbGF0ZWQgdHJlZSBtdWx0aXBsZSB0aW1lcyB1bm5lY2Vzc2FyaWx5LgotICAgIFZl
Y3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjdD4sIEFYTm90aWZpY2F0aW9uPj4gZmls
dGVyZWROb3RpZmljYXRpb25zOworICAgIHN0cnVjdCBVcGRhdGVkRmllbGRzIHsKKyAgICAgICAg
Ym9vbCBjaGlsZHJlbiB7IGZhbHNlIH07CisgICAgICAgIGJvb2wgbm9kZSB7IGZhbHNlIH07Cisg
ICAgfTsKKyAgICBIYXNoTWFwPEFYSUQsIFVwZGF0ZWRGaWVsZHM+IHVwZGF0ZWRPYmplY3RzOwog
ICAgIGZvciAoY29uc3QgYXV0byYgbm90aWZpY2F0aW9uIDogbm90aWZpY2F0aW9ucykgewogICAg
ICAgICBBWExPRyhub3RpZmljYXRpb24pOwogICAgICAgICBpZiAoIW5vdGlmaWNhdGlvbi5maXJz
dCB8fCAhbm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpLmlzVmFsaWQoKSkKQEAgLTM0Mjgs
MTIgKzM0MjAsMTEgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29u
c3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWMKICAgICAgICAgY2FzZSBBWFNl
bGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgogICAgICAgICBjYXNlIEFYVGV4dENoYW5nZWQ6CiAgICAg
ICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6IHsKLSAgICAgICAgICAgIGJvb2wgbmVlZHNVcGRhdGUg
PSBhcHBlbmRJZk5vdENvbnRhaW5zTWF0Y2hpbmcoZmlsdGVyZWROb3RpZmljYXRpb25zLCBub3Rp
ZmljYXRpb24sIFsmbm90aWZpY2F0aW9uXSAoY29uc3Qgc3RkOjpwYWlyPFJlZlB0cjxBWENvcmVP
YmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4mIG5vdGUpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4g
bm90ZS5zZWNvbmQgPT0gbm90aWZpY2F0aW9uLnNlY29uZCAmJiBub3RlLmZpcnN0LmdldCgpID09
IG5vdGlmaWNhdGlvbi5maXJzdC5nZXQoKTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAg
ICBpZiAobmVlZHNVcGRhdGUpCisgICAgICAgICAgICBhdXRvIHVwZGF0ZWRGaWVsZHMgPSB1cGRh
dGVkT2JqZWN0cy5nZXQobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpKTsKKyAgICAgICAg
ICAgIGlmICghdXBkYXRlZEZpZWxkcy5ub2RlKSB7CisgICAgICAgICAgICAgICAgdXBkYXRlZE9i
amVjdHMuc2V0KG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgVXBkYXRlZEZpZWxkcyB7
IHVwZGF0ZWRGaWVsZHMuY2hpbGRyZW4sIHRydWUgfSk7CiAgICAgICAgICAgICAgICAgdHJlZS0+
dXBkYXRlTm9kZSgqbm90aWZpY2F0aW9uLmZpcnN0KTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVhDaGlsZHJlbkNoYW5nZWQ6CkBA
IC0zNDQxLDEyICszNDMyLDExIEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRU
cmVlKGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjCiAgICAgICAgIGNh
c2UgQVhSb3dDb3VudENoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhSb3dDb2xsYXBzZWQ6CiAgICAg
ICAgIGNhc2UgQVhSb3dFeHBhbmRlZDogewotICAgICAgICAgICAgYm9vbCBuZWVkc1VwZGF0ZSA9
IGFwcGVuZElmTm90Q29udGFpbnNNYXRjaGluZyhmaWx0ZXJlZE5vdGlmaWNhdGlvbnMsIG5vdGlm
aWNhdGlvbiwgWyZub3RpZmljYXRpb25dIChjb25zdCBzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9i
amVjdD4sIEFYTm90aWZpY2F0aW9uPiYgbm90ZSkgewotICAgICAgICAgICAgICAgIHJldHVybiBu
b3RlLnNlY29uZCA9PSBub3RpZmljYXRpb24uc2Vjb25kICYmIG5vdGUuZmlyc3QuZ2V0KCkgPT0g
bm90aWZpY2F0aW9uLmZpcnN0LmdldCgpOwotICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAg
IGlmIChuZWVkc1VwZGF0ZSkKKyAgICAgICAgICAgIGF1dG8gdXBkYXRlZEZpZWxkcyA9IHVwZGF0
ZWRPYmplY3RzLmdldChub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCkpOworICAgICAgICAg
ICAgaWYgKCF1cGRhdGVkRmllbGRzLmNoaWxkcmVuKSB7CisgICAgICAgICAgICAgICAgdXBkYXRl
ZE9iamVjdHMuc2V0KG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSwgVXBkYXRlZEZpZWxk
cyB7IHRydWUsIHVwZGF0ZWRGaWVsZHMubm9kZSB9KTsKICAgICAgICAgICAgICAgICB0cmVlLT51
cGRhdGVDaGlsZHJlbigqbm90aWZpY2F0aW9uLmZpcnN0KTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457903</attachid>
            <date>2022-04-19 09:06:42 -0700</date>
            <delta_ts>2022-04-21 13:52:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239499-20220419110640.patch</filename>
            <type>text/plain</type>
            <size>4943</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwODhjMmZhY2RlNTIw
YjM0MjE4NDBlYzUxMWZjMDBjOGViZDZjOS4uNzFiY2NkN2ZiZmQzYTdlY2RlOTg5OWJmNDkzMmM3
ZGEwYjc4MTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTA0LTE5ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgT25seSBBWElzb2xhdGVk
VHJlZTo6dXBkYXRle0NoaWxkcmVuLE5vZGV9IG9uY2Ugd2hlbiBwcm9jZXNzaW5nIG5vdGlmaWNh
dGlvbnMgaW4gQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdlIGRvIHRyeSB0
byBwcmV2ZW50IHBlcmZvcm1pbmcgZHVwbGljYXRlIHVwZGF0ZXMsIGJ1dCB3ZSBkbyBzbyBvbmx5
CisgICAgICAgIGlmIHdlIGhhdmUgYW4gZXhhY3QgbWF0Y2ggZm9yIGEgcHJldmlvdXMgbm90aWZp
Y2F0aW9uIGZvciBhbnkgZ2l2ZW4gb2JqZWN0LiAKKyAgICAgICAgSG93ZXZlciwgbXVsdGlwbGUg
bm90aWZpY2F0aW9ucyB0cmlnZ2VyIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlIGFuZCBjaGls
ZHJlbiwKKyAgICAgICAgc28gd2UnbGwgc3RpbGwgZHVwbGljYXRlIHdvcmsgaWYgd2UgZ2V0IG11
bHRpcGxlIG5vdGlmaWNhdGlvbnMgaW4gdGhlIHNhbWUgZ3JvdXAuCisgICAgICAgIEZvciBleGFt
cGxlLCBiZWZvcmUgdGhpcyBwYXRjaCwgaWYgdGhlIHNhbWUgb2JqZWN0IGdvdCBib3RoIGFuIEFY
VmFsdWVDaGFuZ2VkIGFuZAorICAgICAgICBBWFRleHRDaGFuZ2VkIG5vdGlmaWNhdGlvbiwgd2Un
ZCBjYWxsIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlIHR3aWNlLgorCisgICAgICAgIFdpdGgg
dGhpcyBwYXRjaCwgd2UgaW5zdGVhZCBrZWVwIHRyYWNrIG9mIHdoZXRoZXIgb3Igbm90IHdlJ3Zl
CisgICAgICAgIHBlcmZvcm1lZCBhIG5vZGUgb3IgY2hpbGRyZW4gdXBkYXRlIGZvciBlYWNoIG9i
amVjdCB0byBwcmV2ZW50CisgICAgICAgIGR1cGxpY2F0ZSB3b3JrLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5k
SWZOb3RDb250YWluc01hdGNoaW5nKTogRGVsZXRlZC4KKwogMjAyMi0wNC0xOCAgVHlsZXIgV2ls
Y29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBVcGRhdGUgdGhlIGlzb2xh
dGVkIHRyZWUgaW4gcmVzcG9uc2UgdG8gQVhFbGVtZW50QnVzeUNoYW5nZWQgYW5kIEFYVGV4dENo
YW5nZWQgbm90aWZpY2F0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKaW5kZXggMzJlMWJlNGFhMGI0ZmNiNjYxN2JiMjAxMmE3NmQxYzkzMzY1
NDFkOS4uNTM5NTcyMGI0NjRjMTYzZmVkNGQ3MzI1OWU2ODAzYTdhZDJhMTU0YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0zMzQ3LDE2
ICszMzQ3LDYgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVNZW51TGlzdFZhbHVlQ2hhbmdl
ZChFbGVtZW50JiBlbGVtZW50KQogfQogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKLS8vIEZJWE1FOiBzaG91bGQgYmUgYWRkZWQgdG8gV1RGOjpWZWN0b3IuCi10ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBGPgotc3RhdGljIGJvb2wgYXBwZW5kSWZOb3RDb250
YWluc01hdGNoaW5nKFZlY3RvcjxUPiYgdmVjdG9yLCBjb25zdCBUJiB2YWx1ZSwgRiBtYXRjaGVz
KQotewotICAgIGlmICh2ZWN0b3IuZmluZElmKG1hdGNoZXMpICE9IG5vdEZvdW5kKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgdmVjdG9yLmFwcGVuZCh2YWx1ZSk7Ci0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKEFYQ29yZU9i
amVjdCogb2JqZWN0LCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCiB7CiAgICAgaWYgKG9i
amVjdCkKQEAgLTMzODQsOSArMzM3NCwxMSBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlz
b2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmplYwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRmlsdGVyIG91dCBtdWx0aXBsZSBub3RpZmlj
YXRpb25zIGZvciB0aGUgc2FtZSBvYmplY3QuIFRoaXMgYXZvaWRzCi0gICAgLy8gdXBkYXRpbmcg
dGhlIGlzb2xhdGVkIHRyZWUgbXVsdGlwbGUgdGltZXMgdW5uZWNlc3NhcmlseS4KLSAgICBWZWN0
b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4+IGZpbHRl
cmVkTm90aWZpY2F0aW9uczsKKyAgICBzdHJ1Y3QgVXBkYXRlZEZpZWxkcyB7CisgICAgICAgIGJv
b2wgY2hpbGRyZW4geyBmYWxzZSB9OworICAgICAgICBib29sIG5vZGUgeyBmYWxzZSB9OworICAg
IH07CisgICAgSGFzaE1hcDxBWElELCBVcGRhdGVkRmllbGRzPiB1cGRhdGVkT2JqZWN0czsKICAg
ICBmb3IgKGNvbnN0IGF1dG8mIG5vdGlmaWNhdGlvbiA6IG5vdGlmaWNhdGlvbnMpIHsKICAgICAg
ICAgQVhMT0cobm90aWZpY2F0aW9uKTsKICAgICAgICAgaWYgKCFub3RpZmljYXRpb24uZmlyc3Qg
fHwgIW5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKS5pc1ZhbGlkKCkpCkBAIC0zNDI4LDEy
ICszNDIwLDExIEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKGNvbnN0
IFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjCiAgICAgICAgIGNhc2UgQVhTZWxl
Y3RlZENoaWxkcmVuQ2hhbmdlZDoKICAgICAgICAgY2FzZSBBWFRleHRDaGFuZ2VkOgogICAgICAg
ICBjYXNlIEFYVmFsdWVDaGFuZ2VkOiB7Ci0gICAgICAgICAgICBib29sIG5lZWRzVXBkYXRlID0g
YXBwZW5kSWZOb3RDb250YWluc01hdGNoaW5nKGZpbHRlcmVkTm90aWZpY2F0aW9ucywgbm90aWZp
Y2F0aW9uLCBbJm5vdGlmaWNhdGlvbl0gKGNvbnN0IHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2Jq
ZWN0PiwgQVhOb3RpZmljYXRpb24+JiBub3RlKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5v
dGUuc2Vjb25kID09IG5vdGlmaWNhdGlvbi5zZWNvbmQgJiYgbm90ZS5maXJzdC5nZXQoKSA9PSBu
b3RpZmljYXRpb24uZmlyc3QuZ2V0KCk7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAg
aWYgKG5lZWRzVXBkYXRlKQorICAgICAgICAgICAgYXV0byB1cGRhdGVkRmllbGRzID0gdXBkYXRl
ZE9iamVjdHMuZ2V0KG5vdGlmaWNhdGlvbi5maXJzdC0+b2JqZWN0SUQoKSk7CisgICAgICAgICAg
ICBpZiAoIXVwZGF0ZWRGaWVsZHMubm9kZSkgeworICAgICAgICAgICAgICAgIHVwZGF0ZWRPYmpl
Y3RzLnNldChub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIFVwZGF0ZWRGaWVsZHMgeyB1
cGRhdGVkRmllbGRzLmNoaWxkcmVuLCB0cnVlIH0pOwogICAgICAgICAgICAgICAgIHRyZWUtPnVw
ZGF0ZU5vZGUoKm5vdGlmaWNhdGlvbi5maXJzdCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgpAQCAt
MzQ0MSwxMiArMzQzMiwxMSBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJl
ZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmplYwogICAgICAgICBjYXNl
IEFYUm93Q291bnRDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYUm93Q29sbGFwc2VkOgogICAgICAg
ICBjYXNlIEFYUm93RXhwYW5kZWQ6IHsKLSAgICAgICAgICAgIGJvb2wgbmVlZHNVcGRhdGUgPSBh
cHBlbmRJZk5vdENvbnRhaW5zTWF0Y2hpbmcoZmlsdGVyZWROb3RpZmljYXRpb25zLCBub3RpZmlj
YXRpb24sIFsmbm90aWZpY2F0aW9uXSAoY29uc3Qgc3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmpl
Y3Q+LCBBWE5vdGlmaWNhdGlvbj4mIG5vdGUpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gbm90
ZS5zZWNvbmQgPT0gbm90aWZpY2F0aW9uLnNlY29uZCAmJiBub3RlLmZpcnN0LmdldCgpID09IG5v
dGlmaWNhdGlvbi5maXJzdC5nZXQoKTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBp
ZiAobmVlZHNVcGRhdGUpCisgICAgICAgICAgICBhdXRvIHVwZGF0ZWRGaWVsZHMgPSB1cGRhdGVk
T2JqZWN0cy5nZXQobm90aWZpY2F0aW9uLmZpcnN0LT5vYmplY3RJRCgpKTsKKyAgICAgICAgICAg
IGlmICghdXBkYXRlZEZpZWxkcy5jaGlsZHJlbikgeworICAgICAgICAgICAgICAgIHVwZGF0ZWRP
YmplY3RzLnNldChub3RpZmljYXRpb24uZmlyc3QtPm9iamVjdElEKCksIFVwZGF0ZWRGaWVsZHMg
eyB0cnVlLCB1cGRhdGVkRmllbGRzLm5vZGUgfSk7CiAgICAgICAgICAgICAgICAgdHJlZS0+dXBk
YXRlQ2hpbGRyZW4oKm5vdGlmaWNhdGlvbi5maXJzdCk7CisgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBkZWZhdWx0Ogo=
</data>

          </attachment>
      

    </bug>

</bugzilla>