<?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>237621</bug_id>
          
          <creation_ts>2022-03-08 15:12:59 -0800</creation_ts>
          <short_desc>In isolated tree mode, do not call NSAccessibilityUnregisterUniqueIdForUIElement until the isolated object is detached.</short_desc>
          <delta_ts>2022-03-09 18:45:06 -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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1849418</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-08 15:12:59 -0800</bug_when>
    <thetext>In isolated tree mode, do not call NSAccessibilityUnregisterUniqueIdForUIElement until the isolated object is detached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849419</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-08 15:13:08 -0800</bug_when>
    <thetext>&lt;rdar://problem/89992486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849434</commentid>
    <comment_count>2</comment_count>
      <attachid>454159</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-08 15:27:52 -0800</bug_when>
    <thetext>Created attachment 454159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849465</commentid>
    <comment_count>3</comment_count>
      <attachid>454159</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-03-08 16:22:06 -0800</bug_when>
    <thetext>Comment on attachment 454159
Patch

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

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:535
&gt; +    if (!AXObjectCache::isIsolatedTreeEnabled())

I think we may want to verify that this wrapper DOES have an isolated object with it, otherwise its possible this object will only exist on the main thread and never get an isolated element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849472</commentid>
    <comment_count>4</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-08 16:35:48 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #3)
&gt; Comment on attachment 454159 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=454159&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:535
&gt; &gt; +    if (!AXObjectCache::isIsolatedTreeEnabled())
&gt; 
&gt; I think we may want to verify that this wrapper DOES have an isolated object
&gt; with it, otherwise its possible this object will only exist on the main
&gt; thread and never get an isolated element

The problem with accessing the wrapper&apos;s m_isolatedObject here is that this is on the main thread, and m_isolatedObject should only be accessed on the AX thread after creation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849473</commentid>
    <comment_count>5</comment_count>
      <attachid>454159</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-03-08 16:38:58 -0800</bug_when>
    <thetext>Comment on attachment 454159
Patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:535
&gt;&gt;&gt; +    if (!AXObjectCache::isIsolatedTreeEnabled())
&gt;&gt; 
&gt;&gt; I think we may want to verify that this wrapper DOES have an isolated object with it, otherwise its possible this object will only exist on the main thread and never get an isolated element
&gt; 
&gt; The problem with accessing the wrapper&apos;s m_isolatedObject here is that this is on the main thread, and m_isolatedObject should only be accessed on the AX thread after creation.

can we check for its presence safely? just doing a read on the pointer value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849478</commentid>
    <comment_count>6</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-08 16:53:38 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #5)
&gt; Comment on attachment 454159 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=454159&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:535
&gt; &gt;&gt;&gt; +    if (!AXObjectCache::isIsolatedTreeEnabled())
&gt; &gt;&gt; 
&gt; &gt;&gt; I think we may want to verify that this wrapper DOES have an isolated object with it, otherwise its possible this object will only exist on the main thread and never get an isolated element
&gt; &gt; 
&gt; &gt; The problem with accessing the wrapper&apos;s m_isolatedObject here is that this is on the main thread, and m_isolatedObject should only be accessed on the AX thread after creation.
&gt; 
&gt; can we check for its presence safely? just doing a read on the pointer value?

There is no guaranty that we can read that pointer on the main thread. The AX thread could be writing to it at that point, and thus you would read garbage. For instance, in the AXObjectCache we have:

#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
    if (m_pageID) {
        if (auto tree = AXIsolatedTree::treeForPageID(*m_pageID))
            tree-&gt;removeNode(*object);
    }
#endif

    object-&gt;detach(AccessibilityDetachmentType::ElementDestroyed);

tree-&gt;removeNode will schedule the isolated object to be detached, so when the live object detach is called, the applyPendingChanges may be detaching the isolated object.

I think we would need to add a variable to be accessed on the main thread to signal whether the isolated object was attached or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849485</commentid>
    <comment_count>7</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-08 17:04:10 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #6)
&gt; (In reply to chris fleizach from comment #5)
&gt; &gt; Comment on attachment 454159 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=454159&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:535
&gt; &gt; &gt;&gt;&gt; +    if (!AXObjectCache::isIsolatedTreeEnabled())
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; I think we may want to verify that this wrapper DOES have an isolated object with it, otherwise its possible this object will only exist on the main thread and never get an isolated element
&gt; &gt; &gt; 
&gt; &gt; &gt; The problem with accessing the wrapper&apos;s m_isolatedObject here is that this is on the main thread, and m_isolatedObject should only be accessed on the AX thread after creation.
&gt; &gt; 
&gt; &gt; can we check for its presence safely? just doing a read on the pointer value?
&gt; 
&gt; There is no guaranty that we can read that pointer on the main thread. The
&gt; AX thread could be writing to it at that point, and thus you would read
&gt; garbage. For instance, in the AXObjectCache we have:
&gt; 
&gt; #if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt;     if (m_pageID) {
&gt;         if (auto tree = AXIsolatedTree::treeForPageID(*m_pageID))
&gt;             tree-&gt;removeNode(*object);
&gt;     }
&gt; #endif
&gt; 
&gt;     object-&gt;detach(AccessibilityDetachmentType::ElementDestroyed);
&gt; 
&gt; tree-&gt;removeNode will schedule the isolated object to be detached, so when
&gt; the live object detach is called, the applyPendingChanges may be detaching
&gt; the isolated object.
&gt; 
&gt; I think we would need to add a variable to be accessed on the main thread to
&gt; signal whether the isolated object was attached or not.

