<?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>236250</bug_id>
          
          <creation_ts>2022-02-07 11:44:18 -0800</creation_ts>
          <short_desc>Prevent removal of isolated objects from a different parent than the current parent.</short_desc>
          <delta_ts>2022-02-07 19:33:07 -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>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="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</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>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1838266</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-07 11:44:18 -0800</bug_when>
    <thetext>Prevent removal of isolated objects from a different parent than the current parent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838267</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-07 11:45:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/88585928&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838279</commentid>
    <comment_count>2</comment_count>
      <attachid>451133</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-07 11:57:52 -0800</bug_when>
    <thetext>Created attachment 451133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838298</commentid>
    <comment_count>3</comment_count>
      <attachid>451133</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-02-07 12:21:00 -0800</bug_when>
    <thetext>Comment on attachment 451133
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=451133&amp;action=review

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:499
&gt; +    if (axParentID != m_nodeMap.get(axID).parentID) {

will this cause a problem from the root node that has no parent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838300</commentid>
    <comment_count>4</comment_count>
      <attachid>451133</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-02-07 12:21:42 -0800</bug_when>
    <thetext>Comment on attachment 451133
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=451133&amp;action=review

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:500
&gt; +        AXLOG(makeString(&quot;Removing object from a different parent &quot;, axParentID.loggingString(), &quot;, actual parent &quot;, m_nodeMap.get(axID).parentID.loggingString(), &quot;, bailing out.&quot;));

Starting the log message with &quot;Removing object&quot; implies that we are actually going through with this operation. Maybe instead it could read something like:

&quot;Attempted to remove object from a different parent (ID 123) than its node map parent (ID 321). Bailing out.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838301</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-02-07 12:22:04 -0800</bug_when>
    <thetext>m_nodeMap now references an ID and a struct with the parentID and childIds

Why do we need the struct in m_nodePa if the key is already the parentID?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838322</commentid>
    <comment_count>6</comment_count>
      <attachid>451142</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-07 13:19:43 -0800</bug_when>
    <thetext>Created attachment 451142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838327</commentid>
    <comment_count>7</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-07 13:27:22 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #3)
&gt; Comment on attachment 451133 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451133&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:499
&gt; &gt; +    if (axParentID != m_nodeMap.get(axID).parentID) {
&gt; 
&gt; will this cause a problem from the root node that has no parent?

No, because in that case both axParentID and  m_nodeMap.get(objectID).parentID should be 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838328</commentid>
    <comment_count>8</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-07 13:28:49 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #4)
&gt; Comment on attachment 451133 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451133&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:500
&gt; &gt; +        AXLOG(makeString(&quot;Removing object from a different parent &quot;, axParentID.loggingString(), &quot;, actual parent &quot;, m_nodeMap.get(axID).parentID.loggingString(), &quot;, bailing out.&quot;));
&gt; 
&gt; Starting the log message with &quot;Removing object&quot; implies that we are actually
&gt; going through with this operation. Maybe instead it could read something
&gt; like:
&gt; 
&gt; &quot;Attempted to remove object from a different parent (ID 123) than its node
&gt; map parent (ID 321). Bailing out.&quot;

Done: &quot;Tried to remove...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838329</commentid>
    <comment_count>9</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-07 13:30:31 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #5)
&gt; m_nodeMap now references an ID and a struct with the parentID and childIds
&gt; 
&gt; Why do we need the struct in m_nodePa if the key is already the parentID?

The key is the object ID, the struct stores its parent ID and children IDs. Fixed up the comments a bit and the variable naming to make it more evident.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838493</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-07 19:33:03 -0800</bug_when>
    <thetext>Committed r289355 (246943@main): &lt;https://commits.webkit.org/246943@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451142.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451133</attachid>
            <date>2022-02-07 11:57:52 -0800</date>
            <delta_ts>2022-02-07 13:19:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236250-20220207145751.patch</filename>
            <type>text/plain</type>
            <size>11259</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNmMmQxMTcxN2RhZTg0
YTVjYmI3NWRmM2Y4NmIxODMzYmE3ZjIxOS4uZWVmYzIxOTk2ZWRhMTFjZjY0NzhmN2Y2Njk4NTEx
MTIyYzBlZDMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTAyLTA3ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBQcmV2ZW50IHJl
bW92YWwgb2YgaXNvbGF0ZWQgb2JqZWN0cyBmcm9tIGEgZGlmZmVyZW50IHBhcmVudCB0aGFuIHRo
ZSBjdXJyZW50IHBhcmVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzNjI1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODg1ODU5Mjg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVhPYmplY3RDYWNo
ZTo6cmVtb3ZlIG1heSBiZSBjYWxsZWQgZm9yIGFuIG9iamVjdCBhZnRlciB0aGF0IG9iamVjdCBo
YXMKKyAgICAgICAgYmVlbiByZS1wYXJlbnRlZC4gSW4gdGhvc2UgY2FzZXMsIHdlIGRvbid0IHdh
bnQgdG8gcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nCisgICAgICAgIGlzb2xhdGVkIG9iamVjdCBm
cm9tIGl0cyBuZXcgbG9jYXRpb24gaW4gdGhlIHRyZWUuCisgICAgICAgIEluIGFkZGl0aW9uLCBB
WElzb2xhdGVkVHJlZTpyZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXAgbm93IHByb3Blcmx5IHVwZGF0
ZXMKKyAgICAgICAgdGhlIGNoaWxkcmVuIElEcyBmb3IgdGhlIHBhcmVudCBvZiB0aGUgb2JqZWN0
IGJlaW5nIHJlbW92ZWQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6bm9kZUNoYW5nZUZvck9iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6cXVldWVDaGFuZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZFRyZWU6OmNvbGxlY3ROb2RlQ2hhbmdlc0ZvclN1YnRyZWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVBbmNlc3RyeUNoYW5nZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnVwZGF0ZUNoaWxkcmVuKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXApOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZTo6cmVtb3ZlU3VidHJlZUZyb21Ob2RlTWFwKToKKwogMjAyMi0wMi0w
NCAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2Fj
aGUgc29tZSBleHBlbnNpdmUgQVhJc29sYXRlZE9iamVjdCBwcm9wZXJ0aWVzIGxhemlseS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDJk
NTg5MWQxZGVmNWZkMWZmZmYwYmQ5MWQyY2RmYTk4YTUwMmE0YmEuLmE5NWQyYWJlMjNkYTYwMTY5
OTBiNmM1ZmMwOTI4NDdhMWY3NzEzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtODQxLDE3ICs4NDEsMTcgQEAgdm9pZCBBWE9iamVj
dENhY2hlOjpyZW1vdmUoQVhJRCBheElEKQogICAgIGlmICghYXhJRCkKICAgICAgICAgcmV0dXJu
OwogCisgICAgYXV0byBvYmplY3QgPSBtX29iamVjdHMudGFrZShheElEKTsKKyAgICBpZiAoIW9i
amVjdCkKKyAgICAgICAgcmV0dXJuOworCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKICAgICBpZiAobV9wYWdlSUQpIHsKICAgICAgICAgaWYgKGF1dG8gdHJlZSA9IEFY
SXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX3BhZ2VJRCkpCi0gICAgICAgICAgICB0cmVl
LT5yZW1vdmVOb2RlKGF4SUQpOworICAgICAgICAgICAgdHJlZS0+cmVtb3ZlTm9kZSgqb2JqZWN0
KTsKICAgICB9CiAjZW5kaWYKIAotICAgIGF1dG8gb2JqZWN0ID0gbV9vYmplY3RzLnRha2UoYXhJ
RCk7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybjsKLQogICAgIG9iamVjdC0+ZGV0
YWNoKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZTo6RWxlbWVudERlc3Ryb3llZCk7CiAKICAg
ICBtX2lkc0luVXNlLnJlbW92ZShheElEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAppbmRleCA1
YThmMmM5MjhhY2EwZWFjYjMzNDBjZDhmNzc4NzFkMmVlMWU3YWQ4Li41ZWNmYTBlMzg5NmZhOTQ1
YWExNWYxYjg1MDUwZWEwYzllODAwMDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgQVhJc29sYXRlZFRyZWU6Ok5vZGVDaGFuZ2UgQVhJc29sYXRlZFRyZWU6
Om5vZGVDaGFuZ2VGb3JPYmplY3QoQVhDb3JlT2JqZWN0JiBheE8KICAgICB9CiAKICAgICBpZiAo
dXBkYXRlTm9kZU1hcCkKLSAgICAgICAgbV9ub2RlTWFwLnNldChheE9iamVjdC5vYmplY3RJRCgp
LCBheE9iamVjdC5jaGlsZHJlbklEcygpKTsKKyAgICAgICAgbV9ub2RlTWFwLnNldChheE9iamVj
dC5vYmplY3RJRCgpLCBQYXJlbnRDaGlsZHJlbklEcyB7IHBhcmVudElELCBheE9iamVjdC5jaGls
ZHJlbklEcygpIH0pOwogCiAgICAgaWYgKCFwYXJlbnRJRC5pc1ZhbGlkKCkpIHsKICAgICAgICAg
TG9ja2VyIGxvY2tlciB7IG1fY2hhbmdlTG9nTG9jayB9OwpAQCAtMjMyLDE0ICsyMzIsMTQgQEAg
dm9pZCBBWElzb2xhdGVkVHJlZTo6cXVldWVDaGFuZ2UoY29uc3QgTm9kZUNoYW5nZSYgbm9kZUNo
YW5nZSkKICAgICBBWElEIHBhcmVudElEID0gbm9kZUNoYW5nZS5pc29sYXRlZE9iamVjdC0+cGFy
ZW50KCk7CiAgICAgaWYgKHBhcmVudElELmlzVmFsaWQoKSkgewogICAgICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKG1fbm9kZU1hcC5jb250YWlucyhwYXJlbnRJRCksICJub2RlIG1hcCBzaG91bGQn
dmUgY29udGFpbmVkIHBhcmVudElEOiAlcyIsIHBhcmVudElELmxvZ2dpbmdTdHJpbmcoKS51dGY4
KCkuZGF0YSgpKTsKLSAgICAgICAgYXV0byBzaWJsaW5nc0lEcyA9IG1fbm9kZU1hcC5nZXQocGFy
ZW50SUQpOworICAgICAgICBhdXRvIHNpYmxpbmdzSURzID0gbV9ub2RlTWFwLmdldChwYXJlbnRJ
RCkuY2hpbGRyZW5JRHM7CiAgICAgICAgIG1fcGVuZGluZ0NoaWxkcmVuVXBkYXRlcy5hcHBlbmQo
eyBwYXJlbnRJRCwgV1RGTW92ZShzaWJsaW5nc0lEcykgfSk7CiAgICAgfQogCiAgICAgQVhJRCBv
YmplY3RJRCA9IG5vZGVDaGFuZ2UuaXNvbGF0ZWRPYmplY3QtPm9iamVjdElEKCk7CiAgICAgQVNT
RVJUX1dJVEhfTUVTU0FHRShvYmplY3RJRCAhPSBwYXJlbnRJRCwgIm9iamVjdCBJRCB3YXMgdGhl
IHNhbWUgYXMgaXRzIHBhcmVudCBJRCAoJXMpIHdoZW4gcXVldWVpbmcgYSBub2RlIGNoYW5nZSIs
IG9iamVjdElELmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKG1fbm9kZU1hcC5jb250YWlucyhvYmplY3RJRCksICJub2RlIG1hcCBzaG91bGQn
dmUgY29udGFpbmVkIG9iamVjdElEOiAlcyIsIG9iamVjdElELmxvZ2dpbmdTdHJpbmcoKS51dGY4
KCkuZGF0YSgpKTsKLSAgICBhdXRvIGNoaWxkcmVuSURzID0gbV9ub2RlTWFwLmdldChvYmplY3RJ
RCk7CisgICAgYXV0byBjaGlsZHJlbklEcyA9IG1fbm9kZU1hcC5nZXQob2JqZWN0SUQpLmNoaWxk
cmVuSURzOwogICAgIG1fcGVuZGluZ0NoaWxkcmVuVXBkYXRlcy5hcHBlbmQoeyBvYmplY3RJRCwg
V1RGTW92ZShjaGlsZHJlbklEcykgfSk7CiB9CiAKQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIEFY
SXNvbGF0ZWRUcmVlOjpjb2xsZWN0Tm9kZUNoYW5nZXNGb3JTdWJ0cmVlKEFYQ29yZU9iamVjdCYg
YXhPYmplY3QsIEFYSUQgcAogICAgICAgICBheENoaWxkcmVuSURzLnVuY2hlY2tlZEFwcGVuZChh
eENoaWxkLT5vYmplY3RJRCgpKTsKICAgICB9CiAKLSAgICBtX25vZGVNYXAuc2V0KGF4T2JqZWN0
Lm9iamVjdElEKCksIGF4Q2hpbGRyZW5JRHMpOworICAgIG1fbm9kZU1hcC5zZXQoYXhPYmplY3Qu
b2JqZWN0SUQoKSwgUGFyZW50Q2hpbGRyZW5JRHMgeyBwYXJlbnRJRCwgYXhDaGlsZHJlbklEcyB9
KTsKIH0KIAogdm9pZCBBWElzb2xhdGVkVHJlZTo6dXBkYXRlTm9kZShBWENvcmVPYmplY3QmIGF4
T2JqZWN0KQpAQCAtMzQ5LDggKzM0OSwxMSBAQCBWZWN0b3I8QVhJc29sYXRlZFRyZWU6Ok5vZGVD
aGFuZ2U+IEFYSXNvbGF0ZWRUcmVlOjpub2RlQW5jZXN0cnlDaGFuZ2VzKEFYQ29yZU9iagogICAg
ICAgICBpZHNCZWluZ0NoYW5nZWQuYWRkKGNoYW5nZS5pc29sYXRlZE9iamVjdC0+b2JqZWN0SUQo
KSk7CiAgICAgICAgIGNoYW5nZXMuYXBwZW5kKFdURk1vdmUoY2hhbmdlKSk7CiAKLSAgICAgICAg
aWYgKGF4UGFyZW50KQotICAgICAgICAgICAgbV9ub2RlTWFwLnNldChheFBhcmVudC0+b2JqZWN0
SUQoKSwgYXhQYXJlbnQtPmNoaWxkcmVuSURzKCkpOworICAgICAgICBpZiAoYXhQYXJlbnQgJiYg
bV9ub2RlTWFwLmNvbnRhaW5zKGF4UGFyZW50LT5vYmplY3RJRCgpKSkgeworICAgICAgICAgICAg
YXV0byBpZHMgPSBtX25vZGVNYXAuZ2V0KGF4UGFyZW50LT5vYmplY3RJRCgpKTsKKyAgICAgICAg
ICAgIGlkcy5jaGlsZHJlbklEcyA9IGF4UGFyZW50LT5jaGlsZHJlbklEcygpOworICAgICAgICAg
ICAgbV9ub2RlTWFwLnNldChheFBhcmVudC0+b2JqZWN0SUQoKSwgV1RGTW92ZShpZHMpKTsKKyAg
ICAgICAgfQogCiAgICAgICAgIGF4T2JqZWN0ID0gYXhQYXJlbnQ7CiAgICAgfQpAQCAtMzgzLDcg
KzM4Niw4IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OnVwZGF0ZUNoaWxkcmVuKEFYQ29yZU9iamVj
dCYgYXhPYmplY3QpCiAgICAgLy8gaXNvbGF0ZWQgb2JqZWN0IHRvIHRoZSBjbG9zZXN0IGV4aXN0
aW5nIGFuY2VzdG9yLgogICAgIFZlY3RvcjxOb2RlQ2hhbmdlPiBjaGFuZ2VzID0gbm9kZUFuY2Vz
dHJ5Q2hhbmdlcyhheE9iamVjdCwgaWRzQmVpbmdDaGFuZ2VkKTsKIAotICAgIGF1dG8gb2xkQ2hp
bGRyZW5JRHMgPSBtX25vZGVNYXAuZ2V0KGF4T2JqZWN0Lm9iamVjdElEKCkpOworICAgIGF1dG8g
b2xkSURzID0gbV9ub2RlTWFwLmdldChheE9iamVjdC5vYmplY3RJRCgpKTsKKyAgICBhdXRvJiBv
bGRDaGlsZHJlbklEcyA9IG9sZElEcy5jaGlsZHJlbklEczsKIAogICAgIGNvbnN0IGF1dG8mIG5l
d0NoaWxkcmVuID0gYXhPYmplY3QuY2hpbGRyZW4oKTsKICAgICBhdXRvIG5ld0NoaWxkcmVuSURz
ID0gYXhPYmplY3QuY2hpbGRyZW5JRHMoZmFsc2UpOwpAQCAtNDAxLDcgKzQwNSw3IEBAIHZvaWQg
QVhJc29sYXRlZFRyZWU6OnVwZGF0ZUNoaWxkcmVuKEFYQ29yZU9iamVjdCYgYXhPYmplY3QpCiAg
ICAgICAgICAgICBjb2xsZWN0Tm9kZUNoYW5nZXNGb3JTdWJ0cmVlKCpuZXdDaGlsZHJlbltpXSwg
YXhPYmplY3Qub2JqZWN0SUQoKSwgdHJ1ZSwgY2hhbmdlcywgJmlkc0JlaW5nQ2hhbmdlZCk7CiAg
ICAgICAgIH0KICAgICB9Ci0gICAgbV9ub2RlTWFwLnNldChheE9iamVjdC5vYmplY3RJRCgpLCBu
ZXdDaGlsZHJlbklEcyk7CisgICAgbV9ub2RlTWFwLnNldChheE9iamVjdC5vYmplY3RJRCgpLCBQ
YXJlbnRDaGlsZHJlbklEcyB7IG9sZElEcy5wYXJlbnRJRCwgbmV3Q2hpbGRyZW5JRHMgfSk7CiAK
ICAgICAvLyBXaGF0IGlzIGxlZnQgaW4gb2xkQ2hpbGRyZW5JRHMgYXJlIHRoZSBJRHMgdGhhdCBh
cmUgbm8gbG9uZ2VyIGNoaWxkcmVuIG9mIGF4T2JqZWN0LgogICAgIC8vIFRodXMsIHJlbW92ZSB0
aGVtIGZyb20gbV9ub2RlTWFwIGFuZCBxdWV1ZSB0aGVtIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUg
dHJlZS4KQEAgLTQxMSw3ICs0MTUsNyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVDaGls
ZHJlbihBWENvcmVPYmplY3QmIGF4T2JqZWN0KQogICAgICAgICAvLyAgIDEuIE9iamVjdCAxMjMg
aXMgc2xhdGVkIHRvIGJlIGEgY2hpbGQgb2YgdGhpcyBvYmplY3QgKGkuZS4gaW4gbmV3Q2hpbGRy
ZW4pLCBhbmQgd2UgY29sbGVjdCBub2RlIGNoYW5nZXMgZm9yIGl0LgogICAgICAgICAvLyAgIDIu
IE9iamVjdCAxMjMgaXMgY3VycmVudGx5IGEgbWVtYmVyIG9mIGEgc3VidHJlZSBvZiBzb21lIG90
aGVyIG9iamVjdCBpbiBvbGRDaGlsZHJlbklEcy4KICAgICAgICAgLy8gICAzLiBUaHVzLCB3ZSBk
b24ndCB3YW50IHRvIGRlbGV0ZSBPYmplY3QgMTIzIGZyb20gdGhlIG5vZGVtYXAsIGluc3RlYWQg
YWxsb3dpbmcgaXQgdG8gYmUgbW92ZWQuCi0gICAgICAgIHJlbW92ZVN1YnRyZWVGcm9tTm9kZU1h
cChheElELCBpZHNCZWluZ0NoYW5nZWQpOworICAgICAgICByZW1vdmVTdWJ0cmVlRnJvbU5vZGVN
YXAoYXhJRCwgJmF4T2JqZWN0LCBpZHNCZWluZ0NoYW5nZWQpOwogICAgIH0KICAgICBxdWV1ZUNo
YW5nZXNBbmRSZW1vdmFscyhjaGFuZ2VzLCBvbGRDaGlsZHJlbklEcyk7CiB9CkBAIC00NzAsMjMg
KzQ3NCwzMyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVMb2FkaW5nUHJvZ3Jlc3MoZG91
YmxlIG5ld1Byb2dyZXNzVmFsdWUpCiAgICAgbV9wZW5kaW5nTG9hZGluZ1Byb2dyZXNzID0gbmV3
UHJvZ3Jlc3NWYWx1ZTsKIH0KIAotdm9pZCBBWElzb2xhdGVkVHJlZTo6cmVtb3ZlTm9kZShBWElE
IGF4SUQpCit2b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVOb2RlKGNvbnN0IEFYQ29yZU9iamVj
dCYgYXhPYmplY3QpCiB7CiAgICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OnJlbW92ZU5vZGUi
KTsKLSAgICBBWExPRyhtYWtlU3RyaW5nKCJBWElEICIsIGF4SUQubG9nZ2luZ1N0cmluZygpKSk7
CisgICAgQVhMT0cobWFrZVN0cmluZygib2JqZWN0SUQgIiwgYXhPYmplY3Qub2JqZWN0SUQoKS5s
b2dnaW5nU3RyaW5nKCkpKTsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgbV9u
b2RlTWFwLnJlbW92ZShheElEKTsKLSAgICBMb2NrZXIgbG9ja2VyIHsgbV9jaGFuZ2VMb2dMb2Nr
IH07Ci0gICAgbV9wZW5kaW5nTm9kZVJlbW92YWxzLmFwcGVuZChheElEKTsKKyAgICByZW1vdmVT
dWJ0cmVlRnJvbU5vZGVNYXAoYXhPYmplY3Qub2JqZWN0SUQoKSwgYXhPYmplY3QucGFyZW50T2Jq
ZWN0VW5pZ25vcmVkKCkpOworICAgIHF1ZXVlQ2hhbmdlc0FuZFJlbW92YWxzKHsgfSwgeyBheE9i
amVjdC5vYmplY3RJRCgpIH0pOwogfQogCi12b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0
cmVlRnJvbU5vZGVNYXAoQVhJRCBheElELCBjb25zdCBIYXNoU2V0PEFYSUQ+JiBpZHNUb0tlZXAp
Cit2b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXAoQVhJRCBheElE
LCBBWENvcmVPYmplY3QqIGF4UGFyZW50LCBjb25zdCBIYXNoU2V0PEFYSUQ+JiBpZHNUb0tlZXAp
CiB7Ci0gICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OnJlbW92ZVN1YnRyZWUiKTsKLSAgICBB
WExPRyhtYWtlU3RyaW5nKCJSZW1vdmluZyBzdWJ0cmVlIGZvciBheElEICIsIGF4SUQubG9nZ2lu
Z1N0cmluZygpKSk7CisgICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OnJlbW92ZVN1YnRyZWVG
cm9tTm9kZU1hcCIpOworICAgIEFYTE9HKG1ha2VTdHJpbmcoIlJlbW92aW5nIHN1YnRyZWUgZm9y
IG9iamVjdElEICIsIGF4SUQubG9nZ2luZ1N0cmluZygpKSk7CiAgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKIAorICAgIGlmICghbV9ub2RlTWFwLmNvbnRhaW5zKGF4SUQpKSB7CisgICAgICAg
IEFYTE9HKCJSZW1vdmluZyBBWElEIHRoYXQgaXMgbm8gbG9uZ2VyIGluIG1fbm9kZU1hcC4iKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFYSUQgYXhQYXJlbnRJRCA9IGF4UGFyZW50
ID8gYXhQYXJlbnQtPm9iamVjdElEKCkgOiBBWElEKCk7CisgICAgaWYgKGF4UGFyZW50SUQgIT0g
bV9ub2RlTWFwLmdldChheElEKS5wYXJlbnRJRCkgeworICAgICAgICBBWExPRyhtYWtlU3RyaW5n
KCJSZW1vdmluZyBvYmplY3QgZnJvbSBhIGRpZmZlcmVudCBwYXJlbnQgIiwgYXhQYXJlbnRJRC5s
b2dnaW5nU3RyaW5nKCksICIsIGFjdHVhbCBwYXJlbnQgIiwgbV9ub2RlTWFwLmdldChheElEKS5w
YXJlbnRJRC5sb2dnaW5nU3RyaW5nKCksICIsIGJhaWxpbmcgb3V0LiIpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIFZlY3RvcjxBWElEPiByZW1vdmFscyA9IHsgYXhJRCB9OwogICAg
IHdoaWxlIChyZW1vdmFscy5zaXplKCkpIHsKICAgICAgICAgQVhJRCBheElEID0gcmVtb3ZhbHMu
dGFrZUxhc3QoKTsKQEAgLTQ5NSwxMCArNTA5LDE3IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OnJl
bW92ZVN1YnRyZWVGcm9tTm9kZU1hcChBWElEIGF4SUQsIGNvbnN0IEhhc2hTZXQ8QVhJRD4mIGlk
CiAKICAgICAgICAgYXV0byBpdCA9IG1fbm9kZU1hcC5maW5kKGF4SUQpOwogICAgICAgICBpZiAo
aXQgIT0gbV9ub2RlTWFwLmVuZCgpKSB7Ci0gICAgICAgICAgICByZW1vdmFscy5hcHBlbmRWZWN0
b3IoaXQtPnZhbHVlKTsKKyAgICAgICAgICAgIHJlbW92YWxzLmFwcGVuZFZlY3RvcihpdC0+dmFs
dWUuY2hpbGRyZW5JRHMpOwogICAgICAgICAgICAgbV9ub2RlTWFwLnJlbW92ZShheElEKTsKICAg
ICAgICAgfQogICAgIH0KKworICAgIC8vIFVwZGF0ZSB0aGUgY2hpbGRyZW5JRHMgb2YgdGhlIHBh
cmVudCBzaW5jZSBvbmUgb2YgaXRzIGNoaWxkcmVuIGhhcyBiZWVuIHJlbW92ZWQuCisgICAgaWYg
KGF4UGFyZW50KSB7CisgICAgICAgIGF1dG8gaWRzID0gbV9ub2RlTWFwLmdldChheFBhcmVudElE
KTsKKyAgICAgICAgaWRzLmNoaWxkcmVuSURzID0gYXhQYXJlbnQtPmNoaWxkcmVuSURzKCk7Cisg
ICAgICAgIG1fbm9kZU1hcC5zZXQoYXhQYXJlbnRJRCwgV1RGTW92ZShpZHMpKTsKKyAgICB9CiB9
CiAKIHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0
ZWRUcmVlLmgKaW5kZXggMDU0NjA0ZmYwMzdhZTJmN2Q4ZWExNWRlN2ZmNTUwN2NlMzZiMTk2Yi4u
NTA3ODZiNjI0NzU0ZGNiYTRlZjQxNzdhN2Q4Y2E1MjhhYTIyMGY2OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVk
VHJlZS5oCkBAIC0zNTksMTAgKzM1OSwxMCBAQCBwdWJsaWM6CiAgICAgZG91YmxlIGxvYWRpbmdQ
cm9ncmVzcygpIHsgcmV0dXJuIG1fbG9hZGluZ1Byb2dyZXNzOyB9CiAgICAgdm9pZCB1cGRhdGVM
b2FkaW5nUHJvZ3Jlc3MoZG91YmxlKTsKIAotICAgIC8vIFJlbW92ZXMgdGhlIGdpdmVuIG5vZGUg
bGVhdmluZyBhbGwgZGVzY2VuZGFudHMgYWxvbmUuCi0gICAgdm9pZCByZW1vdmVOb2RlKEFYSUQp
OwotICAgIC8vIFJlbW92ZXMgdGhlIGdpdmVuIG5vZGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMu
Ci0gICAgdm9pZCByZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXAoQVhJRCwgY29uc3QgSGFzaFNldDxB
WElEPiYgPSB7IH0pOworICAgIC8vIFJlbW92ZXMgdGhlIGNvcnJlc3BvbmRpbmcgaXNvbGF0ZWQg
b2JqZWN0IGFuZCBhbGwgZGVzY2VuZGFudHMgZnJvbSB0aGUgbV9ub2RlTWFwIGFuZCBxdWV1ZXMg
dGhlaXIgcmVtb3ZhbCBmcm9tIHRoZSB0cmVlLgorICAgIHZvaWQgcmVtb3ZlTm9kZShjb25zdCBB
WENvcmVPYmplY3QmKTsKKyAgICAvLyBSZW1vdmVzIHRoZSBnaXZlbiBub2RlIGFuZCBhbGwgaXRz
IGRlc2NlbmRhbnRzIGZyb20gbV9ub2RlTWFwLgorICAgIHZvaWQgcmVtb3ZlU3VidHJlZUZyb21O
b2RlTWFwKEFYSUQgYXhJRCwgQVhDb3JlT2JqZWN0KiwgY29uc3QgSGFzaFNldDxBWElEPiYgPSB7
IH0pOwogCiAgICAgLy8gQm90aCBzZXRSb290Tm9kZUlEIGFuZCBzZXRGb2N1c2VkTm9kZUlEIGFy
ZSBjYWxsZWQgZHVyaW5nIHRoZSBnZW5lcmF0aW9uCiAgICAgLy8gb2YgdGhlIElzb2xhdGVkVHJl
ZS4KQEAgLTM5NSw4ICszOTUsMTQgQEAgcHJpdmF0ZToKICAgICBBWE9iamVjdENhY2hlKiBtX2F4
T2JqZWN0Q2FjaGUgeyBudWxscHRyIH07CiAgICAgYm9vbCBtX3VzZWRPbkFYVGhyZWFkIHsgdHJ1
ZSB9OwogCi0gICAgLy8gT25seSBhY2Nlc3NlZCBvbiBtYWluIHRocmVhZC4KLSAgICBIYXNoTWFw
PEFYSUQsIFZlY3RvcjxBWElEPj4gbV9ub2RlTWFwOworICAgIC8vIEEgcmVwcmVzZW50YXRpb24g
b2YgdGhlIHBhcmVudC1jaGlsZCByZWxhdGlvbnNoaXBzIGJldHdlZW4gbm9kZXMgaW4gdGhlIHRy
ZWUuCisgICAgc3RydWN0IFBhcmVudENoaWxkcmVuSURzIHsKKyAgICAgICAgQVhJRCBwYXJlbnRJ
RDsKKyAgICAgICAgVmVjdG9yPEFYSUQ+IGNoaWxkcmVuSURzOworICAgIH07CisgICAgLy8gT25s
eSBhY2Nlc3NlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgSGFzaE1hcDxBWElELCBQYXJlbnRD
aGlsZHJlbklEcz4gbV9ub2RlTWFwOworCiAgICAgLy8gT25seSBhY2Nlc3NlZCBvbiBBWCB0aHJl
YWQgcmVxdWVzdGluZyBkYXRhLgogICAgIEhhc2hNYXA8QVhJRCwgUmVmPEFYSXNvbGF0ZWRPYmpl
Y3Q+PiBtX3JlYWRlclRocmVhZE5vZGVNYXA7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451142</attachid>
            <date>2022-02-07 13:19:43 -0800</date>
            <delta_ts>2022-02-07 19:33:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236250-20220207161941.patch</filename>
            <type>text/plain</type>
            <size>11587</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNmMmQxMTcxN2RhZTg0
YTVjYmI3NWRmM2Y4NmIxODMzYmE3ZjIxOS4uZWVmYzIxOTk2ZWRhMTFjZjY0NzhmN2Y2Njk4NTEx
MTIyYzBlZDMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTAyLTA3ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBQcmV2ZW50IHJl
bW92YWwgb2YgaXNvbGF0ZWQgb2JqZWN0cyBmcm9tIGEgZGlmZmVyZW50IHBhcmVudCB0aGFuIHRo
ZSBjdXJyZW50IHBhcmVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzNjI1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODg1ODU5Mjg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVhPYmplY3RDYWNo
ZTo6cmVtb3ZlIG1heSBiZSBjYWxsZWQgZm9yIGFuIG9iamVjdCBhZnRlciB0aGF0IG9iamVjdCBo
YXMKKyAgICAgICAgYmVlbiByZS1wYXJlbnRlZC4gSW4gdGhvc2UgY2FzZXMsIHdlIGRvbid0IHdh
bnQgdG8gcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nCisgICAgICAgIGlzb2xhdGVkIG9iamVjdCBm
cm9tIGl0cyBuZXcgbG9jYXRpb24gaW4gdGhlIHRyZWUuCisgICAgICAgIEluIGFkZGl0aW9uLCBB
WElzb2xhdGVkVHJlZTpyZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXAgbm93IHByb3Blcmx5IHVwZGF0
ZXMKKyAgICAgICAgdGhlIGNoaWxkcmVuIElEcyBmb3IgdGhlIHBhcmVudCBvZiB0aGUgb2JqZWN0
IGJlaW5nIHJlbW92ZWQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cmVtb3ZlKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6bm9kZUNoYW5nZUZvck9iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6cXVldWVDaGFuZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhJc29sYXRlZFRyZWU6OmNvbGxlY3ROb2RlQ2hhbmdlc0ZvclN1YnRyZWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6Om5vZGVBbmNlc3RyeUNoYW5nZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnVwZGF0ZUNoaWxkcmVuKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFY
SXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXApOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpBWElzb2xhdGVkVHJlZTo6cmVtb3ZlU3VidHJlZUZyb21Ob2RlTWFwKToKKwogMjAyMi0wMi0w
NCAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2Fj
aGUgc29tZSBleHBlbnNpdmUgQVhJc29sYXRlZE9iamVjdCBwcm9wZXJ0aWVzIGxhemlseS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDJk
NTg5MWQxZGVmNWZkMWZmZmYwYmQ5MWQyY2RmYTk4YTUwMmE0YmEuLmE5NWQyYWJlMjNkYTYwMTY5
OTBiNmM1ZmMwOTI4NDdhMWY3NzEzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtODQxLDE3ICs4NDEsMTcgQEAgdm9pZCBBWE9iamVj
dENhY2hlOjpyZW1vdmUoQVhJRCBheElEKQogICAgIGlmICghYXhJRCkKICAgICAgICAgcmV0dXJu
OwogCisgICAgYXV0byBvYmplY3QgPSBtX29iamVjdHMudGFrZShheElEKTsKKyAgICBpZiAoIW9i
amVjdCkKKyAgICAgICAgcmV0dXJuOworCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkKICAgICBpZiAobV9wYWdlSUQpIHsKICAgICAgICAgaWYgKGF1dG8gdHJlZSA9IEFY
SXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX3BhZ2VJRCkpCi0gICAgICAgICAgICB0cmVl
LT5yZW1vdmVOb2RlKGF4SUQpOworICAgICAgICAgICAgdHJlZS0+cmVtb3ZlTm9kZSgqb2JqZWN0
KTsKICAgICB9CiAjZW5kaWYKIAotICAgIGF1dG8gb2JqZWN0ID0gbV9vYmplY3RzLnRha2UoYXhJ
RCk7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybjsKLQogICAgIG9iamVjdC0+ZGV0
YWNoKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZTo6RWxlbWVudERlc3Ryb3llZCk7CiAKICAg
ICBtX2lkc0luVXNlLnJlbW92ZShheElEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAppbmRleCA1
YThmMmM5MjhhY2EwZWFjYjMzNDBjZDhmNzc4NzFkMmVlMWU3YWQ4Li40YzA4OWEwZWFmYzZjZDgx
ZTFiMzk4OWFlYTlkNWJlNDI1ODlmNmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCkBAIC0y
MTIsNyArMjEyLDcgQEAgQVhJc29sYXRlZFRyZWU6Ok5vZGVDaGFuZ2UgQVhJc29sYXRlZFRyZWU6
Om5vZGVDaGFuZ2VGb3JPYmplY3QoQVhDb3JlT2JqZWN0JiBheE8KICAgICB9CiAKICAgICBpZiAo
dXBkYXRlTm9kZU1hcCkKLSAgICAgICAgbV9ub2RlTWFwLnNldChheE9iamVjdC5vYmplY3RJRCgp
LCBheE9iamVjdC5jaGlsZHJlbklEcygpKTsKKyAgICAgICAgbV9ub2RlTWFwLnNldChheE9iamVj
dC5vYmplY3RJRCgpLCBQYXJlbnRDaGlsZHJlbklEcyB7IHBhcmVudElELCBheE9iamVjdC5jaGls
ZHJlbklEcygpIH0pOwogCiAgICAgaWYgKCFwYXJlbnRJRC5pc1ZhbGlkKCkpIHsKICAgICAgICAg
TG9ja2VyIGxvY2tlciB7IG1fY2hhbmdlTG9nTG9jayB9OwpAQCAtMjMyLDE0ICsyMzIsMTQgQEAg
dm9pZCBBWElzb2xhdGVkVHJlZTo6cXVldWVDaGFuZ2UoY29uc3QgTm9kZUNoYW5nZSYgbm9kZUNo
YW5nZSkKICAgICBBWElEIHBhcmVudElEID0gbm9kZUNoYW5nZS5pc29sYXRlZE9iamVjdC0+cGFy
ZW50KCk7CiAgICAgaWYgKHBhcmVudElELmlzVmFsaWQoKSkgewogICAgICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKG1fbm9kZU1hcC5jb250YWlucyhwYXJlbnRJRCksICJub2RlIG1hcCBzaG91bGQn
dmUgY29udGFpbmVkIHBhcmVudElEOiAlcyIsIHBhcmVudElELmxvZ2dpbmdTdHJpbmcoKS51dGY4
KCkuZGF0YSgpKTsKLSAgICAgICAgYXV0byBzaWJsaW5nc0lEcyA9IG1fbm9kZU1hcC5nZXQocGFy
ZW50SUQpOworICAgICAgICBhdXRvIHNpYmxpbmdzSURzID0gbV9ub2RlTWFwLmdldChwYXJlbnRJ
RCkuY2hpbGRyZW5JRHM7CiAgICAgICAgIG1fcGVuZGluZ0NoaWxkcmVuVXBkYXRlcy5hcHBlbmQo
eyBwYXJlbnRJRCwgV1RGTW92ZShzaWJsaW5nc0lEcykgfSk7CiAgICAgfQogCiAgICAgQVhJRCBv
YmplY3RJRCA9IG5vZGVDaGFuZ2UuaXNvbGF0ZWRPYmplY3QtPm9iamVjdElEKCk7CiAgICAgQVNT
RVJUX1dJVEhfTUVTU0FHRShvYmplY3RJRCAhPSBwYXJlbnRJRCwgIm9iamVjdCBJRCB3YXMgdGhl
IHNhbWUgYXMgaXRzIHBhcmVudCBJRCAoJXMpIHdoZW4gcXVldWVpbmcgYSBub2RlIGNoYW5nZSIs
IG9iamVjdElELmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKG1fbm9kZU1hcC5jb250YWlucyhvYmplY3RJRCksICJub2RlIG1hcCBzaG91bGQn
dmUgY29udGFpbmVkIG9iamVjdElEOiAlcyIsIG9iamVjdElELmxvZ2dpbmdTdHJpbmcoKS51dGY4
KCkuZGF0YSgpKTsKLSAgICBhdXRvIGNoaWxkcmVuSURzID0gbV9ub2RlTWFwLmdldChvYmplY3RJ
RCk7CisgICAgYXV0byBjaGlsZHJlbklEcyA9IG1fbm9kZU1hcC5nZXQob2JqZWN0SUQpLmNoaWxk
cmVuSURzOwogICAgIG1fcGVuZGluZ0NoaWxkcmVuVXBkYXRlcy5hcHBlbmQoeyBvYmplY3RJRCwg
V1RGTW92ZShjaGlsZHJlbklEcykgfSk7CiB9CiAKQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIEFY
SXNvbGF0ZWRUcmVlOjpjb2xsZWN0Tm9kZUNoYW5nZXNGb3JTdWJ0cmVlKEFYQ29yZU9iamVjdCYg
YXhPYmplY3QsIEFYSUQgcAogICAgICAgICBheENoaWxkcmVuSURzLnVuY2hlY2tlZEFwcGVuZChh
eENoaWxkLT5vYmplY3RJRCgpKTsKICAgICB9CiAKLSAgICBtX25vZGVNYXAuc2V0KGF4T2JqZWN0
Lm9iamVjdElEKCksIGF4Q2hpbGRyZW5JRHMpOworICAgIG1fbm9kZU1hcC5zZXQoYXhPYmplY3Qu
b2JqZWN0SUQoKSwgUGFyZW50Q2hpbGRyZW5JRHMgeyBwYXJlbnRJRCwgYXhDaGlsZHJlbklEcyB9
KTsKIH0KIAogdm9pZCBBWElzb2xhdGVkVHJlZTo6dXBkYXRlTm9kZShBWENvcmVPYmplY3QmIGF4
T2JqZWN0KQpAQCAtMzQ5LDggKzM0OSwxMSBAQCBWZWN0b3I8QVhJc29sYXRlZFRyZWU6Ok5vZGVD
aGFuZ2U+IEFYSXNvbGF0ZWRUcmVlOjpub2RlQW5jZXN0cnlDaGFuZ2VzKEFYQ29yZU9iagogICAg
ICAgICBpZHNCZWluZ0NoYW5nZWQuYWRkKGNoYW5nZS5pc29sYXRlZE9iamVjdC0+b2JqZWN0SUQo
KSk7CiAgICAgICAgIGNoYW5nZXMuYXBwZW5kKFdURk1vdmUoY2hhbmdlKSk7CiAKLSAgICAgICAg
aWYgKGF4UGFyZW50KQotICAgICAgICAgICAgbV9ub2RlTWFwLnNldChheFBhcmVudC0+b2JqZWN0
SUQoKSwgYXhQYXJlbnQtPmNoaWxkcmVuSURzKCkpOworICAgICAgICBpZiAoYXhQYXJlbnQgJiYg
bV9ub2RlTWFwLmNvbnRhaW5zKGF4UGFyZW50LT5vYmplY3RJRCgpKSkgeworICAgICAgICAgICAg
YXV0byBpZHMgPSBtX25vZGVNYXAuZ2V0KGF4UGFyZW50LT5vYmplY3RJRCgpKTsKKyAgICAgICAg
ICAgIGlkcy5jaGlsZHJlbklEcyA9IGF4UGFyZW50LT5jaGlsZHJlbklEcygpOworICAgICAgICAg
ICAgbV9ub2RlTWFwLnNldChheFBhcmVudC0+b2JqZWN0SUQoKSwgV1RGTW92ZShpZHMpKTsKKyAg
ICAgICAgfQogCiAgICAgICAgIGF4T2JqZWN0ID0gYXhQYXJlbnQ7CiAgICAgfQpAQCAtMzgzLDcg
KzM4Niw4IEBAIHZvaWQgQVhJc29sYXRlZFRyZWU6OnVwZGF0ZUNoaWxkcmVuKEFYQ29yZU9iamVj
dCYgYXhPYmplY3QpCiAgICAgLy8gaXNvbGF0ZWQgb2JqZWN0IHRvIHRoZSBjbG9zZXN0IGV4aXN0
aW5nIGFuY2VzdG9yLgogICAgIFZlY3RvcjxOb2RlQ2hhbmdlPiBjaGFuZ2VzID0gbm9kZUFuY2Vz
dHJ5Q2hhbmdlcyhheE9iamVjdCwgaWRzQmVpbmdDaGFuZ2VkKTsKIAotICAgIGF1dG8gb2xkQ2hp
bGRyZW5JRHMgPSBtX25vZGVNYXAuZ2V0KGF4T2JqZWN0Lm9iamVjdElEKCkpOworICAgIGF1dG8g
b2xkSURzID0gbV9ub2RlTWFwLmdldChheE9iamVjdC5vYmplY3RJRCgpKTsKKyAgICBhdXRvJiBv
bGRDaGlsZHJlbklEcyA9IG9sZElEcy5jaGlsZHJlbklEczsKIAogICAgIGNvbnN0IGF1dG8mIG5l
d0NoaWxkcmVuID0gYXhPYmplY3QuY2hpbGRyZW4oKTsKICAgICBhdXRvIG5ld0NoaWxkcmVuSURz
ID0gYXhPYmplY3QuY2hpbGRyZW5JRHMoZmFsc2UpOwpAQCAtNDAxLDcgKzQwNSw3IEBAIHZvaWQg
QVhJc29sYXRlZFRyZWU6OnVwZGF0ZUNoaWxkcmVuKEFYQ29yZU9iamVjdCYgYXhPYmplY3QpCiAg
ICAgICAgICAgICBjb2xsZWN0Tm9kZUNoYW5nZXNGb3JTdWJ0cmVlKCpuZXdDaGlsZHJlbltpXSwg
YXhPYmplY3Qub2JqZWN0SUQoKSwgdHJ1ZSwgY2hhbmdlcywgJmlkc0JlaW5nQ2hhbmdlZCk7CiAg
ICAgICAgIH0KICAgICB9Ci0gICAgbV9ub2RlTWFwLnNldChheE9iamVjdC5vYmplY3RJRCgpLCBu
ZXdDaGlsZHJlbklEcyk7CisgICAgbV9ub2RlTWFwLnNldChheE9iamVjdC5vYmplY3RJRCgpLCBQ
YXJlbnRDaGlsZHJlbklEcyB7IG9sZElEcy5wYXJlbnRJRCwgbmV3Q2hpbGRyZW5JRHMgfSk7CiAK
ICAgICAvLyBXaGF0IGlzIGxlZnQgaW4gb2xkQ2hpbGRyZW5JRHMgYXJlIHRoZSBJRHMgdGhhdCBh
cmUgbm8gbG9uZ2VyIGNoaWxkcmVuIG9mIGF4T2JqZWN0LgogICAgIC8vIFRodXMsIHJlbW92ZSB0
aGVtIGZyb20gbV9ub2RlTWFwIGFuZCBxdWV1ZSB0aGVtIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUg
dHJlZS4KQEAgLTQxMSw3ICs0MTUsNyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVDaGls
ZHJlbihBWENvcmVPYmplY3QmIGF4T2JqZWN0KQogICAgICAgICAvLyAgIDEuIE9iamVjdCAxMjMg
aXMgc2xhdGVkIHRvIGJlIGEgY2hpbGQgb2YgdGhpcyBvYmplY3QgKGkuZS4gaW4gbmV3Q2hpbGRy
ZW4pLCBhbmQgd2UgY29sbGVjdCBub2RlIGNoYW5nZXMgZm9yIGl0LgogICAgICAgICAvLyAgIDIu
IE9iamVjdCAxMjMgaXMgY3VycmVudGx5IGEgbWVtYmVyIG9mIGEgc3VidHJlZSBvZiBzb21lIG90
aGVyIG9iamVjdCBpbiBvbGRDaGlsZHJlbklEcy4KICAgICAgICAgLy8gICAzLiBUaHVzLCB3ZSBk
b24ndCB3YW50IHRvIGRlbGV0ZSBPYmplY3QgMTIzIGZyb20gdGhlIG5vZGVtYXAsIGluc3RlYWQg
YWxsb3dpbmcgaXQgdG8gYmUgbW92ZWQuCi0gICAgICAgIHJlbW92ZVN1YnRyZWVGcm9tTm9kZU1h
cChheElELCBpZHNCZWluZ0NoYW5nZWQpOworICAgICAgICByZW1vdmVTdWJ0cmVlRnJvbU5vZGVN
YXAoYXhJRCwgJmF4T2JqZWN0LCBpZHNCZWluZ0NoYW5nZWQpOwogICAgIH0KICAgICBxdWV1ZUNo
YW5nZXNBbmRSZW1vdmFscyhjaGFuZ2VzLCBvbGRDaGlsZHJlbklEcyk7CiB9CkBAIC00NzAsMjQg
KzQ3NCwzNCBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVMb2FkaW5nUHJvZ3Jlc3MoZG91
YmxlIG5ld1Byb2dyZXNzVmFsdWUpCiAgICAgbV9wZW5kaW5nTG9hZGluZ1Byb2dyZXNzID0gbmV3
UHJvZ3Jlc3NWYWx1ZTsKIH0KIAotdm9pZCBBWElzb2xhdGVkVHJlZTo6cmVtb3ZlTm9kZShBWElE
IGF4SUQpCit2b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVOb2RlKGNvbnN0IEFYQ29yZU9iamVj
dCYgYXhPYmplY3QpCiB7CiAgICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OnJlbW92ZU5vZGUi
KTsKLSAgICBBWExPRyhtYWtlU3RyaW5nKCJBWElEICIsIGF4SUQubG9nZ2luZ1N0cmluZygpKSk7
CisgICAgQVhMT0cobWFrZVN0cmluZygib2JqZWN0SUQgIiwgYXhPYmplY3Qub2JqZWN0SUQoKS5s
b2dnaW5nU3RyaW5nKCkpKTsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgbV9u
b2RlTWFwLnJlbW92ZShheElEKTsKLSAgICBMb2NrZXIgbG9ja2VyIHsgbV9jaGFuZ2VMb2dMb2Nr
IH07Ci0gICAgbV9wZW5kaW5nTm9kZVJlbW92YWxzLmFwcGVuZChheElEKTsKKyAgICByZW1vdmVT
dWJ0cmVlRnJvbU5vZGVNYXAoYXhPYmplY3Qub2JqZWN0SUQoKSwgYXhPYmplY3QucGFyZW50T2Jq
ZWN0VW5pZ25vcmVkKCkpOworICAgIHF1ZXVlQ2hhbmdlc0FuZFJlbW92YWxzKHsgfSwgeyBheE9i
amVjdC5vYmplY3RJRCgpIH0pOwogfQogCi12b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0
cmVlRnJvbU5vZGVNYXAoQVhJRCBheElELCBjb25zdCBIYXNoU2V0PEFYSUQ+JiBpZHNUb0tlZXAp
Cit2b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXAoQVhJRCBvYmpl
Y3RJRCwgQVhDb3JlT2JqZWN0KiBheFBhcmVudCwgY29uc3QgSGFzaFNldDxBWElEPiYgaWRzVG9L
ZWVwKQogewotICAgIEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0cmVlIik7Ci0g
ICAgQVhMT0cobWFrZVN0cmluZygiUmVtb3Zpbmcgc3VidHJlZSBmb3IgYXhJRCAiLCBheElELmxv
Z2dpbmdTdHJpbmcoKSkpOworICAgIEFYVFJBQ0UoIkFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVTdWJ0
cmVlRnJvbU5vZGVNYXAiKTsKKyAgICBBWExPRyhtYWtlU3RyaW5nKCJSZW1vdmluZyBzdWJ0cmVl
IGZvciBvYmplY3RJRCAiLCBvYmplY3RJRC5sb2dnaW5nU3RyaW5nKCkpKTsKICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOwogCi0gICAgVmVjdG9yPEFYSUQ+IHJlbW92YWxzID0geyBheElEIH07
CisgICAgaWYgKCFtX25vZGVNYXAuY29udGFpbnMob2JqZWN0SUQpKSB7CisgICAgICAgIEFYTE9H
KCJUcmllZCB0byByZW1vdmUgQVhJRCB0aGF0IGlzIG5vIGxvbmdlciBpbiBtX25vZGVNYXAuIik7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBWElEIGF4UGFyZW50SUQgPSBheFBhcmVu
dCA/IGF4UGFyZW50LT5vYmplY3RJRCgpIDogQVhJRCgpOworICAgIGlmIChheFBhcmVudElEICE9
IG1fbm9kZU1hcC5nZXQob2JqZWN0SUQpLnBhcmVudElEKSB7CisgICAgICAgIEFYTE9HKG1ha2VT
dHJpbmcoIlRyaWVkIHRvIHJlbW92ZSBvYmplY3QgZnJvbSBhIGRpZmZlcmVudCBwYXJlbnQgIiwg
YXhQYXJlbnRJRC5sb2dnaW5nU3RyaW5nKCksICIsIGFjdHVhbCBwYXJlbnQgIiwgbV9ub2RlTWFw
LmdldChvYmplY3RJRCkucGFyZW50SUQubG9nZ2luZ1N0cmluZygpLCAiLCBiYWlsaW5nIG91dC4i
KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBWZWN0b3I8QVhJRD4gcmVtb3ZhbHMg
PSB7IG9iamVjdElEIH07CiAgICAgd2hpbGUgKHJlbW92YWxzLnNpemUoKSkgewogICAgICAgICBB
WElEIGF4SUQgPSByZW1vdmFscy50YWtlTGFzdCgpOwogICAgICAgICBpZiAoIWF4SUQuaXNWYWxp
ZCgpIHx8IGlkc1RvS2VlcC5jb250YWlucyhheElEKSkKQEAgLTQ5NSwxMCArNTA5LDE3IEBAIHZv
aWQgQVhJc29sYXRlZFRyZWU6OnJlbW92ZVN1YnRyZWVGcm9tTm9kZU1hcChBWElEIGF4SUQsIGNv
bnN0IEhhc2hTZXQ8QVhJRD4mIGlkCiAKICAgICAgICAgYXV0byBpdCA9IG1fbm9kZU1hcC5maW5k
KGF4SUQpOwogICAgICAgICBpZiAoaXQgIT0gbV9ub2RlTWFwLmVuZCgpKSB7Ci0gICAgICAgICAg
ICByZW1vdmFscy5hcHBlbmRWZWN0b3IoaXQtPnZhbHVlKTsKKyAgICAgICAgICAgIHJlbW92YWxz
LmFwcGVuZFZlY3RvcihpdC0+dmFsdWUuY2hpbGRyZW5JRHMpOwogICAgICAgICAgICAgbV9ub2Rl
TWFwLnJlbW92ZShheElEKTsKICAgICAgICAgfQogICAgIH0KKworICAgIC8vIFVwZGF0ZSB0aGUg
Y2hpbGRyZW5JRHMgb2YgdGhlIHBhcmVudCBzaW5jZSBvbmUgb2YgaXRzIGNoaWxkcmVuIGhhcyBi
ZWVuIHJlbW92ZWQuCisgICAgaWYgKGF4UGFyZW50KSB7CisgICAgICAgIGF1dG8gaWRzID0gbV9u
b2RlTWFwLmdldChheFBhcmVudElEKTsKKyAgICAgICAgaWRzLmNoaWxkcmVuSURzID0gYXhQYXJl
bnQtPmNoaWxkcmVuSURzKCk7CisgICAgICAgIG1fbm9kZU1hcC5zZXQoYXhQYXJlbnRJRCwgV1RG
TW92ZShpZHMpKTsKKyAgICB9CiB9CiAKIHZvaWQgQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGlu
Z0NoYW5nZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKaW5kZXggMDU0NjA0ZmYwMzdhZTJmN2Q4ZWEx
NWRlN2ZmNTUwN2NlMzZiMTk2Yi4uNmNkZmRkM2MyYTVkNmEzOWQ3MDMwYmNjODY2NjIxNTg4N2Ex
ODAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCkBAIC0zNTksMTAgKzM1OSwxMCBAQCBwdWJsaWM6
CiAgICAgZG91YmxlIGxvYWRpbmdQcm9ncmVzcygpIHsgcmV0dXJuIG1fbG9hZGluZ1Byb2dyZXNz
OyB9CiAgICAgdm9pZCB1cGRhdGVMb2FkaW5nUHJvZ3Jlc3MoZG91YmxlKTsKIAotICAgIC8vIFJl
bW92ZXMgdGhlIGdpdmVuIG5vZGUgbGVhdmluZyBhbGwgZGVzY2VuZGFudHMgYWxvbmUuCi0gICAg
dm9pZCByZW1vdmVOb2RlKEFYSUQpOwotICAgIC8vIFJlbW92ZXMgdGhlIGdpdmVuIG5vZGUgYW5k
IGFsbCBpdHMgZGVzY2VuZGFudHMuCi0gICAgdm9pZCByZW1vdmVTdWJ0cmVlRnJvbU5vZGVNYXAo
QVhJRCwgY29uc3QgSGFzaFNldDxBWElEPiYgPSB7IH0pOworICAgIC8vIFJlbW92ZXMgdGhlIGNv
cnJlc3BvbmRpbmcgaXNvbGF0ZWQgb2JqZWN0IGFuZCBhbGwgZGVzY2VuZGFudHMgZnJvbSB0aGUg
bV9ub2RlTWFwIGFuZCBxdWV1ZXMgdGhlaXIgcmVtb3ZhbCBmcm9tIHRoZSB0cmVlLgorICAgIHZv
aWQgcmVtb3ZlTm9kZShjb25zdCBBWENvcmVPYmplY3QmKTsKKyAgICAvLyBSZW1vdmVzIHRoZSBn
aXZlbiBub2RlIGFuZCBhbGwgaXRzIGRlc2NlbmRhbnRzIGZyb20gbV9ub2RlTWFwLgorICAgIHZv
aWQgcmVtb3ZlU3VidHJlZUZyb21Ob2RlTWFwKEFYSUQgYXhJRCwgQVhDb3JlT2JqZWN0KiwgY29u
c3QgSGFzaFNldDxBWElEPiYgPSB7IH0pOwogCiAgICAgLy8gQm90aCBzZXRSb290Tm9kZUlEIGFu
ZCBzZXRGb2N1c2VkTm9kZUlEIGFyZSBjYWxsZWQgZHVyaW5nIHRoZSBnZW5lcmF0aW9uCiAgICAg
Ly8gb2YgdGhlIElzb2xhdGVkVHJlZS4KQEAgLTM5NSw4ICszOTUsMTcgQEAgcHJpdmF0ZToKICAg
ICBBWE9iamVjdENhY2hlKiBtX2F4T2JqZWN0Q2FjaGUgeyBudWxscHRyIH07CiAgICAgYm9vbCBt
X3VzZWRPbkFYVGhyZWFkIHsgdHJ1ZSB9OwogCi0gICAgLy8gT25seSBhY2Nlc3NlZCBvbiBtYWlu
IHRocmVhZC4KLSAgICBIYXNoTWFwPEFYSUQsIFZlY3RvcjxBWElEPj4gbV9ub2RlTWFwOworICAg
IC8vIFN0b3JlcyB0aGUgcGFyZW50IElEIGFuZCBjaGlsZHJlbiBJRFMgZm9yIGEgZ2l2ZW4gSXNv
bGF0ZWRPYmplY3QuCisgICAgc3RydWN0IFBhcmVudENoaWxkcmVuSURzIHsKKyAgICAgICAgQVhJ
RCBwYXJlbnRJRDsKKyAgICAgICAgVmVjdG9yPEFYSUQ+IGNoaWxkcmVuSURzOworICAgIH07Cisg
ICAgLy8gT25seSBhY2Nlc3NlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgLy8gQSByZXByZXNl
bnRhdGlvbiBvZiB0aGUgdHJlZSdzIHBhcmVudC1jaGlsZCByZWxhdGlvbnNoaXBzLiBFYWNoCisg
ICAgLy8gSXNvbGF0ZWRPYmplY3QgbXVzdCBoYXZlIG9uZSBhbmQgb25seSBvbmUgZW50cnkgaW4g
dGhpcyBtYXAsIHRoYXQgbWFwcworICAgIC8vIGl0cyBPYmplY3RJRCB0byBpdHMgUGFyZW50Q2hp
bGRyZW5JRHMgc3RydWN0LgorICAgIEhhc2hNYXA8QVhJRCwgUGFyZW50Q2hpbGRyZW5JRHM+IG1f
bm9kZU1hcDsKKwogICAgIC8vIE9ubHkgYWNjZXNzZWQgb24gQVggdGhyZWFkIHJlcXVlc3Rpbmcg
ZGF0YS4KICAgICBIYXNoTWFwPEFYSUQsIFJlZjxBWElzb2xhdGVkT2JqZWN0Pj4gbV9yZWFkZXJU
aHJlYWROb2RlTWFwOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>