Maybe if I revert the order in the AXObjectCache snippet above, then it will be fine to read that pointer on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849506</commentid>
    <comment_count>8</comment_count>
      <attachid>454159</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-03-08 18:07:16 -0800</bug_when>
    <thetext>Comment on attachment 454159
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:535
&gt;&gt;&gt;&gt;&gt;&gt; +    if (!AXObjectCache::isIsolatedTreeEnabled())
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; I think we may want to verify that this wrapper DOES have an isolated object with it, otherwise its possible this object will only exist on the main thread and never get an isolated element
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; The problem with accessing the wrapper&apos;s m_isolatedObject here is that this is on the main thread, and m_isolatedObject should only be accessed on the AX thread after creation.
&gt;&gt;&gt; 
&gt;&gt;&gt; can we check for its presence safely? just doing a read on the pointer value?
&gt;&gt; 
&gt;&gt; There is no guaranty that we can read that pointer on the main thread. The AX thread could be writing to it at that point, and thus you would read garbage. For instance, in the AXObjectCache we have:
&gt;&gt; 
&gt;&gt; #if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt;&gt;     if (m_pageID) {
&gt;&gt;         if (auto tree = AXIsolatedTree::treeForPageID(*m_pageID))
&gt;&gt;             tree-&gt;removeNode(*object);
&gt;&gt;     }
&gt;&gt; #endif
&gt;&gt; 
&gt;&gt;     object-&gt;detach(AccessibilityDetachmentType::ElementDestroyed);
&gt;&gt; 
&gt;&gt; tree-&gt;removeNode will schedule the isolated object to be detached, so when the live object detach is called, the applyPendingChanges may be detaching the isolated object.
&gt;&gt; 
&gt;&gt; I think we would need to add a variable to be accessed on the main thread to signal whether the isolated object was attached or not.
&gt; 
&gt; Maybe if I revert the order in the AXObjectCache snippet above, then it will be fine to read that pointer on the main thread.

Or adding a tracking bit seems ok too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849509</commentid>
    <comment_count>9</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-08 18:11:27 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #8)
&gt; Comment on attachment 454159 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=454159&amp;action=review
&gt; 
&gt; &gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:535
&gt; &gt;&gt;&gt;&gt;&gt;&gt; +    if (!AXObjectCache::isIsolatedTreeEnabled())
&gt; &gt;&gt;&gt;&gt;&gt; 
&gt; &gt;&gt;&gt;&gt;&gt; I think we may want to verify that this wrapper DOES have an isolated object with it, otherwise its possible this object will only exist on the main thread and never get an isolated element
&gt; &gt;&gt;&gt;&gt; 
&gt; &gt;&gt;&gt;&gt; The problem with accessing the wrapper&apos;s m_isolatedObject here is that this is on the main thread, and m_isolatedObject should only be accessed on the AX thread after creation.
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; can we check for its presence safely? just doing a read on the pointer value?
&gt; &gt;&gt; 
&gt; &gt;&gt; There is no guaranty that we can read that pointer on the main thread. The AX thread could be writing to it at that point, and thus you would read garbage. For instance, in the AXObjectCache we have:
&gt; &gt;&gt; 
&gt; &gt;&gt; #if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt; &gt;&gt;     if (m_pageID) {
&gt; &gt;&gt;         if (auto tree = AXIsolatedTree::treeForPageID(*m_pageID))
&gt; &gt;&gt;             tree-&gt;removeNode(*object);
&gt; &gt;&gt;     }
&gt; &gt;&gt; #endif
&gt; &gt;&gt; 
&gt; &gt;&gt;     object-&gt;detach(AccessibilityDetachmentType::ElementDestroyed);
&gt; &gt;&gt; 
&gt; &gt;&gt; tree-&gt;removeNode will schedule the isolated object to be detached, so when the live object detach is called, the applyPendingChanges may be detaching the isolated object.
&gt; &gt;&gt; 
&gt; &gt;&gt; I think we would need to add a variable to be accessed on the main thread to signal whether the isolated object was attached or not.
&gt; &gt; 
&gt; &gt; Maybe if I revert the order in the AXObjectCache snippet above, then it will be fine to read that pointer on the main thread.
&gt; 
&gt; Or adding a tracking bit seems ok too

Yes, that is actually the only choice because the m_isolatedObject can be written to not only in detach but in AXIsolatedObject::attachPlatformWrapper which is called during updates in applyPendingChanges on the AX thread, so it can be called at any time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849708</commentid>
    <comment_count>10</comment_count>
      <attachid>454245</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-09 09:12:29 -0800</bug_when>
    <thetext>Created attachment 454245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849709</commentid>
    <comment_count>11</comment_count>
      <attachid>454245</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-03-09 09:15:50 -0800</bug_when>
    <thetext>Comment on attachment 454245
Patch

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

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:290
&gt; +    m_isolatedObjectInitialized = false;

do we need this? won&apos;t it be false by default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849714</commentid>
    <comment_count>12</comment_count>
      <attachid>454249</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-09 09:22:33 -0800</bug_when>
    <thetext>Created attachment 454249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849715</commentid>
    <comment_count>13</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-03-09 09:25:19 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #11)
&gt; Comment on attachment 454245 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=454245&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:290
&gt; &gt; +    m_isolatedObjectInitialized = false;
&gt; 
&gt; do we need this? won&apos;t it be false by default

Right, ObjC does that! Fixed in latest rev.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849939</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-09 18:45:01 -0800</bug_when>
    <thetext>Committed r291084 (248246@main): &lt;https://commits.webkit.org/248246@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454249.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454159</attachid>
            <date>2022-03-08 15:27:52 -0800</date>
            <delta_ts>2022-03-09 09:12:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237621-20220308182751.patch</filename>
            <type>text/plain</type>
            <size>3415</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRiMmIwZGY4MTI1NTk1
OTBhZmQwNDZlYTFkNzg2YThkNjllMjNlMi4uYTY5ZDZkMDI1ZTJlNDgzY2UxODVmYWI1NzdmZDc5
NDc3MGNmMzRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAzLTA4ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBJbiBpc29sYXRl
ZCB0cmVlIG1vZGUsIGRvIG5vdCBjYWxsIE5TQWNjZXNzaWJpbGl0eVVucmVnaXN0ZXJVbmlxdWVJ
ZEZvclVJRWxlbWVudCB1bnRpbCB0aGUgaXNvbGF0ZWQgb2JqZWN0IGlzIGRldGFjaGVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NjIxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84OTk5MjQ4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHRoZSBsaXZlIG9iamVjdCBpcyBkZXRhY2hlZCBm
cm9tIGl0cyB3cmFwcGVyIG9uIHRoZSBtYWluIHRocmVhZCwKKyAgICAgICAgdGhlIHdyYXBwZXIg
bWF5IGJlIGluIHRoZSBtaWRkbGUgb2Ygc2VydmluZyBhIHJlcXVlc3Qgb24gdGhlIEFYIHRocmVh
ZC4KKyAgICAgICAgVGhlcmVmb3JlIGNhbGxpbmcgTlNBY2Nlc3NpYmlsaXR5VW5yZWdpc3RlclVu
aXF1ZUlkRm9yVUlFbGVtZW50IG1heQorICAgICAgICBpbnRlcmZlcmUgd2l0aCB0aGUgY29tcGxl
dGlvbmcgb2YgdGhlIHJlcXVlc3QsIG9yIGV2ZW4gY2F1c2UgdW5kZWZpbmVkCisgICAgICAgIGJl
aGF2aW9yIHNpbmNlIG1hbnkgb2YgdGhlIGludGVybmFsIGxvb2t1cHMgZm9yIG9iamVjdHMgZGVw
ZW5kIG9uIGEgZGF0YQorICAgICAgICBzdHJ1Y3R1cmUgdXBkYXRlZCBieSBzeXN0ZW0gY2FsbC4g
V2l0aCB0aGlzIHBhdGNoLCB3ZSB1bnJlZ2lzdGVyIGEKKyAgICAgICAgd3JhcHBlciB3aGVuIHRo
ZSBpc29sYXRlZCBvYmplY3QgaXMgZGV0YWNoZWQsIHdoaWNoIGhhcHBlbnMgYWZ0ZXIgdGhlCisg
ICAgICAgIGxpdmUgb2JqZWN0IGlzIGRldGFjaGVkLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAgICgtW1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGRldGFjaF0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBkZXRhY2hJc29sYXRlZE9iamVjdDpdKToKKyAgICAgICAg
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlF
bGVtZW50XSk6IERlbGV0ZWQuCisKIDIwMjItMDMtMDggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNh
dGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS10gU3luYyBndGstb3ZlcmxheS1zY3Jv
bGxpbmcgc2V0dGluZyB0byB3ZWIgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlck1hYy5tbQppbmRleCA0OTA4YjBhNWE0NzNjNDdmMDUxM2YzYjM0MzE4MjQzYWUzNDUyNDJk
Li5iZTU2MjFmZDc2ZmE4NDRjNWRiMzc3M2I5MzQ2ZTJjODJkOGVjYzc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtNTI0LDIxICs1MjQsMjggQEAgZXh0ZXJu
ICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVhdGVBWFVJRWxlbWVudFJlZihp
ZCBlbGVtZW50KTsKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyCiAKLS0gKHZvaWQpdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50CistICh2b2lkKWRl
dGFjaAogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgTlNBY2Nlc3NpYmlsaXR5
VW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50KHNlbGYpOworCisgICAgLy8gSW4gaXNvbGF0
ZWQgdHJlZSBtb2RlLCBkbyBub3QgVW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50IGhlcmUg
YmVjYXVzZSB0aGUgd3JhcHBlciBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBzZXJ2aW5nIGEgcmVx
dWVzdCBvbiB0aGUgQVggdGhyZWFkLgorICAgIC8vIFRoZSBJc29sYXRlZE9iamVjdCBpcyBjYXBh
YmxlIHRvIHRlbmQgdG8gc29tZSByZXF1ZXN0cyBhZnRlciB0aGUgbGl2ZSBvYmplY3QgaXMgZ29u
ZS4KKyAgICAvLyBJbiByZWd1bGFyIG1vZGUsIFVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxlbWVu
dCBpbW1lZGlhdGVseS4KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQor
ICAgIGlmICghQVhPYmplY3RDYWNoZTo6aXNJc29sYXRlZFRyZWVFbmFibGVkKCkpCisjZW5kaWYK
KyAgICAgICAgTlNBY2Nlc3NpYmlsaXR5VW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50KHNl
bGYpOworCisgICAgW3N1cGVyIGRldGFjaF07CiB9CiAKLS0gKHZvaWQpZGV0YWNoCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKHZvaWQpZGV0YWNoSXNvbGF0ZWRP
YmplY3Q6KEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSlkZXRhY2htZW50VHlwZQogewotICAg
IC8vIFNlbmQgdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50IHVuY29uZGl0aW9uYWxseSBi
ZWNhdXNlIGlmIGl0IGlzCi0gICAgLy8gZXZlciBhY2NpZGVudGFsbHkgbm90IGRvbmUgKHZpYSBv
dGhlciBidWdzIGluIG91ciBBWCBpbXBsZW1lbnRhdGlvbikgeW91Ci0gICAgLy8gZW5kIHVwIHdp
dGggYSBjcmFzaCBsaWtlIDxyZGFyOi8vcHJvYmxlbS80MjczMTQ5Pi4gIEl0IGlzIHNhZmUgYW5k
IG5vdAotICAgIC8vIGV4cGVuc2l2ZSB0byBzZW5kIGV2ZW4gaWYgdGhlIG9iamVjdCBpcyBub3Qg
cmVnaXN0ZXJlZC4KLSAgICBbc2VsZiB1bnJlZ2lzdGVyVW5pcXVlSWRGb3JVSUVsZW1lbnRdOwot
ICAgIFtzdXBlciBkZXRhY2hdOworICAgIE5TQWNjZXNzaWJpbGl0eVVucmVnaXN0ZXJVbmlxdWVJ
ZEZvclVJRWxlbWVudChzZWxmKTsKKyAgICBbc3VwZXIgZGV0YWNoSXNvbGF0ZWRPYmplY3Q6ZGV0
YWNobWVudFR5cGVdOwogfQorI2VuZGlmCiAKIC0gKGlkKWF0dGFjaG1lbnRWaWV3CiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454245</attachid>
            <date>2022-03-09 09:12:29 -0800</date>
            <delta_ts>2022-03-09 09:22:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237621-20220309121228.patch</filename>
            <type>text/plain</type>
            <size>5743</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRiMmIwZGY4MTI1NTk1
OTBhZmQwNDZlYTFkNzg2YThkNjllMjNlMi4uMjM1MzM2MmFmNmFjMDY5YTQ4ZWUxNzZkZmQwM2Mz
NDdlY2JmM2I1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAzLTA5ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBJbiBpc29sYXRl
ZCB0cmVlIG1vZGUsIGRvIG5vdCBjYWxsIE5TQWNjZXNzaWJpbGl0eVVucmVnaXN0ZXJVbmlxdWVJ
ZEZvclVJRWxlbWVudCB1bnRpbCB0aGUgaXNvbGF0ZWQgb2JqZWN0IGlzIGRldGFjaGVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NjIxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84OTk5MjQ4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJp
cyBGbGVpemFjaC4KKworICAgICAgICBXaGVuIHRoZSBsaXZlIG9iamVjdCBpcyBkZXRhY2hlZCBm
cm9tIGl0cyB3cmFwcGVyIG9uIHRoZSBtYWluIHRocmVhZCwKKyAgICAgICAgdGhlIHdyYXBwZXIg
bWF5IGJlIGluIHRoZSBtaWRkbGUgb2Ygc2VydmluZyBhIHJlcXVlc3Qgb24gdGhlIEFYIHRocmVh
ZC4KKyAgICAgICAgVGhlcmVmb3JlIGNhbGxpbmcgTlNBY2Nlc3NpYmlsaXR5VW5yZWdpc3RlclVu
aXF1ZUlkRm9yVUlFbGVtZW50IG1heQorICAgICAgICBpbnRlcmZlcmUgd2l0aCB0aGUgY29tcGxl
dGlvbmcgb2YgdGhlIHJlcXVlc3QsIG9yIGV2ZW4gY2F1c2UgdW5kZWZpbmVkCisgICAgICAgIGJl
aGF2aW9yIHNpbmNlIG1hbnkgb2YgdGhlIGludGVybmFsIGxvb2t1cHMgZm9yIG9iamVjdHMgZGVw
ZW5kIG9uIGEgZGF0YQorICAgICAgICBzdHJ1Y3R1cmUgdXBkYXRlZCBieSBzeXN0ZW0gY2FsbC4g
V2l0aCB0aGlzIHBhdGNoLCB3ZSB1bnJlZ2lzdGVyIGEKKyAgICAgICAgd3JhcHBlciB3aGVuIHRo
ZSBpc29sYXRlZCBvYmplY3QgaXMgZGV0YWNoZWQsIHdoaWNoIGhhcHBlbnMgYWZ0ZXIgdGhlCisg
ICAgICAgIGxpdmUgb2JqZWN0IGlzIGRldGFjaGVkLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmg6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tOgorICAg
ICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgaW5pdFdpdGhBY2Nlc3Np
YmlsaXR5T2JqZWN0Ol0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UgYXR0YWNoSXNvbGF0ZWRPYmplY3Q6XSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAgICgtW1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGRldGFjaF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlciBkZXRhY2hJc29sYXRlZE9iamVjdDpdKToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVt
ZW50XSk6IERlbGV0ZWQuCisKIDIwMjItMDMtMDggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFu
emFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS10gU3luYyBndGstb3ZlcmxheS1zY3JvbGxp
bmcgc2V0dGluZyB0byB3ZWIgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UuaAppbmRleCA4ZGMzNTM4MDgyYjcxZjY3M2Q3ZjJmNjQyNzA4ZTg0NGRjY2M3ZTAxLi5i
YjI5ZThiZmExNTQ0ZTkxMTIyZGE2ZDJjOTUyNTc5ZGM1ODEwODZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaApAQCAtNjMsOSArNjMsMTMgQEAgdm9pZCBBWEF0dHJp
YnV0ZWRTdHJpbmdTZXRGb250KE5TTXV0YWJsZUF0dHJpYnV0ZWRTdHJpbmcgKiwgQ1RGb250UmVm
LCBjb25zdCBOU1IKIAogQGludGVyZmFjZSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UgOiBOU09iamVjdCB7CiAgICAgV2ViQ29yZTo6QVhDb3JlT2JqZWN0KiBtX2F4T2JqZWN0Owor
CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKICAgICBXZWJDb3JlOjpB
WENvcmVPYmplY3QqIG1faXNvbGF0ZWRPYmplY3Q7CisgICAgLy8gVG8gYmUgYWNjZXNzZWQgb25s
eSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgYm9vbCBtX2lzb2xhdGVkT2JqZWN0SW5pdGlhbGl6
ZWQ7CiAjZW5kaWYKKwogICAgIFdlYkNvcmU6OkFYSUQgX2lkZW50aWZpZXI7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQppbmRleCA4NDdmYzA1ZjFmM2ZmMTFl
MWEwYmYwODgwNWE1MTI3ZmNjZjJiMWZkLi4wNDgzNjc2MDQ1ZjRmOGQ3MzMyZmNhZTBlZGRmYmJk
N2RjYWM5ZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCkBA
IC0yNzksMTAgKzI3OSwxNyBAQCBOU0FycmF5ICptYWtlTlNBcnJheShjb25zdCBXZWJDb3JlOjpB
WENvcmVPYmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgYwogCiAtIChpZClpbml0
V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6KEFYQ29yZU9iamVjdCopYXhPYmplY3QKIHsKKyAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOworCiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkp
CiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBbc2VsZiBhdHRhY2hBWE9iamVjdDpheE9iamVj
dF07CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIG1faXNv
bGF0ZWRPYmplY3RJbml0aWFsaXplZCA9IGZhbHNlOworI2VuZGlmCisKICAgICByZXR1cm4gc2Vs
ZjsKIH0KIApAQCAtMjk5LDYgKzMwNiw5IEBAIE5TQXJyYXkgKm1ha2VOU0FycmF5KGNvbnN0IFdl
YkNvcmU6OkFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBjCiB7CiAg
ICAgQVNTRVJUKGlzb2xhdGVkT2JqZWN0ICYmICghX2lkZW50aWZpZXIuaXNWYWxpZCgpIHx8IF9p
ZGVudGlmaWVyID09IGlzb2xhdGVkT2JqZWN0LT5vYmplY3RJRCgpKSk7CiAgICAgbV9pc29sYXRl
ZE9iamVjdCA9IGlzb2xhdGVkT2JqZWN0OworICAgIGlmIChpc01haW5UaHJlYWQoKSkKKyAgICAg
ICAgbV9pc29sYXRlZE9iamVjdEluaXRpYWxpemVkID0gdHJ1ZTsKKwogICAgIGlmICghX2lkZW50
aWZpZXIuaXNWYWxpZCgpKQogICAgICAgICBfaWRlbnRpZmllciA9IG1faXNvbGF0ZWRPYmplY3Qt
Pm9iamVjdElEKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCmlu
ZGV4IDQ5MDhiMGE1YTQ3M2M0N2YwNTEzZjNiMzQzMTgyNDNhZTM0NTI0MmQuLmVlOTkwMDYyOTFk
MzE4ZDUyOTNhY2M5NDQ4ZDA1NzgwNjFhNGU1NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyTWFjLm1tCkBAIC01MjQsMjEgKzUyNCwyOCBAQCBleHRlcm4gIkMiIEFYVUlFbGVt
ZW50UmVmIE5TQWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKGlkIGVsZW1lbnQpOwog
CiBAaW1wbGVtZW50YXRpb24gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKIAotLSAodm9p
ZCl1bnJlZ2lzdGVyVW5pcXVlSWRGb3JVSUVsZW1lbnQKKy0gKHZvaWQpZGV0YWNoCiB7CiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBOU0FjY2Vzc2liaWxpdHlVbnJlZ2lzdGVyVW5p
cXVlSWRGb3JVSUVsZW1lbnQoc2VsZik7CisKKyAgICAvLyBJZiB0aGUgSXNvbGF0ZWRPYmplY3Qg
aXMgaW5pdGlhbGl6ZWQsIGRvIG5vdCBVbnJlZ2lzdGVyVW5pcXVlSWRGb3JVSUVsZW1lbnQgaGVy
ZSBiZWNhdXNlIHRoZSB3cmFwcGVyIG1heSBiZSBpbiB0aGUgbWlkZGxlIG9mIHNlcnZpbmcgYSBy
ZXF1ZXN0IG9uIHRoZSBBWCB0aHJlYWQuCisgICAgLy8gVGhlIElzb2xhdGVkT2JqZWN0IGlzIGNh
cGFibGUgdG8gdGVuZCB0byBzb21lIHJlcXVlc3RzIGFmdGVyIHRoZSBsaXZlIG9iamVjdCBpcyBn
b25lLgorICAgIC8vIEluIHJlZ3VsYXIgbW9kZSwgVW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVt
ZW50IGltbWVkaWF0ZWx5LgorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisgICAgaWYgKCFtX2lzb2xhdGVkT2JqZWN0SW5pdGlhbGl6ZWQpCisjZW5kaWYKKyAgICAgICAg
TlNBY2Nlc3NpYmlsaXR5VW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50KHNlbGYpOworCisg
ICAgW3N1cGVyIGRldGFjaF07CiB9CiAKLS0gKHZvaWQpZGV0YWNoCisjaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKy0gKHZvaWQpZGV0YWNoSXNvbGF0ZWRPYmplY3Q6KEFj
Y2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSlkZXRhY2htZW50VHlwZQogewotICAgIC8vIFNlbmQg
dW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50IHVuY29uZGl0aW9uYWxseSBiZWNhdXNlIGlm
IGl0IGlzCi0gICAgLy8gZXZlciBhY2NpZGVudGFsbHkgbm90IGRvbmUgKHZpYSBvdGhlciBidWdz
IGluIG91ciBBWCBpbXBsZW1lbnRhdGlvbikgeW91Ci0gICAgLy8gZW5kIHVwIHdpdGggYSBjcmFz
aCBsaWtlIDxyZGFyOi8vcHJvYmxlbS80MjczMTQ5Pi4gIEl0IGlzIHNhZmUgYW5kIG5vdAotICAg
IC8vIGV4cGVuc2l2ZSB0byBzZW5kIGV2ZW4gaWYgdGhlIG9iamVjdCBpcyBub3QgcmVnaXN0ZXJl
ZC4KLSAgICBbc2VsZiB1bnJlZ2lzdGVyVW5pcXVlSWRGb3JVSUVsZW1lbnRdOwotICAgIFtzdXBl
ciBkZXRhY2hdOworICAgIE5TQWNjZXNzaWJpbGl0eVVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxl
bWVudChzZWxmKTsKKyAgICBbc3VwZXIgZGV0YWNoSXNvbGF0ZWRPYmplY3Q6ZGV0YWNobWVudFR5
cGVdOwogfQorI2VuZGlmCiAKIC0gKGlkKWF0dGFjaG1lbnRWaWV3CiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454249</attachid>
            <date>2022-03-09 09:22:33 -0800</date>
            <delta_ts>2022-03-09 18:45:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237621-20220309122232.patch</filename>
            <type>text/plain</type>
            <size>5645</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRiMmIwZGY4MTI1NTk1
OTBhZmQwNDZlYTFkNzg2YThkNjllMjNlMi4uMjM1MzM2MmFmNmFjMDY5YTQ4ZWUxNzZkZmQwM2Mz
NDdlY2JmM2I1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAzLTA5ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBJbiBpc29sYXRl
ZCB0cmVlIG1vZGUsIGRvIG5vdCBjYWxsIE5TQWNjZXNzaWJpbGl0eVVucmVnaXN0ZXJVbmlxdWVJ
ZEZvclVJRWxlbWVudCB1bnRpbCB0aGUgaXNvbGF0ZWQgb2JqZWN0IGlzIGRldGFjaGVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NjIxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84OTk5MjQ4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJp
cyBGbGVpemFjaC4KKworICAgICAgICBXaGVuIHRoZSBsaXZlIG9iamVjdCBpcyBkZXRhY2hlZCBm
cm9tIGl0cyB3cmFwcGVyIG9uIHRoZSBtYWluIHRocmVhZCwKKyAgICAgICAgdGhlIHdyYXBwZXIg
bWF5IGJlIGluIHRoZSBtaWRkbGUgb2Ygc2VydmluZyBhIHJlcXVlc3Qgb24gdGhlIEFYIHRocmVh
ZC4KKyAgICAgICAgVGhlcmVmb3JlIGNhbGxpbmcgTlNBY2Nlc3NpYmlsaXR5VW5yZWdpc3RlclVu
aXF1ZUlkRm9yVUlFbGVtZW50IG1heQorICAgICAgICBpbnRlcmZlcmUgd2l0aCB0aGUgY29tcGxl
dGlvbmcgb2YgdGhlIHJlcXVlc3QsIG9yIGV2ZW4gY2F1c2UgdW5kZWZpbmVkCisgICAgICAgIGJl
aGF2aW9yIHNpbmNlIG1hbnkgb2YgdGhlIGludGVybmFsIGxvb2t1cHMgZm9yIG9iamVjdHMgZGVw
ZW5kIG9uIGEgZGF0YQorICAgICAgICBzdHJ1Y3R1cmUgdXBkYXRlZCBieSBzeXN0ZW0gY2FsbC4g
V2l0aCB0aGlzIHBhdGNoLCB3ZSB1bnJlZ2lzdGVyIGEKKyAgICAgICAgd3JhcHBlciB3aGVuIHRo
ZSBpc29sYXRlZCBvYmplY3QgaXMgZGV0YWNoZWQsIHdoaWNoIGhhcHBlbnMgYWZ0ZXIgdGhlCisg
ICAgICAgIGxpdmUgb2JqZWN0IGlzIGRldGFjaGVkLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmg6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tOgorICAg
ICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UgaW5pdFdpdGhBY2Nlc3Np
YmlsaXR5T2JqZWN0Ol0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UgYXR0YWNoSXNvbGF0ZWRPYmplY3Q6XSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAgICgtW1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGRldGFjaF0pOgorICAgICAgICAoLVtXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlciBkZXRhY2hJc29sYXRlZE9iamVjdDpdKToKKyAgICAgICAgKC1b
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVt
ZW50XSk6IERlbGV0ZWQuCisKIDIwMjItMDMtMDggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFu
emFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS10gU3luYyBndGstb3ZlcmxheS1zY3JvbGxp
bmcgc2V0dGluZyB0byB3ZWIgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UuaAppbmRleCA4ZGMzNTM4MDgyYjcxZjY3M2Q3ZjJmNjQyNzA4ZTg0NGRjY2M3ZTAxLi5i
YjI5ZThiZmExNTQ0ZTkxMTIyZGE2ZDJjOTUyNTc5ZGM1ODEwODZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UuaApAQCAtNjMsOSArNjMsMTMgQEAgdm9pZCBBWEF0dHJp
YnV0ZWRTdHJpbmdTZXRGb250KE5TTXV0YWJsZUF0dHJpYnV0ZWRTdHJpbmcgKiwgQ1RGb250UmVm
LCBjb25zdCBOU1IKIAogQGludGVyZmFjZSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJh
c2UgOiBOU09iamVjdCB7CiAgICAgV2ViQ29yZTo6QVhDb3JlT2JqZWN0KiBtX2F4T2JqZWN0Owor
CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKICAgICBXZWJDb3JlOjpB
WENvcmVPYmplY3QqIG1faXNvbGF0ZWRPYmplY3Q7CisgICAgLy8gVG8gYmUgYWNjZXNzZWQgb25s
eSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgYm9vbCBtX2lzb2xhdGVkT2JqZWN0SW5pdGlhbGl6
ZWQ7CiAjZW5kaWYKKwogICAgIFdlYkNvcmU6OkFYSUQgX2lkZW50aWZpZXI7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQmFzZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQppbmRleCA4NDdmYzA1ZjFmM2ZmMTFl
MWEwYmYwODgwNWE1MTI3ZmNjZjJiMWZkLi5mMjljMjBjYmY5NDdiN2QxNzNjMWJjOWY3ZWMwYzcx
ODRhNDIxZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9X
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCkBA
IC0yNzksOSArMjc5LDEwIEBAIE5TQXJyYXkgKm1ha2VOU0FycmF5KGNvbnN0IFdlYkNvcmU6OkFY
Q29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBjCiAKIC0gKGlkKWluaXRX
aXRoQWNjZXNzaWJpbGl0eU9iamVjdDooQVhDb3JlT2JqZWN0KilheE9iamVjdAogeworICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CisKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkK
ICAgICAgICAgcmV0dXJuIG5pbDsKLQogICAgIFtzZWxmIGF0dGFjaEFYT2JqZWN0OmF4T2JqZWN0
XTsKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTI5OSw2ICszMDAsOSBAQCBOU0FycmF5ICptYWtl
TlNBcnJheShjb25zdCBXZWJDb3JlOjpBWENvcmVPYmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJl
blZlY3RvciYgYwogewogICAgIEFTU0VSVChpc29sYXRlZE9iamVjdCAmJiAoIV9pZGVudGlmaWVy
LmlzVmFsaWQoKSB8fCBfaWRlbnRpZmllciA9PSBpc29sYXRlZE9iamVjdC0+b2JqZWN0SUQoKSkp
OwogICAgIG1faXNvbGF0ZWRPYmplY3QgPSBpc29sYXRlZE9iamVjdDsKKyAgICBpZiAoaXNNYWlu
VGhyZWFkKCkpCisgICAgICAgIG1faXNvbGF0ZWRPYmplY3RJbml0aWFsaXplZCA9IHRydWU7CisK
ICAgICBpZiAoIV9pZGVudGlmaWVyLmlzVmFsaWQoKSkKICAgICAgICAgX2lkZW50aWZpZXIgPSBt
X2lzb2xhdGVkT2JqZWN0LT5vYmplY3RJRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQppbmRleCA0OTA4YjBhNWE0NzNjNDdmMDUxM2YzYjM0MzE4MjQzYWUzNDUy
NDJkLi5lZTk5MDA2MjkxZDMxOGQ1MjkzYWNjOTQ0OGQwNTc4MDYxYTRlNTQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtNTI0LDIxICs1MjQsMjggQEAgZXh0
ZXJuICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVhdGVBWFVJRWxlbWVudFJl
ZihpZCBlbGVtZW50KTsKIAogQGltcGxlbWVudGF0aW9uIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyCiAKLS0gKHZvaWQpdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50CistICh2b2lk
KWRldGFjaAogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgTlNBY2Nlc3NpYmls
aXR5VW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50KHNlbGYpOworCisgICAgLy8gSWYgdGhl
IElzb2xhdGVkT2JqZWN0IGlzIGluaXRpYWxpemVkLCBkbyBub3QgVW5yZWdpc3RlclVuaXF1ZUlk
Rm9yVUlFbGVtZW50IGhlcmUgYmVjYXVzZSB0aGUgd3JhcHBlciBtYXkgYmUgaW4gdGhlIG1pZGRs
ZSBvZiBzZXJ2aW5nIGEgcmVxdWVzdCBvbiB0aGUgQVggdGhyZWFkLgorICAgIC8vIFRoZSBJc29s
YXRlZE9iamVjdCBpcyBjYXBhYmxlIHRvIHRlbmQgdG8gc29tZSByZXF1ZXN0cyBhZnRlciB0aGUg
bGl2ZSBvYmplY3QgaXMgZ29uZS4KKyAgICAvLyBJbiByZWd1bGFyIG1vZGUsIFVucmVnaXN0ZXJV
bmlxdWVJZEZvclVJRWxlbWVudCBpbW1lZGlhdGVseS4KKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorICAgIGlmICghbV9pc29sYXRlZE9iamVjdEluaXRpYWxpemVkKQor
I2VuZGlmCisgICAgICAgIE5TQWNjZXNzaWJpbGl0eVVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxl
bWVudChzZWxmKTsKKworICAgIFtzdXBlciBkZXRhY2hdOwogfQogCi0tICh2b2lkKWRldGFjaAor
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCistICh2b2lkKWRldGFjaElz
b2xhdGVkT2JqZWN0OihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUpZGV0YWNobWVudFR5cGUK
IHsKLSAgICAvLyBTZW5kIHVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxlbWVudCB1bmNvbmRpdGlv
bmFsbHkgYmVjYXVzZSBpZiBpdCBpcwotICAgIC8vIGV2ZXIgYWNjaWRlbnRhbGx5IG5vdCBkb25l
ICh2aWEgb3RoZXIgYnVncyBpbiBvdXIgQVggaW1wbGVtZW50YXRpb24pIHlvdQotICAgIC8vIGVu
ZCB1cCB3aXRoIGEgY3Jhc2ggbGlrZSA8cmRhcjovL3Byb2JsZW0vNDI3MzE0OT4uICBJdCBpcyBz
YWZlIGFuZCBub3QKLSAgICAvLyBleHBlbnNpdmUgdG8gc2VuZCBldmVuIGlmIHRoZSBvYmplY3Qg
aXMgbm90IHJlZ2lzdGVyZWQuCi0gICAgW3NlbGYgdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVt
ZW50XTsKLSAgICBbc3VwZXIgZGV0YWNoXTsKKyAgICBOU0FjY2Vzc2liaWxpdHlVbnJlZ2lzdGVy
VW5pcXVlSWRGb3JVSUVsZW1lbnQoc2VsZik7CisgICAgW3N1cGVyIGRldGFjaElzb2xhdGVkT2Jq
ZWN0OmRldGFjaG1lbnRUeXBlXTsKIH0KKyNlbmRpZgogCiAtIChpZClhdHRhY2htZW50Vmlldwog
ewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>