<?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>236777</bug_id>
          
          <creation_ts>2022-02-17 05:53:46 -0800</creation_ts>
          <short_desc>AX: List item marker not exposed when not a direct child of a list item</short_desc>
          <delta_ts>2022-09-12 05:40:48 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=245071</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, InRadar, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>aperez</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1842854</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-17 05:53:46 -0800</bug_when>
    <thetext>It can happen that the marker is not a direct child of a list item, for example in this case:

&lt;ol&gt;
  &lt;li&gt;
    &lt;a href=&quot;#&quot;&gt;
      &lt;span style=&quot;display:block;&quot;&gt;first block span&lt;/span&gt;
      &lt;span&gt;inline span&lt;/span&gt;
      &lt;span style=&quot;display:block;&quot;&gt;second block span&lt;/span&gt;
    &lt;/a&gt;
  &lt;/li&gt;
&lt;/ol&gt;

the render tree is:

layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x576
      RenderBlock {OL} at (0,0) size 784x54
        RenderListItem {LI} at (40,0) size 744x54
          RenderBlock (anonymous) at (0,0) size 744x0
            RenderInline {A} at (0,0) size 0x0 [color=#0000EE]
              RenderText {#text} at (0,0) size 0x0
          RenderBlock (anonymous) at (0,0) size 744x18 [color=#0000EE]
            RenderBlock {SPAN} at (0,0) size 744x18
              RenderListMarker at (-20,0) size 16x17 [color=#000000]: &quot;1&quot;
              RenderText {#text} at (0,0) size 96x17
                text run at (0,0) width 96: &quot;first block span&quot;
          RenderBlock (anonymous) at (0,18) size 744x18
            RenderInline {A} at (0,0) size 68x17 [color=#0000EE]
              RenderInline {SPAN} at (0,0) size 68x17
                RenderText {#text} at (0,0) size 68x17
                  text run at (0,0) width 68: &quot;inline span&quot;
              RenderText {#text} at (0,0) size 0x0
          RenderBlock (anonymous) at (0,36) size 744x18 [color=#0000EE]
            RenderBlock {SPAN} at (0,0) size 744x18
              RenderText {#text} at (0,0) size 116x17
                text run at (0,0) width 116: &quot;second block span&quot;
          RenderBlock (anonymous) at (0,54) size 744x0
            RenderInline {A} at (0,0) size 0x0 [color=#0000EE]
            RenderText {#text} at (0,0) size 0x0

So, the RenderListMarker is a child of RenderBlock {SPAN}, and not RenderListItem {LI}. In this case the marker is ignored and not exposed to ATs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842855</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-17 05:53:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/89082485&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842856</commentid>
    <comment_count>2</comment_count>
      <attachid>452357</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-17 05:58:35 -0800</bug_when>
    <thetext>Created attachment 452357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842869</commentid>
    <comment_count>3</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-17 06:41:45 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #2)
&gt; Created attachment 452357 [details]
&gt; Patch

--- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -512,7 +512,15 @@ AccessibilityObject* AccessibilityRenderObject::parentObject() const

+    if (m_renderer-&gt;isListMarker()) {
+        if (auto* listItem = ancestorsOfType&lt;RenderListItem&gt;(*m_renderer).first()) {
+            AccessibilityObject* parent = axObjectCache()-&gt;getOrCreate(listItem);
+            if (parent-&gt;isListItem())
+                return parent;
+        }
+    }
+

Creating new objects here is problematic for isolated tree mode. Not sure it makes sense at all to create a new object when we are getting its parent. Perhaps 

auto* parent = axObjectCache()-&gt;get(listItem);

instead?

Also note that below that block we are getting the cache again:

     AXObjectCache* cache = axObjectCache();
     if (!cache)

Can we avoid the code duplication?

-    for (RefPtr&lt;AccessibilityObject&gt; obj = firstChild(); obj; obj = obj-&gt;nextSibling())
-        addChild(obj.get());
+    for (RefPtr&lt;AccessibilityObject&gt; obj = firstChild(); obj; obj = obj-&gt;nextSibling()) {
+        if (!obj-&gt;renderer()-&gt;isListMarker())
+            addChild(obj.get());
+    }

Since you are touching this code, could you please fix the style here? Use auto in the for statement, change obj -&gt; object, ...

Can obj-&gt;renderer() be null?

I wonder if it would be better to special case the list items in this loop and add the markers just for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842870</commentid>
    <comment_count>4</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-17 06:44:38 -0800</bug_when>
    <thetext>Is this case covered in the Mac and iOS platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842872</commentid>
    <comment_count>5</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-17 06:45:32 -0800</bug_when>
    <thetext>I meant test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843119</commentid>
    <comment_count>6</comment_count>
      <attachid>452357</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-02-17 14:06:15 -0800</bug_when>
    <thetext>Comment on attachment 452357
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3294
&gt; +        if (!obj-&gt;renderer()-&gt;isListMarker())

should we put this logic in addChild() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843325</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-18 01:11:25 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #3)
&gt; (In reply to Carlos Garcia Campos from comment #2)
&gt; &gt; Created attachment 452357 [details]
&gt; &gt; Patch
&gt; 
&gt; --- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
&gt; +++ a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
&gt; @@ -512,7 +512,15 @@ AccessibilityObject*
&gt; AccessibilityRenderObject::parentObject() const
&gt; 
&gt; +    if (m_renderer-&gt;isListMarker()) {
&gt; +        if (auto* listItem =
&gt; ancestorsOfType&lt;RenderListItem&gt;(*m_renderer).first()) {
&gt; +            AccessibilityObject* parent =
&gt; axObjectCache()-&gt;getOrCreate(listItem);
&gt; +            if (parent-&gt;isListItem())
&gt; +                return parent;
&gt; +        }
&gt; +    }
&gt; +
&gt; 
&gt; Creating new objects here is problematic for isolated tree mode. Not sure it
&gt; makes sense at all to create a new object when we are getting its parent.

We do the same for Menu and MenuBar exceptions, I followed the existing approach. And the non-exceptions path also uses getOrCreate() for the renderParentObject().

&gt; Perhaps 
&gt; 
&gt; auto* parent = axObjectCache()-&gt;get(listItem);
&gt; 
&gt; instead?
&gt; 
&gt; Also note that below that block we are getting the cache again:
&gt; 
&gt;      AXObjectCache* cache = axObjectCache();
&gt;      if (!cache)
&gt; 
&gt; Can we avoid the code duplication?

Yes, we should handle the cache being null in all the cases, also for the Menu and MenuBar exceptions.

&gt; -    for (RefPtr&lt;AccessibilityObject&gt; obj = firstChild(); obj; obj =
&gt; obj-&gt;nextSibling())
&gt; -        addChild(obj.get());
&gt; +    for (RefPtr&lt;AccessibilityObject&gt; obj = firstChild(); obj; obj =
&gt; obj-&gt;nextSibling()) {
&gt; +        if (!obj-&gt;renderer()-&gt;isListMarker())
&gt; +            addChild(obj.get());
&gt; +    }
&gt; 
&gt; Since you are touching this code, could you please fix the style here? Use
&gt; auto in the for statement, change obj -&gt; object, ...

Sure.

&gt; Can obj-&gt;renderer() be null?

No, firstChild() and nextSibling() return nullptr early if renderer is null.

&gt; I wonder if it would be better to special case the list items in this loop
&gt; and add the markers just for them.

I think we always want the marker to be the first child of a list item, that&apos;s why I added it after all other children are already added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843326</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-18 01:12:26 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #4)
&gt; Is this case covered in the Mac and iOS platforms?

It seems so, because there are tests failing. I&apos;ll check the failures, and maybe it&apos;s a good idea to add a specific test for this particular case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843327</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-18 01:17:03 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #6)
&gt; Comment on attachment 452357 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=452357&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3294
&gt; &gt; +        if (!obj-&gt;renderer()-&gt;isListMarker())
&gt; 
&gt; should we put this logic in addChild() ?

I guess we could override addChild and move the check there, but we don&apos;t really need the check in all other calls to addChild in AccessibilityRenderObject</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843333</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-18 01:29:10 -0800</bug_when>
    <thetext>Checking the failure of accessibility/mac/attributed-string-with-listitem-multiple-lines.html I wonder if mac really wants this behavior. What&apos;s the difference between AXListMarker and AXTextMarkerRangeForUIElement? Does mac want to expose the list item marker as the former or the latter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843348</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-18 03:39:16 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #3)
&gt; (In reply to Carlos Garcia Campos from comment #2)
&gt; &gt; Created attachment 452357 [details]
&gt; &gt; Patch
[...]
&gt; 
&gt; -    for (RefPtr&lt;AccessibilityObject&gt; obj = firstChild(); obj; obj =
&gt; obj-&gt;nextSibling())
&gt; -        addChild(obj.get());
&gt; +    for (RefPtr&lt;AccessibilityObject&gt; obj = firstChild(); obj; obj =
&gt; obj-&gt;nextSibling()) {
&gt; +        if (!obj-&gt;renderer()-&gt;isListMarker())
&gt; +            addChild(obj.get());
&gt; +    }
&gt; 
&gt; Since you are touching this code, could you please fix the style here? Use
&gt; auto in the for statement, change obj -&gt; object, ...

Note that auto can&apos;t be used here because firstChild() and nextSibling() return a raw pointer. I guess we are taking a reference for a good reason, so I won&apos;t change that, at least not in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843349</commentid>
    <comment_count>12</comment_count>
      <attachid>452505</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-18 03:50:49 -0800</bug_when>
    <thetext>Created attachment 452505
Patch

Not asking r? because mac tests will still fail, but it should address review comments and fix the GTK layout test failure. To fix the apple tests I need to understand the expected behavior because maybe we only want this change to ATSPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845043</commentid>
    <comment_count>13</comment_count>
      <attachid>452948</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-23 00:55:39 -0800</bug_when>
    <thetext>Created attachment 452948
Patch

I&apos;m making this patch atspi specific, because I don&apos;t know what the expected behavior in mac is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845551</commentid>
    <comment_count>14</comment_count>
      <attachid>453083</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-24 01:27:23 -0800</bug_when>
    <thetext>Created attachment 453083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845943</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-25 01:17:50 -0800</bug_when>
    <thetext>Committed r290502 (247789@trunk): &lt;https://commits.webkit.org/247789@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845967</commentid>
    <comment_count>16</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-25 04:38:35 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845968</commentid>
    <comment_count>17</comment_count>
      <attachid>453195</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-25 04:38:39 -0800</bug_when>
    <thetext>Created attachment 453195
Patch for landing</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452357</attachid>
            <date>2022-02-17 05:58:35 -0800</date>
            <delta_ts>2022-02-18 03:50:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-list-item-markers.diff</filename>
            <type>text/plain</type>
            <size>10720</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4YTc3NTE0NTcwZmQuLmYzYjE0YTY3OTk0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIyLTAyLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBBWDogTGlzdCBpdGVtIG1hcmtlciBub3QgZXhwb3NlZCB3aGVuIG5vdCBhIGRp
cmVjdCBjaGlsZCBvZiBhIGxpc3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Nzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MjQ4
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGVzdCByZXN1bHRzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVt
cy1hbHdheXMtZXhwb3NlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9n
dGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZ3RrL3NwYW5zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9z
cGFucy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIyLTAyLTE2ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFVzZSB0aGUgYW5pbWF0aW9uIGZyYW1lIHJhdGUgZHVyaW5nIGFuaW1hdGlvbiByZXNvbHV0aW9u
IGFuZCBzY2hlZHVsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0
ay9saXN0LWl0ZW1zLWFsd2F5cy1leHBvc2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDkzOWQxMGY2ZDViOS4uNzI4OWJhYTVjMGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1zLWFsd2F5cy1leHBvc2VkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1zLWFsd2F5cy1leHBv
c2VkLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUK
IAogUEFTUyBsaXN0LnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0JwogUEFTUyBpdGVtMS5yb2xlIGlz
ICdBWFJvbGU6IEFYTGlzdEl0ZW0nCitQQVNTIG1hcmtlcjEucm9sZSBpcyAnQVhSb2xlOiBBWFN0
YXRpYycKIFBBU1MgaXRlbTIucm9sZSBpcyAnQVhSb2xlOiBBWExpc3RJdGVtJworUEFTUyBtYXJr
ZXIyLnJvbGUgaXMgJ0FYUm9sZTogQVhTdGF0aWMnCiBQQVNTIHBhcmFncmFwaC5yb2xlIGlzICdB
WFJvbGU6IEFYUGFyYWdyYXBoJwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1zLWFsd2F5
cy1leHBvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1z
LWFsd2F5cy1leHBvc2VkLmh0bWwKaW5kZXggZjFjNWY5ZGIwMGY2Li5iZjJjNjU3YTMzMGMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlz
LWV4cG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0
ZW1zLWFsd2F5cy1leHBvc2VkLmh0bWwKQEAgLTIzLDEyICsyMywxNiBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKIAogICAgIHZhciBsaXN0ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7CiAg
ICAgdmFyIGl0ZW0xID0gbGlzdC5jaGlsZEF0SW5kZXgoMCk7CisgICAgdmFyIG1hcmtlcjEgPSBp
dGVtMS5jaGlsZEF0SW5kZXgoMCk7CiAgICAgdmFyIGl0ZW0yID0gbGlzdC5jaGlsZEF0SW5kZXgo
MSk7Ci0gICAgdmFyIHBhcmFncmFwaCA9IGl0ZW0yLmNoaWxkQXRJbmRleCgwKTsKKyAgICB2YXIg
bWFya2VyMiA9IGl0ZW0yLmNoaWxkQXRJbmRleCgwKTsKKyAgICB2YXIgcGFyYWdyYXBoID0gaXRl
bTIuY2hpbGRBdEluZGV4KDEpOwogCiAgICAgc2hvdWxkQmUoImxpc3Qucm9sZSIsICInQVhSb2xl
OiBBWExpc3QnIik7CiAgICAgc2hvdWxkQmUoIml0ZW0xLnJvbGUiLCAiJ0FYUm9sZTogQVhMaXN0
SXRlbSciKTsKKyAgICBzaG91bGRCZSgibWFya2VyMS5yb2xlIiwgIidBWFJvbGU6IEFYU3RhdGlj
JyIpOwogICAgIHNob3VsZEJlKCJpdGVtMi5yb2xlIiwgIidBWFJvbGU6IEFYTGlzdEl0ZW0nIik7
CisgICAgc2hvdWxkQmUoIm1hcmtlcjIucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpYyciKTsKICAg
ICBzaG91bGRCZSgicGFyYWdyYXBoLnJvbGUiLCAiJ0FYUm9sZTogQVhQYXJhZ3JhcGgnIik7CiAg
IH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLWV4cGVjdGVk
LnR4dAppbmRleCA1NGU5MjcxNTc5MTMuLmIwZDBmMWYwNGYwNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLWV4cGVjdGVkLnR4dApAQCAtMjYsOSArMjYsMTMg
QEAgUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAogUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FY
Um9sZTogQVhMaXN0JwogUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMgogUEFTUyBpdGVt
LnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0SXRlbScKLVBBU1MgaXRlbS5jaGlsZHJlbkNvdW50IGlz
IDAKLVBBU1MgaXRlbS5yb2xlIGlzICdBWFJvbGU6IEFYTGlzdEl0ZW0nCiBQQVNTIGl0ZW0uY2hp
bGRyZW5Db3VudCBpcyAxCitQQVNTIG1hcmtlci5yb2xlIGlzICdBWFJvbGU6IEFYU3RhdGljJwor
UEFTUyBtYXJrZXIuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGl0ZW0ucm9sZSBpcyAnQVhSb2xl
OiBBWExpc3RJdGVtJworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMgorUEFTUyBtYXJrZXIu
cm9sZSBpcyAnQVhSb2xlOiBBWFN0YXRpYycKK1BBU1MgbWFya2VyLmNoaWxkcmVuQ291bnQgaXMg
MAogUEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogQVhMaW5rJwogUEFTUyBsaW5rLmNoaWxkcmVu
Q291bnQgaXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMuaHRtbCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0bWwKaW5kZXggZDA5YTdiZTMyYTNmLi40NmRjY2M2ZDk5
ODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMuaHRtbApAQCAtNjEsMTMg
KzYxLDIxIEBAIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKIAogICAgIHZh
ciBpdGVtID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CiAgICAgc2hvdWxkQmUoIml0ZW0ucm9s
ZSIsICInQVhSb2xlOiBBWExpc3RJdGVtJyIpOwotICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVu
Q291bnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMSIpOwor
CisgICAgdmFyIG1hcmtlciA9IGl0ZW0uY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJt
YXJrZXIucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpYyciKTsKKyAgICBzaG91bGRCZSgibWFya2Vy
LmNoaWxkcmVuQ291bnQiLCAiMCIpOwogCiAgICAgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4
KDEpOwogICAgIHNob3VsZEJlKCJpdGVtLnJvbGUiLCAiJ0FYUm9sZTogQVhMaXN0SXRlbSciKTsK
LSAgICBzaG91bGRCZSgiaXRlbS5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKyAgICBzaG91bGRCZSgi
aXRlbS5jaGlsZHJlbkNvdW50IiwgIjIiKTsKKworICAgIG1hcmtlciA9IGl0ZW0uY2hpbGRBdElu
ZGV4KDApOworICAgIHNob3VsZEJlKCJtYXJrZXIucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpYyci
KTsKKyAgICBzaG91bGRCZSgibWFya2VyLmNoaWxkcmVuQ291bnQiLCAiMCIpOwogCi0gICAgbGlu
ayA9IGl0ZW0uY2hpbGRBdEluZGV4KDApOworICAgIGxpbmsgPSBpdGVtLmNoaWxkQXRJbmRleCgx
KTsKICAgICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IEFYTGluayciKTsKICAgICBz
aG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODJmOWRmYzcxZDI5Li4yMGVkODY4NmE1Y2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzcsNyAr
MTM3LDYgQEAgYWNjZXNzaWJpbGl0eS9tb2RlbC1lbGVtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNr
aXAgXQogIyBUZXN0cyBmYWlsaW5nIHdpdGggQVRTUEkgaW1wbGVtZW50YXRpb24uCiB3ZWJraXQu
b3JnL2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL25lc3RlZC1ibG9jay1lbGVtZW50LWNoaWxk
cmVuLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9n
dGsvbm8tbm90aWZpY2F0aW9uLWZvci11bnJlbmRlcmVkLWlmcmFtZS1jaGlsZHJlbi5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0
bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9ndGsvdGV4
dC1hdC1vZmZzZXQtZW1iZWRkZWQtb2JqZWN0cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL3RleHQtYXQtb2Zmc2V0LXNwZWNpYWwtY2hhcnMu
aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIzNTk0MSBhY2Nlc3NpYmlsaXR5L2d0ay94
bWwtcm9sZXMtZXhwb3NlZC5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU0ZDFmOTUw
Y2ViLi45NTg4MDQyZTgzZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMi0wMi0x
NyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAg
QVg6IExpc3QgaXRlbSBtYXJrZXIgbm90IGV4cG9zZWQgd2hlbiBub3QgYSBkaXJlY3QgY2hpbGQg
b2YgYSBsaXN0IGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzNjc3NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODkwODI0ODU+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgY2FuIGhhcHBlbiB0
aGF0IHRoZSBtYXJrZXIgaXMgbm90IGEgZGlyZWN0IGNoaWxkIG9mIGEgbGlzdCBpdGVtLCBpbiB3
aGljaCBjYXNlIHRoZSBtYXJrZXIgaXMgaWdub3JlZCBhbmQgbm90CisgICAgICAgIGV4cG9zZWQg
dG8gQVRzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnBh
cmVudE9iamVjdCBjb25zdCk6IEluIGNhc2Ugb2YgbGlzdCBtYXJrZXIgZmluZCB0aGUgZmlyc3Qg
YW5jZXN0b3IgdGhhdCBpcworICAgICAgICBhIGxpc3QgaXRlbS4KKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZExpc3RJdGVtTWFya2VyKTogQWRkIGFsd2F5
cyB0aGUgbGlzdCBpdGVtIG1hcmtlciBhcyB0aGUgZmlyc3QgY2hpbGQgb2YKKyAgICAgICAgbGlz
dCBpdGVtcy4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFk
ZENoaWxkcmVuKTogRG8gbm90IGFkZCBsaXN0IGl0ZW0gbWFya2VyIGNoaWxkcmVuLCB0aGV5IHdp
bGwgYmUgYWRkZWQgdG8KKyAgICAgICAgdGhlIHJpZ2h0IHBhcmVudCBpbiBhZGRMaXN0SXRlbU1h
cmtlcigpLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5oOgorCiAyMDIyLTAyLTE3ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ3Jhc2hUcmFjZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBhdCBKYXZh
U2NyaXB0Q29yZTogYm1hbGxvY19hbGxvY2F0ZV9pbXBsX2ltcGxfc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAKaW5kZXggMjdlMzc4YWIwNDljLi43NGE4ZjE4NzgwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
LmNwcApAQCAtNTEyLDcgKzUxMiwxNSBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjpwYXJlbnRPYmplY3QoKSBjb25zdAogICAgICAgICBpZiAocGFyZW50
KQogICAgICAgICAgICAgcmV0dXJuIHBhcmVudDsKICAgICB9Ci0gICAgCisKKyAgICBpZiAobV9y
ZW5kZXJlci0+aXNMaXN0TWFya2VyKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGxpc3RJdGVtID0g
YW5jZXN0b3JzT2ZUeXBlPFJlbmRlckxpc3RJdGVtPigqbV9yZW5kZXJlcikuZmlyc3QoKSkgewor
ICAgICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50ID0gYXhPYmplY3RDYWNoZSgp
LT5nZXRPckNyZWF0ZShsaXN0SXRlbSk7CisgICAgICAgICAgICBpZiAocGFyZW50LT5pc0xpc3RJ
dGVtKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHBhcmVudDsKKyAgICAgICAgfQorICAgIH0K
KwogICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpOwogICAgIGlmICgh
Y2FjaGUpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMzIzNiw3ICszMjQ0LDE5IEBAIHZv
aWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkSGlkZGVuQ2hpbGRyZW4oKQogICAgICAg
ICBpbnNlcnRpb25JbmRleCArPSAobV9jaGlsZHJlbi5zaXplKCkgLSBwcmV2aW91c1NpemUpOwog
ICAgIH0KIH0KLSAgICAKKwordm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRMaXN0
SXRlbU1hcmtlcigpCit7CisgICAgaWYgKCFpc0xpc3RJdGVtKCkgfHwgIW1fcmVuZGVyZXIgfHwg
IW1fcmVuZGVyZXItPmlzTGlzdEl0ZW0oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byog
bWFya2VyID0gZG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KCptX3JlbmRlcmVyKS5tYXJrZXJSZW5k
ZXJlcigpOworICAgIGlmICghbWFya2VyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnNlcnRD
aGlsZChheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKG1hcmtlciksIDApOworfQorCiB2b2lk
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRp
b24oKQogewogICAgIEFYVFJBQ0UoIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZVJv
bGVBZnRlckNoaWxkcmVuQ3JlYXRpb24iKTsKQEAgLTMyNzAsOCArMzI5MCwxMCBAQCB2b2lkIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZENoaWxkcmVuKCkKICAgICBpZiAoIWNhbkhhdmVD
aGlsZHJlbigpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgZm9yIChSZWZQdHI8QWNjZXNz
aWJpbGl0eU9iamVjdD4gb2JqID0gZmlyc3RDaGlsZCgpOyBvYmo7IG9iaiA9IG9iai0+bmV4dFNp
YmxpbmcoKSkKLSAgICAgICAgYWRkQ2hpbGQob2JqLmdldCgpKTsKKyAgICBmb3IgKFJlZlB0cjxB
Y2Nlc3NpYmlsaXR5T2JqZWN0PiBvYmogPSBmaXJzdENoaWxkKCk7IG9iajsgb2JqID0gb2JqLT5u
ZXh0U2libGluZygpKSB7CisgICAgICAgIGlmICghb2JqLT5yZW5kZXJlcigpLT5pc0xpc3RNYXJr
ZXIoKSkKKyAgICAgICAgICAgIGFkZENoaWxkKG9iai5nZXQoKSk7CisgICAgfQogICAgIAogICAg
IG1fc3VidHJlZURpcnR5ID0gZmFsc2U7CiAgICAgCkBAIC0zMjgxLDYgKzMzMDMsNyBAQCB2b2lk
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZENoaWxkcmVuKCkKICAgICBhZGRUZXh0Rmll
bGRDaGlsZHJlbigpOwogICAgIGFkZENhbnZhc0NoaWxkcmVuKCk7CiAgICAgYWRkUmVtb3RlU1ZH
Q2hpbGRyZW4oKTsKKyAgICBhZGRMaXN0SXRlbU1hcmtlcigpOwogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdXBkYXRlQXR0YWNobWVudFZpZXdQYXJlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCmlu
ZGV4IGQ4ZjhhODRmMGM3ZS4uZmY3NTU4NDI5M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaApAQCAtMjUy
LDYgKzI1Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGRDYW52YXNDaGlsZHJlbigpOwogICAg
IHZvaWQgYWRkQXR0YWNobWVudENoaWxkcmVuKCk7CiAgICAgdm9pZCBhZGRSZW1vdGVTVkdDaGls
ZHJlbigpOworICAgIHZvaWQgYWRkTGlzdEl0ZW1NYXJrZXIoKTsKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICB2b2lkIHVwZGF0ZUF0dGFjaG1lbnRWaWV3UGFyZW50cygpOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGZmN2Y4MjFk
ZDkyLi4wNWNiMjAzYzg5YTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0xNyAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVg6IExpc3QgaXRlbSBtYXJr
ZXIgbm90IGV4cG9zZWQgd2hlbiBub3QgYSBkaXJlY3QgY2hpbGQgb2YgYSBsaXN0IGl0ZW0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjc3NworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODkwODI0ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHA6CisgICAgICAgIChXVFI6OnJv
bGVWYWx1ZVRvU3RyaW5nKTogUmV0dXJuIEFYU3RhdGljIGZvciBUZXh0IHJvbGUgdG9vLgorCiAy
MDIyLTAyLTE2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIFVz
ZSBGaWxlU3lzdGVtOjpyZWFkRW50aXJlRmlsZSBldmVyeXdoZXJlCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0
c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKaW5kZXggNGQ1M2Y0M2ZkMzk4Li5m
YWQwOTM4OGFhZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRBdHNwaS5jcHAKQEAgLTc3Miw2ICs3NzIsNyBAQCBzdGF0aWMgU3RyaW5nIHJvbGVWYWx1ZVRv
U3RyaW5nKHVuc2lnbmVkIHJvbGVWYWx1ZSkKICAgICBjYXNlIFdlYkNvcmU6OkF0c3BpOjpSb2xl
OjpTcGluQnV0dG9uOgogICAgICAgICByZXR1cm4gIkFYU3BpbkJ1dHRvbiJfczsKICAgICBjYXNl
IFdlYkNvcmU6OkF0c3BpOjpSb2xlOjpTdGF0aWM6CisgICAgY2FzZSBXZWJDb3JlOjpBdHNwaTo6
Um9sZTo6VGV4dDoKICAgICAgICAgcmV0dXJuICJBWFN0YXRpYyJfczsKICAgICBjYXNlIFdlYkNv
cmU6OkF0c3BpOjpSb2xlOjpTdGF0dXNCYXI6CiAgICAgICAgIHJldHVybiAiQVhTdGF0dXNCYXIi
X3M7Cg==
</data>
<flag name="commit-queue"
          id="479377"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452505</attachid>
            <date>2022-02-18 03:50:49 -0800</date>
            <delta_ts>2022-02-23 00:55:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-ax-list-marker.diff</filename>
            <type>text/plain</type>
            <size>11863</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4YTc3NTE0NTcwZmQuLmRhYTE2OGUwZjY0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIyLTAyLTE4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBBWDogTGlzdCBpdGVtIG1hcmtlciBub3QgZXhwb3NlZCB3aGVuIG5vdCBhIGRp
cmVjdCBjaGlsZCBvZiBhIGxpc3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Nzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MjQ4
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGVzdCByZXN1bHRzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVt
cy1hbHdheXMtZXhwb3NlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9n
dGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZ3RrL3NwYW5zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9z
cGFucy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIyLTAyLTE2ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFVzZSB0aGUgYW5pbWF0aW9uIGZyYW1lIHJhdGUgZHVyaW5nIGFuaW1hdGlvbiByZXNvbHV0aW9u
IGFuZCBzY2hlZHVsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0
ay9saXN0LWl0ZW1zLWFsd2F5cy1leHBvc2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDkzOWQxMGY2ZDViOS4uNzI4OWJhYTVjMGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1zLWFsd2F5cy1leHBvc2VkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1zLWFsd2F5cy1leHBv
c2VkLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUK
IAogUEFTUyBsaXN0LnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0JwogUEFTUyBpdGVtMS5yb2xlIGlz
ICdBWFJvbGU6IEFYTGlzdEl0ZW0nCitQQVNTIG1hcmtlcjEucm9sZSBpcyAnQVhSb2xlOiBBWFN0
YXRpYycKIFBBU1MgaXRlbTIucm9sZSBpcyAnQVhSb2xlOiBBWExpc3RJdGVtJworUEFTUyBtYXJr
ZXIyLnJvbGUgaXMgJ0FYUm9sZTogQVhTdGF0aWMnCiBQQVNTIHBhcmFncmFwaC5yb2xlIGlzICdB
WFJvbGU6IEFYUGFyYWdyYXBoJwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1zLWFsd2F5
cy1leHBvc2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0ZW1z
LWFsd2F5cy1leHBvc2VkLmh0bWwKaW5kZXggZjFjNWY5ZGIwMGY2Li5iZjJjNjU3YTMzMGMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlz
LWV4cG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0LWl0
ZW1zLWFsd2F5cy1leHBvc2VkLmh0bWwKQEAgLTIzLDEyICsyMywxNiBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKIAogICAgIHZhciBsaXN0ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7CiAg
ICAgdmFyIGl0ZW0xID0gbGlzdC5jaGlsZEF0SW5kZXgoMCk7CisgICAgdmFyIG1hcmtlcjEgPSBp
dGVtMS5jaGlsZEF0SW5kZXgoMCk7CiAgICAgdmFyIGl0ZW0yID0gbGlzdC5jaGlsZEF0SW5kZXgo
MSk7Ci0gICAgdmFyIHBhcmFncmFwaCA9IGl0ZW0yLmNoaWxkQXRJbmRleCgwKTsKKyAgICB2YXIg
bWFya2VyMiA9IGl0ZW0yLmNoaWxkQXRJbmRleCgwKTsKKyAgICB2YXIgcGFyYWdyYXBoID0gaXRl
bTIuY2hpbGRBdEluZGV4KDEpOwogCiAgICAgc2hvdWxkQmUoImxpc3Qucm9sZSIsICInQVhSb2xl
OiBBWExpc3QnIik7CiAgICAgc2hvdWxkQmUoIml0ZW0xLnJvbGUiLCAiJ0FYUm9sZTogQVhMaXN0
SXRlbSciKTsKKyAgICBzaG91bGRCZSgibWFya2VyMS5yb2xlIiwgIidBWFJvbGU6IEFYU3RhdGlj
JyIpOwogICAgIHNob3VsZEJlKCJpdGVtMi5yb2xlIiwgIidBWFJvbGU6IEFYTGlzdEl0ZW0nIik7
CisgICAgc2hvdWxkQmUoIm1hcmtlcjIucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpYyciKTsKICAg
ICBzaG91bGRCZSgicGFyYWdyYXBoLnJvbGUiLCAiJ0FYUm9sZTogQVhQYXJhZ3JhcGgnIik7CiAg
IH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLWV4cGVjdGVk
LnR4dAppbmRleCA1NGU5MjcxNTc5MTMuLmIwZDBmMWYwNGYwNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLWV4cGVjdGVkLnR4dApAQCAtMjYsOSArMjYsMTMg
QEAgUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAogUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FY
Um9sZTogQVhMaXN0JwogUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMgogUEFTUyBpdGVt
LnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0SXRlbScKLVBBU1MgaXRlbS5jaGlsZHJlbkNvdW50IGlz
IDAKLVBBU1MgaXRlbS5yb2xlIGlzICdBWFJvbGU6IEFYTGlzdEl0ZW0nCiBQQVNTIGl0ZW0uY2hp
bGRyZW5Db3VudCBpcyAxCitQQVNTIG1hcmtlci5yb2xlIGlzICdBWFJvbGU6IEFYU3RhdGljJwor
UEFTUyBtYXJrZXIuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGl0ZW0ucm9sZSBpcyAnQVhSb2xl
OiBBWExpc3RJdGVtJworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMgorUEFTUyBtYXJrZXIu
cm9sZSBpcyAnQVhSb2xlOiBBWFN0YXRpYycKK1BBU1MgbWFya2VyLmNoaWxkcmVuQ291bnQgaXMg
MAogUEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogQVhMaW5rJwogUEFTUyBsaW5rLmNoaWxkcmVu
Q291bnQgaXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMuaHRtbCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0bWwKaW5kZXggZDA5YTdiZTMyYTNmLi40NmRjY2M2ZDk5
ODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMuaHRtbApAQCAtNjEsMTMg
KzYxLDIxIEBAIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKIAogICAgIHZh
ciBpdGVtID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CiAgICAgc2hvdWxkQmUoIml0ZW0ucm9s
ZSIsICInQVhSb2xlOiBBWExpc3RJdGVtJyIpOwotICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVu
Q291bnQiLCAiMCIpOworICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMSIpOwor
CisgICAgdmFyIG1hcmtlciA9IGl0ZW0uY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJt
YXJrZXIucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpYyciKTsKKyAgICBzaG91bGRCZSgibWFya2Vy
LmNoaWxkcmVuQ291bnQiLCAiMCIpOwogCiAgICAgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4
KDEpOwogICAgIHNob3VsZEJlKCJpdGVtLnJvbGUiLCAiJ0FYUm9sZTogQVhMaXN0SXRlbSciKTsK
LSAgICBzaG91bGRCZSgiaXRlbS5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKyAgICBzaG91bGRCZSgi
aXRlbS5jaGlsZHJlbkNvdW50IiwgIjIiKTsKKworICAgIG1hcmtlciA9IGl0ZW0uY2hpbGRBdElu
ZGV4KDApOworICAgIHNob3VsZEJlKCJtYXJrZXIucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpYyci
KTsKKyAgICBzaG91bGRCZSgibWFya2VyLmNoaWxkcmVuQ291bnQiLCAiMCIpOwogCi0gICAgbGlu
ayA9IGl0ZW0uY2hpbGRBdEluZGV4KDApOworICAgIGxpbmsgPSBpdGVtLmNoaWxkQXRJbmRleCgx
KTsKICAgICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IEFYTGluayciKTsKICAgICBz
aG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODJmOWRmYzcxZDI5Li4yMGVkODY4NmE1Y2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzcsNyAr
MTM3LDYgQEAgYWNjZXNzaWJpbGl0eS9tb2RlbC1lbGVtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNr
aXAgXQogIyBUZXN0cyBmYWlsaW5nIHdpdGggQVRTUEkgaW1wbGVtZW50YXRpb24uCiB3ZWJraXQu
b3JnL2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL25lc3RlZC1ibG9jay1lbGVtZW50LWNoaWxk
cmVuLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9n
dGsvbm8tbm90aWZpY2F0aW9uLWZvci11bnJlbmRlcmVkLWlmcmFtZS1jaGlsZHJlbi5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0
bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9ndGsvdGV4
dC1hdC1vZmZzZXQtZW1iZWRkZWQtb2JqZWN0cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL3RleHQtYXQtb2Zmc2V0LXNwZWNpYWwtY2hhcnMu
aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIzNTk0MSBhY2Nlc3NpYmlsaXR5L2d0ay94
bWwtcm9sZXMtZXhwb3NlZC5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU0ZDFmOTUw
Y2ViLi44YmY2Mzg4N2ZmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMi0wMi0x
OCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAg
QVg6IExpc3QgaXRlbSBtYXJrZXIgbm90IGV4cG9zZWQgd2hlbiBub3QgYSBkaXJlY3QgY2hpbGQg
b2YgYSBsaXN0IGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzNjc3NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODkwODI0ODU+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgY2FuIGhhcHBlbiB0
aGF0IHRoZSBtYXJrZXIgaXMgbm90IGEgZGlyZWN0IGNoaWxkIG9mIGEgbGlzdCBpdGVtLCBpbiB3
aGljaCBjYXNlIHRoZSBtYXJrZXIgaXMgaWdub3JlZCBhbmQgbm90CisgICAgICAgIGV4cG9zZWQg
dG8gQVRzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnBh
cmVudE9iamVjdFVuaWdub3JlZCBjb25zdCk6IEluIGNhc2Ugb2YgbGlzdCBtYXJrZXIgZmluZCB0
aGUgbWFya2VyIGxpc3QgaXRlbS4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6Om1hcmtlclJlbmRlcmVyIGNvbnN0KTogSGVscGVyIHRvIHJldHVybiB0aGUgbGlz
dCBpdGVtIG1hcmtlciByZW5kZXJlci4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmFkZExpc3RJdGVtTWFya2VyKTogQWRkIGFsd2F5cyB0aGUgbGlzdCBpdGVt
IG1hcmtlciBhcyB0aGUgZmlyc3QgY2hpbGQgb2YKKyAgICAgICAgbGlzdCBpdGVtcy4KKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZENoaWxkcmVuKTogRG8g
bm90IGFkZCBsaXN0IGl0ZW0gbWFya2VyIGNoaWxkcmVuLCB0aGV5IHdpbGwgYmUgYWRkZWQgdG8K
KyAgICAgICAgdGhlIHJpZ2h0IHBhcmVudCBpbiBhZGRMaXN0SXRlbU1hcmtlcigpLgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oOgorCiAyMDIyLTAy
LTE3ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2hU
cmFjZXI6IGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBhdCBKYXZhU2NyaXB0Q29yZTogYm1h
bGxvY19hbGxvY2F0ZV9pbXBsX2ltcGxfc2xvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggMjdl
Mzc4YWIwNDljLi5kYTUyNDZkZDJkZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtNTI3LDcg
KzUyNywyMCBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
OjpwYXJlbnRPYmplY3QoKSBjb25zdAogICAgIAogICAgIHJldHVybiBudWxscHRyOwogfQotICAg
IAorCitBWENvcmVPYmplY3QqIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnBhcmVudE9iamVj
dFVuaWdub3JlZCgpIGNvbnN0Cit7CisgICAgaWYgKG1fcmVuZGVyZXIgJiYgbV9yZW5kZXJlci0+
aXNMaXN0TWFya2VyKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGxpc3RJdGVtID0gYW5jZXN0b3Jz
T2ZUeXBlPFJlbmRlckxpc3RJdGVtPigqbV9yZW5kZXJlcikuZmlyc3QoKSkgeworICAgICAgICAg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50ID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNy
ZWF0ZShsaXN0SXRlbSk7CisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdD4oKnBhcmVudCkubWFya2VyUmVuZGVyZXIoKSA9PSBtX3JlbmRlcmVyKQorICAg
ICAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnBhcmVudE9iamVjdFVuaWdub3JlZCgpOworfQor
CiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzQXR0YWNobWVudCgpIGNvbnN0CiB7
CiAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyID0gcmVuZGVyQm94TW9kZWxPYmpl
Y3QoKTsKQEAgLTMyMzYsNyArMzI0OSwyMSBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3Q6OmFkZEhpZGRlbkNoaWxkcmVuKCkKICAgICAgICAgaW5zZXJ0aW9uSW5kZXggKz0gKG1fY2hp
bGRyZW4uc2l6ZSgpIC0gcHJldmlvdXNTaXplKTsKICAgICB9CiB9Ci0gICAgCisKK1JlbmRlck9i
amVjdCogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bWFya2VyUmVuZGVyZXIoKSBjb25zdAor
eworICAgIGlmIChhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgfHwgIWlzTGlzdEl0ZW0oKSB8fCAh
bV9yZW5kZXJlciB8fCAhbV9yZW5kZXJlci0+aXNMaXN0SXRlbSgpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJMaXN0SXRlbT4oKm1fcmVuZGVy
ZXIpLm1hcmtlclJlbmRlcmVyKCk7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6YWRkTGlzdEl0ZW1NYXJrZXIoKQoreworICAgIGlmIChhdXRvKiBtYXJrZXIgPSBtYXJrZXJS
ZW5kZXJlcigpKQorICAgICAgICBpbnNlcnRDaGlsZChheE9iamVjdENhY2hlKCktPmdldE9yQ3Jl
YXRlKG1hcmtlciksIDApOworfQorCiB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVw
ZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24oKQogewogICAgIEFYVFJBQ0UoIkFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24iKTsKQEAg
LTMyNzAsOCArMzI5NywxMCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZENo
aWxkcmVuKCkKICAgICBpZiAoIWNhbkhhdmVDaGlsZHJlbigpKQogICAgICAgICByZXR1cm47CiAg
ICAgCi0gICAgZm9yIChSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gb2JqID0gZmlyc3RDaGls
ZCgpOyBvYmo7IG9iaiA9IG9iai0+bmV4dFNpYmxpbmcoKSkKLSAgICAgICAgYWRkQ2hpbGQob2Jq
LmdldCgpKTsKKyAgICBmb3IgKFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBvYmplY3QgPSBm
aXJzdENoaWxkKCk7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5uZXh0U2libGluZygpKSB7Cisg
ICAgICAgIGlmICghb2JqZWN0LT5yZW5kZXJlcigpLT5pc0xpc3RNYXJrZXIoKSkKKyAgICAgICAg
ICAgIGFkZENoaWxkKG9iamVjdC5nZXQoKSk7CisgICAgfQogICAgIAogICAgIG1fc3VidHJlZURp
cnR5ID0gZmFsc2U7CiAgICAgCkBAIC0zMjgxLDYgKzMzMTAsNyBAQCB2b2lkIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmFkZENoaWxkcmVuKCkKICAgICBhZGRUZXh0RmllbGRDaGlsZHJlbigp
OwogICAgIGFkZENhbnZhc0NoaWxkcmVuKCk7CiAgICAgYWRkUmVtb3RlU1ZHQ2hpbGRyZW4oKTsK
KyAgICBhZGRMaXN0SXRlbU1hcmtlcigpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdXBk
YXRlQXR0YWNobWVudFZpZXdQYXJlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCmluZGV4IGQ4ZjhhODRm
MGM3ZS4uNTk1ODQ1ZTU0NDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaApAQCAtOTEsNiArOTEsNyBAQCBw
dWJsaWM6CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbmV4dFNpYmxpbmcoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRPYmplY3QoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRPYmplY3RJZkV4aXN0cygpIGNv
bnN0IG92ZXJyaWRlOworICAgIEFYQ29yZU9iamVjdCogcGFyZW50T2JqZWN0VW5pZ25vcmVkKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JzZXJ2YWJsZU9iamVj
dCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgbGlua2VkVUlFbGVtZW50cyhBY2Nlc3NpYmls
aXR5Q2hpbGRyZW5WZWN0b3ImKSBjb25zdCBvdmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiB0aXRsZVVJRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMjM3LDYgKzIzOCw3IEBA
IHByaXZhdGU6CiAKICAgICBib29sIHJlbmRlck9iamVjdElzT2JzZXJ2YWJsZShSZW5kZXJPYmpl
Y3QmKSBjb25zdDsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlclBhcmVudE9iamVjdCgpIGNvbnN0
OworICAgIFJlbmRlck9iamVjdCogbWFya2VyUmVuZGVyZXIoKSBjb25zdDsKIAogICAgIGJvb2wg
aXNTVkdJbWFnZSgpIGNvbnN0OwogICAgIHZvaWQgZGV0YWNoUmVtb3RlU1ZHUm9vdCgpOwpAQCAt
MjUyLDYgKzI1NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGRDYW52YXNDaGlsZHJlbigpOwog
ICAgIHZvaWQgYWRkQXR0YWNobWVudENoaWxkcmVuKCk7CiAgICAgdm9pZCBhZGRSZW1vdGVTVkdD
aGlsZHJlbigpOworICAgIHZvaWQgYWRkTGlzdEl0ZW1NYXJrZXIoKTsKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICB2b2lkIHVwZGF0ZUF0dGFjaG1lbnRWaWV3UGFyZW50cygpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGZmN2Y4
MjFkZDkyLi5jZDNjODg1Y2RmNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0xOCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVg6IExpc3QgaXRlbSBt
YXJrZXIgbm90IGV4cG9zZWQgd2hlbiBub3QgYSBkaXJlY3QgY2hpbGQgb2YgYSBsaXN0IGl0ZW0K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjc3Nwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODkwODI0ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHA6CisgICAgICAgIChXVFI6
OnJvbGVWYWx1ZVRvU3RyaW5nKTogUmV0dXJuIEFYU3RhdGljIGZvciBUZXh0IHJvbGUgdG9vLgor
CiAyMDIyLTAyLTE2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAg
IFVzZSBGaWxlU3lzdGVtOjpyZWFkRW50aXJlRmlsZSBldmVyeXdoZXJlCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKaW5kZXggNGQ1M2Y0M2ZkMzk4
Li5mYWQwOTM4OGFhZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdHNwaS5jcHAKQEAgLTc3Miw2ICs3NzIsNyBAQCBzdGF0aWMgU3RyaW5nIHJvbGVWYWx1
ZVRvU3RyaW5nKHVuc2lnbmVkIHJvbGVWYWx1ZSkKICAgICBjYXNlIFdlYkNvcmU6OkF0c3BpOjpS
b2xlOjpTcGluQnV0dG9uOgogICAgICAgICByZXR1cm4gIkFYU3BpbkJ1dHRvbiJfczsKICAgICBj
YXNlIFdlYkNvcmU6OkF0c3BpOjpSb2xlOjpTdGF0aWM6CisgICAgY2FzZSBXZWJDb3JlOjpBdHNw
aTo6Um9sZTo6VGV4dDoKICAgICAgICAgcmV0dXJuICJBWFN0YXRpYyJfczsKICAgICBjYXNlIFdl
YkNvcmU6OkF0c3BpOjpSb2xlOjpTdGF0dXNCYXI6CiAgICAgICAgIHJldHVybiAiQVhTdGF0dXNC
YXIiX3M7Cg==
</data>
<flag name="commit-queue"
          id="479569"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452948</attachid>
            <date>2022-02-23 00:55:39 -0800</date>
            <delta_ts>2022-02-24 01:27:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-a11y-markers.diff</filename>
            <type>text/plain</type>
            <size>12037</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZDNkZmFkODEzMTAuLjMyMjkzYmU5NmVmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIyLTAyLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBBWDogTGlzdCBpdGVtIG1hcmtlciBub3QgZXhwb3NlZCB3aGVuIG5vdCBhIGRp
cmVjdCBjaGlsZCBvZiBhIGxpc3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Nzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MjQ4
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGVzdCByZXN1bHRzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVt
cy1hbHdheXMtZXhwb3NlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9n
dGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZ3RrL3NwYW5zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9z
cGFucy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIyLTAyLTIzICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ3Jhc2ggd2hlbiBjYWxsaW5nIFdFQkdMX2xvc2VfY29udGV4dC5sb3NlQ29udGV4dCgpIGFm
dGVyIHRoZSBjb250ZXh0IGhhcyBiZWVuIGxvc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC1l
eHBlY3RlZC50eHQKaW5kZXggOTM5ZDEwZjZkNWI5Li43Mjg5YmFhNWMwYmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRl
bXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQudHh0CkBAIC04LDcgKzgsOSBAQCBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURQogCiBQQVNTIGxpc3Qucm9sZSBpcyAnQVhSb2xlOiBBWExpc3QnCiBQQVNT
IGl0ZW0xLnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0SXRlbScKK1BBU1MgbWFya2VyMS5yb2xlIGlz
ICdBWFJvbGU6IEFYU3RhdGljJwogUEFTUyBpdGVtMi5yb2xlIGlzICdBWFJvbGU6IEFYTGlzdEl0
ZW0nCitQQVNTIG1hcmtlcjIucm9sZSBpcyAnQVhSb2xlOiBBWFN0YXRpYycKIFBBU1MgcGFyYWdy
YXBoLnJvbGUgaXMgJ0FYUm9sZTogQVhQYXJhZ3JhcGgnCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xp
c3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
Z3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQuaHRtbAppbmRleCBmMWM1ZjlkYjAwZjYuLmJm
MmM2NTdhMzMwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlz
dC1pdGVtcy1hbHdheXMtZXhwb3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQuaHRtbApAQCAtMjMsMTIgKzIzLDE2IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCiAgICAgdmFyIGxpc3QgPSB3ZWJBcmVhLmNoaWxk
QXRJbmRleCgwKTsKICAgICB2YXIgaXRlbTEgPSBsaXN0LmNoaWxkQXRJbmRleCgwKTsKKyAgICB2
YXIgbWFya2VyMSA9IGl0ZW0xLmNoaWxkQXRJbmRleCgwKTsKICAgICB2YXIgaXRlbTIgPSBsaXN0
LmNoaWxkQXRJbmRleCgxKTsKLSAgICB2YXIgcGFyYWdyYXBoID0gaXRlbTIuY2hpbGRBdEluZGV4
KDApOworICAgIHZhciBtYXJrZXIyID0gaXRlbTIuY2hpbGRBdEluZGV4KDApOworICAgIHZhciBw
YXJhZ3JhcGggPSBpdGVtMi5jaGlsZEF0SW5kZXgoMSk7CiAKICAgICBzaG91bGRCZSgibGlzdC5y
b2xlIiwgIidBWFJvbGU6IEFYTGlzdCciKTsKICAgICBzaG91bGRCZSgiaXRlbTEucm9sZSIsICIn
QVhSb2xlOiBBWExpc3RJdGVtJyIpOworICAgIHNob3VsZEJlKCJtYXJrZXIxLnJvbGUiLCAiJ0FY
Um9sZTogQVhTdGF0aWMnIik7CiAgICAgc2hvdWxkQmUoIml0ZW0yLnJvbGUiLCAiJ0FYUm9sZTog
QVhMaXN0SXRlbSciKTsKKyAgICBzaG91bGRCZSgibWFya2VyMi5yb2xlIiwgIidBWFJvbGU6IEFY
U3RhdGljJyIpOwogICAgIHNob3VsZEJlKCJwYXJhZ3JhcGgucm9sZSIsICInQVhSb2xlOiBBWFBh
cmFncmFwaCciKTsKICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9ndGsvc3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsv
c3BhbnMtZXhwZWN0ZWQudHh0CmluZGV4IDU0ZTkyNzE1NzkxMy4uYjBkMGYxZjA0ZjA3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMtZXhwZWN0ZWQudHh0CkBA
IC0yNiw5ICsyNiwxMyBAQCBQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCiBQQVNTIGVsZW1l
bnQucm9sZSBpcyAnQVhSb2xlOiBBWExpc3QnCiBQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBp
cyAyCiBQQVNTIGl0ZW0ucm9sZSBpcyAnQVhSb2xlOiBBWExpc3RJdGVtJwotUEFTUyBpdGVtLmNo
aWxkcmVuQ291bnQgaXMgMAotUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0SXRlbScK
IFBBU1MgaXRlbS5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbWFya2VyLnJvbGUgaXMgJ0FYUm9s
ZTogQVhTdGF0aWMnCitQQVNTIG1hcmtlci5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgaXRlbS5y
b2xlIGlzICdBWFJvbGU6IEFYTGlzdEl0ZW0nCitQQVNTIGl0ZW0uY2hpbGRyZW5Db3VudCBpcyAy
CitQQVNTIG1hcmtlci5yb2xlIGlzICdBWFJvbGU6IEFYU3RhdGljJworUEFTUyBtYXJrZXIuY2hp
bGRyZW5Db3VudCBpcyAwCiBQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBBWExpbmsnCiBQQVNT
IGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy5odG1sIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMuaHRtbAppbmRleCBkMDlhN2JlMzJh
M2YuLjQ2ZGNjYzZkOTk4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9n
dGsvc3BhbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy5o
dG1sCkBAIC02MSwxMyArNjEsMjEgQEAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgewogCiAgICAgdmFyIGl0ZW0gPSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKICAgICBzaG91
bGRCZSgiaXRlbS5yb2xlIiwgIidBWFJvbGU6IEFYTGlzdEl0ZW0nIik7Ci0gICAgc2hvdWxkQmUo
Iml0ZW0uY2hpbGRyZW5Db3VudCIsICIwIik7CisgICAgc2hvdWxkQmUoIml0ZW0uY2hpbGRyZW5D
b3VudCIsICIxIik7CisKKyAgICB2YXIgbWFya2VyID0gaXRlbS5jaGlsZEF0SW5kZXgoMCk7Cisg
ICAgc2hvdWxkQmUoIm1hcmtlci5yb2xlIiwgIidBWFJvbGU6IEFYU3RhdGljJyIpOworICAgIHNo
b3VsZEJlKCJtYXJrZXIuY2hpbGRyZW5Db3VudCIsICIwIik7CiAKICAgICBpdGVtID0gZWxlbWVu
dC5jaGlsZEF0SW5kZXgoMSk7CiAgICAgc2hvdWxkQmUoIml0ZW0ucm9sZSIsICInQVhSb2xlOiBB
WExpc3RJdGVtJyIpOwotICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMSIpOwor
ICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMiIpOworCisgICAgbWFya2VyID0g
aXRlbS5jaGlsZEF0SW5kZXgoMCk7CisgICAgc2hvdWxkQmUoIm1hcmtlci5yb2xlIiwgIidBWFJv
bGU6IEFYU3RhdGljJyIpOworICAgIHNob3VsZEJlKCJtYXJrZXIuY2hpbGRyZW5Db3VudCIsICIw
Iik7CiAKLSAgICBsaW5rID0gaXRlbS5jaGlsZEF0SW5kZXgoMCk7CisgICAgbGluayA9IGl0ZW0u
Y2hpbGRBdEluZGV4KDEpOwogICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogQVhM
aW5rJyIpOwogICAgIHNob3VsZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOwogfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0YmIzZTg1MTdkNWUu
LjdmZGRlMWQ0MDliMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTEzNyw3ICsxMzcsNiBAQCBhY2Nlc3NpYmlsaXR5L21vZGVsLWVsZW1lbnQtYXR0cmli
dXRlcy5odG1sIFsgU2tpcCBdCiAjIFRlc3RzIGZhaWxpbmcgd2l0aCBBVFNQSSBpbXBsZW1lbnRh
dGlvbi4KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9ndGsvbmVzdGVkLWJsb2Nr
LWVsZW1lbnQtY2hpbGRyZW4uaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIzNTk0MSBh
Y2Nlc3NpYmlsaXR5L2d0ay9uby1ub3RpZmljYXRpb24tZm9yLXVucmVuZGVyZWQtaWZyYW1lLWNo
aWxkcmVuLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0
eS9ndGsvc3BhbnMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIzNTk0MSBhY2Nlc3Np
YmlsaXR5L2d0ay90ZXh0LWF0LW9mZnNldC1lbWJlZGRlZC1vYmplY3RzLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9ndGsvdGV4dC1hdC1vZmZzZXQt
c3BlY2lhbC1jaGFycy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjM1OTQxIGFjY2Vz
c2liaWxpdHkvZ3RrL3htbC1yb2xlcy1leHBvc2VkLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAxODQ4MmVlMzBiNDEuLmIzMjBlNjNjZWQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDIyLTAyLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBBWDogTGlzdCBpdGVtIG1hcmtlciBub3QgZXhwb3NlZCB3aGVuIG5vdCBh
IGRpcmVjdCBjaGlsZCBvZiBhIGxpc3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Nzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4
MjQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
dCBjYW4gaGFwcGVuIHRoYXQgdGhlIG1hcmtlciBpcyBub3QgYSBkaXJlY3QgY2hpbGQgb2YgYSBs
aXN0IGl0ZW0sIGluIHdoaWNoIGNhc2UgdGhlIG1hcmtlciBpcyBpZ25vcmVkIGFuZCBub3QKKyAg
ICAgICAgZXhwb3NlZCB0byBBVHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6cGFyZW50T2JqZWN0VW5pZ25vcmVkIGNvbnN0KTogSW4gY2FzZSBvZiBsaXN0
IG1hcmtlciBmaW5kIHRoZSBtYXJrZXIgbGlzdCBpdGVtLgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bWFya2VyUmVuZGVyZXIgY29uc3QpOiBIZWxwZXIgdG8g
cmV0dXJuIHRoZSBsaXN0IGl0ZW0gbWFya2VyIHJlbmRlcmVyLgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkTGlzdEl0ZW1NYXJrZXIpOiBBZGQgYWx3YXlz
IHRoZSBsaXN0IGl0ZW0gbWFya2VyIGFzIHRoZSBmaXJzdCBjaGlsZCBvZgorICAgICAgICBsaXN0
IGl0ZW1zLgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRk
Q2hpbGRyZW4pOiBEbyBub3QgYWRkIGxpc3QgaXRlbSBtYXJrZXIgY2hpbGRyZW4sIHRoZXkgd2ls
bCBiZSBhZGRlZCB0bworICAgICAgICB0aGUgcmlnaHQgcGFyZW50IGluIGFkZExpc3RJdGVtTWFy
a2VyKCkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
Lmg6CisKIDIwMjItMDItMjMgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTihyMjg5NDc0KTogW2lPU10gQVNTRVJUSU9OIEZBSUxFRDogaXNNYWlu
VGhyZWFkKCkgdW5kZXIgV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6YWJv
cnRBY3RpdmVUcmFuc2FjdGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggMjdlMzc4YWIw
NDljLi5iOGIwNzhiNTJhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtNTI3LDcgKzUyNywy
MyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpwYXJl
bnRPYmplY3QoKSBjb25zdAogICAgIAogICAgIHJldHVybiBudWxscHRyOwogfQotICAgIAorCitB
WENvcmVPYmplY3QqIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnBhcmVudE9iamVjdFVuaWdu
b3JlZCgpIGNvbnN0Cit7CisjaWYgVVNFKEFUU1BJKQorICAgIC8vIEV4cG9zZSBtYXJrZXJzIHRo
YXQgYXJlIG5vdCBkaXJlY3QgY2hpbGRyZW4gb2YgYSBsaXN0IGl0ZW0gdG9vLgorICAgIGlmICht
X3JlbmRlcmVyICYmIG1fcmVuZGVyZXItPmlzTGlzdE1hcmtlcigpKSB7CisgICAgICAgIGlmIChh
dXRvKiBsaXN0SXRlbSA9IGFuY2VzdG9yc09mVHlwZTxSZW5kZXJMaXN0SXRlbT4oKm1fcmVuZGVy
ZXIpLmZpcnN0KCkpIHsKKyAgICAgICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9
IGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobGlzdEl0ZW0pOworICAgICAgICAgICAgaWYg
KGRvd25jYXN0PEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q+KCpwYXJlbnQpLm1hcmtlclJlbmRl
cmVyKCkgPT0gbV9yZW5kZXJlcikKKyAgICAgICAgICAgICAgICByZXR1cm4gcGFyZW50OworICAg
ICAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OnBhcmVudE9iamVjdFVuaWdub3JlZCgpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmlzQXR0YWNobWVudCgpIGNvbnN0CiB7CiAgICAgUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIHJlbmRlcmVyID0gcmVuZGVyQm94TW9kZWxPYmplY3QoKTsKQEAgLTMyMzYsNyArMzI1Miwy
MSBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZEhpZGRlbkNoaWxkcmVuKCkK
ICAgICAgICAgaW5zZXJ0aW9uSW5kZXggKz0gKG1fY2hpbGRyZW4uc2l6ZSgpIC0gcHJldmlvdXNT
aXplKTsKICAgICB9CiB9Ci0gICAgCisKK1JlbmRlck9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6bWFya2VyUmVuZGVyZXIoKSBjb25zdAoreworICAgIGlmIChhY2Nlc3NpYmlsaXR5
SXNJZ25vcmVkKCkgfHwgIWlzTGlzdEl0ZW0oKSB8fCAhbV9yZW5kZXJlciB8fCAhbV9yZW5kZXJl
ci0+aXNMaXN0SXRlbSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBk
b3duY2FzdDxSZW5kZXJMaXN0SXRlbT4oKm1fcmVuZGVyZXIpLm1hcmtlclJlbmRlcmVyKCk7Cit9
CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkTGlzdEl0ZW1NYXJrZXIoKQor
eworICAgIGlmIChhdXRvKiBtYXJrZXIgPSBtYXJrZXJSZW5kZXJlcigpKQorICAgICAgICBpbnNl
cnRDaGlsZChheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKG1hcmtlciksIDApOworfQorCiB2
b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3Jl
YXRpb24oKQogewogICAgIEFYVFJBQ0UoIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0
ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24iKTsKQEAgLTMyNzAsOCArMzMwMCwxMCBAQCB2b2lk
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZENoaWxkcmVuKCkKICAgICBpZiAoIWNhbkhh
dmVDaGlsZHJlbigpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgZm9yIChSZWZQdHI8QWNj
ZXNzaWJpbGl0eU9iamVjdD4gb2JqID0gZmlyc3RDaGlsZCgpOyBvYmo7IG9iaiA9IG9iai0+bmV4
dFNpYmxpbmcoKSkKLSAgICAgICAgYWRkQ2hpbGQob2JqLmdldCgpKTsKKyAgICBmb3IgKFJlZlB0
cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBvYmplY3QgPSBmaXJzdENoaWxkKCk7IG9iamVjdDsgb2Jq
ZWN0ID0gb2JqZWN0LT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmICghb2JqZWN0LT5yZW5k
ZXJlcigpLT5pc0xpc3RNYXJrZXIoKSkKKyAgICAgICAgICAgIGFkZENoaWxkKG9iamVjdC5nZXQo
KSk7CisgICAgfQogICAgIAogICAgIG1fc3VidHJlZURpcnR5ID0gZmFsc2U7CiAgICAgCkBAIC0z
MjgxLDYgKzMzMTMsNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZENoaWxk
cmVuKCkKICAgICBhZGRUZXh0RmllbGRDaGlsZHJlbigpOwogICAgIGFkZENhbnZhc0NoaWxkcmVu
KCk7CiAgICAgYWRkUmVtb3RlU1ZHQ2hpbGRyZW4oKTsKKyAgICBhZGRMaXN0SXRlbU1hcmtlcigp
OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdXBkYXRlQXR0YWNobWVudFZpZXdQYXJlbnRz
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oCmluZGV4IGQ4ZjhhODRmMGM3ZS4uNTk1ODQ1ZTU0NDg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaApAQCAtOTEsNiArOTEsNyBAQCBwdWJsaWM6CiAgICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogbmV4dFNpYmxpbmcoKSBjb25zdCBvdmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBwYXJlbnRPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBwYXJlbnRPYmplY3RJZkV4aXN0cygpIGNvbnN0IG92ZXJyaWRlOworICAgIEFYQ29y
ZU9iamVjdCogcGFyZW50T2JqZWN0VW5pZ25vcmVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogb2JzZXJ2YWJsZU9iamVjdCgpIGNvbnN0IG92ZXJyaWRlOwogICAg
IHZvaWQgbGlua2VkVUlFbGVtZW50cyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKSBjb25z
dCBvdmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiB0aXRsZVVJRWxlbWVudCgpIGNv
bnN0IG92ZXJyaWRlOwpAQCAtMjM3LDYgKzIzOCw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIHJl
bmRlck9iamVjdElzT2JzZXJ2YWJsZShSZW5kZXJPYmplY3QmKSBjb25zdDsKICAgICBSZW5kZXJP
YmplY3QqIHJlbmRlclBhcmVudE9iamVjdCgpIGNvbnN0OworICAgIFJlbmRlck9iamVjdCogbWFy
a2VyUmVuZGVyZXIoKSBjb25zdDsKIAogICAgIGJvb2wgaXNTVkdJbWFnZSgpIGNvbnN0OwogICAg
IHZvaWQgZGV0YWNoUmVtb3RlU1ZHUm9vdCgpOwpAQCAtMjUyLDYgKzI1NCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBhZGRDYW52YXNDaGlsZHJlbigpOwogICAgIHZvaWQgYWRkQXR0YWNobWVudENo
aWxkcmVuKCk7CiAgICAgdm9pZCBhZGRSZW1vdGVTVkdDaGlsZHJlbigpOworICAgIHZvaWQgYWRk
TGlzdEl0ZW1NYXJrZXIoKTsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHVwZGF0ZUF0
dGFjaG1lbnRWaWV3UGFyZW50cygpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDg1YTRjNWY0NTgxLi5lOGFkN2MzYTAxOTQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMi0wMi0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CisKKyAgICAgICAgQVg6IExpc3QgaXRlbSBtYXJrZXIgbm90IGV4cG9zZWQgd2hlbiBu
b3QgYSBkaXJlY3QgY2hpbGQgb2YgYSBsaXN0IGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjc3NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODkwODI0ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdHNwaS5jcHA6CisgICAgICAgIChXVFI6OnJvbGVWYWx1ZVRvU3RyaW5nKTogUmV0
dXJuIEFYU3RhdGljIGZvciBUZXh0IHJvbGUgdG9vLgorCiAyMDIyLTAyLTIzICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgV2ViUlRDUmVtb3RlVmlk
ZW9GcmFtZUVuYWJsZWQgYnkgZGVmYXVsdCBpbiBXZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKaW5kZXggNGQ1M2Y0M2Zk
Mzk4Li5mYWQwOTM4OGFhZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdHNwaS5jcHAKQEAgLTc3Miw2ICs3NzIsNyBAQCBzdGF0aWMgU3RyaW5nIHJvbGVW
YWx1ZVRvU3RyaW5nKHVuc2lnbmVkIHJvbGVWYWx1ZSkKICAgICBjYXNlIFdlYkNvcmU6OkF0c3Bp
OjpSb2xlOjpTcGluQnV0dG9uOgogICAgICAgICByZXR1cm4gIkFYU3BpbkJ1dHRvbiJfczsKICAg
ICBjYXNlIFdlYkNvcmU6OkF0c3BpOjpSb2xlOjpTdGF0aWM6CisgICAgY2FzZSBXZWJDb3JlOjpB
dHNwaTo6Um9sZTo6VGV4dDoKICAgICAgICAgcmV0dXJuICJBWFN0YXRpYyJfczsKICAgICBjYXNl
IFdlYkNvcmU6OkF0c3BpOjpSb2xlOjpTdGF0dXNCYXI6CiAgICAgICAgIHJldHVybiAiQVhTdGF0
dXNCYXIiX3M7Cg==
</data>
<flag name="commit-queue"
          id="480269"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453083</attachid>
            <date>2022-02-24 01:27:23 -0800</date>
            <delta_ts>2022-02-25 04:39:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-a11y-markers.diff</filename>
            <type>text/plain</type>
            <size>12159</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NGZkZGNjYzg1NjAuLjJjODMzNzZiMzJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIyLTAyLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBBWDogTGlzdCBpdGVtIG1hcmtlciBub3QgZXhwb3NlZCB3aGVuIG5vdCBhIGRp
cmVjdCBjaGlsZCBvZiBhIGxpc3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Nzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MjQ4
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGVzdCByZXN1bHRzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVt
cy1hbHdheXMtZXhwb3NlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9n
dGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC5odG1sOgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZ3RrL3NwYW5zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9z
cGFucy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIyLTAyLTIzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI5MDI4NC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVtcy1hbHdheXMtZXhw
b3NlZC1leHBlY3RlZC50eHQKaW5kZXggOTM5ZDEwZjZkNWI5Li43Mjg5YmFhNWMwYmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4
cG9zZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xp
c3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQudHh0CkBAIC04LDcgKzgsOSBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIGxpc3Qucm9sZSBpcyAnQVhSb2xlOiBBWExpc3Qn
CiBQQVNTIGl0ZW0xLnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0SXRlbScKK1BBU1MgbWFya2VyMS5y
b2xlIGlzICdBWFJvbGU6IEFYU3RhdGljJwogUEFTUyBpdGVtMi5yb2xlIGlzICdBWFJvbGU6IEFY
TGlzdEl0ZW0nCitQQVNTIG1hcmtlcjIucm9sZSBpcyAnQVhSb2xlOiBBWFN0YXRpYycKIFBBU1Mg
cGFyYWdyYXBoLnJvbGUgaXMgJ0FYUm9sZTogQVhQYXJhZ3JhcGgnCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
Z3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQuaHRtbAppbmRleCBmMWM1ZjlkYjAw
ZjYuLmJmMmM2NTdhMzMwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9n
dGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQuaHRtbApAQCAtMjMsMTIgKzIz
LDE2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCiAgICAgdmFyIGxpc3QgPSB3ZWJBcmVh
LmNoaWxkQXRJbmRleCgwKTsKICAgICB2YXIgaXRlbTEgPSBsaXN0LmNoaWxkQXRJbmRleCgwKTsK
KyAgICB2YXIgbWFya2VyMSA9IGl0ZW0xLmNoaWxkQXRJbmRleCgwKTsKICAgICB2YXIgaXRlbTIg
PSBsaXN0LmNoaWxkQXRJbmRleCgxKTsKLSAgICB2YXIgcGFyYWdyYXBoID0gaXRlbTIuY2hpbGRB
dEluZGV4KDApOworICAgIHZhciBtYXJrZXIyID0gaXRlbTIuY2hpbGRBdEluZGV4KDApOworICAg
IHZhciBwYXJhZ3JhcGggPSBpdGVtMi5jaGlsZEF0SW5kZXgoMSk7CiAKICAgICBzaG91bGRCZSgi
bGlzdC5yb2xlIiwgIidBWFJvbGU6IEFYTGlzdCciKTsKICAgICBzaG91bGRCZSgiaXRlbTEucm9s
ZSIsICInQVhSb2xlOiBBWExpc3RJdGVtJyIpOworICAgIHNob3VsZEJlKCJtYXJrZXIxLnJvbGUi
LCAiJ0FYUm9sZTogQVhTdGF0aWMnIik7CiAgICAgc2hvdWxkQmUoIml0ZW0yLnJvbGUiLCAiJ0FY
Um9sZTogQVhMaXN0SXRlbSciKTsKKyAgICBzaG91bGRCZSgibWFya2VyMi5yb2xlIiwgIidBWFJv
bGU6IEFYU3RhdGljJyIpOwogICAgIHNob3VsZEJlKCJwYXJhZ3JhcGgucm9sZSIsICInQVhSb2xl
OiBBWFBhcmFncmFwaCciKTsKICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9ndGsvc3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9ndGsvc3BhbnMtZXhwZWN0ZWQudHh0CmluZGV4IDU0ZTkyNzE1NzkxMy4uYjBkMGYxZjA0ZjA3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMtZXhwZWN0ZWQu
dHh0CkBAIC0yNiw5ICsyNiwxMyBAQCBQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCiBQQVNT
IGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWExpc3QnCiBQQVNTIGVsZW1lbnQuY2hpbGRyZW5D
b3VudCBpcyAyCiBQQVNTIGl0ZW0ucm9sZSBpcyAnQVhSb2xlOiBBWExpc3RJdGVtJwotUEFTUyBp
dGVtLmNoaWxkcmVuQ291bnQgaXMgMAotUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0
SXRlbScKIFBBU1MgaXRlbS5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbWFya2VyLnJvbGUgaXMg
J0FYUm9sZTogQVhTdGF0aWMnCitQQVNTIG1hcmtlci5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1Mg
aXRlbS5yb2xlIGlzICdBWFJvbGU6IEFYTGlzdEl0ZW0nCitQQVNTIGl0ZW0uY2hpbGRyZW5Db3Vu
dCBpcyAyCitQQVNTIG1hcmtlci5yb2xlIGlzICdBWFJvbGU6IEFYU3RhdGljJworUEFTUyBtYXJr
ZXIuY2hpbGRyZW5Db3VudCBpcyAwCiBQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBBWExpbmsn
CiBQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy5o
dG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMuaHRtbAppbmRleCBkMDlh
N2JlMzJhM2YuLjQ2ZGNjYzZkOTk4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9ndGsvc3BhbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9z
cGFucy5odG1sCkBAIC02MSwxMyArNjEsMjEgQEAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcikgewogCiAgICAgdmFyIGl0ZW0gPSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKICAg
ICBzaG91bGRCZSgiaXRlbS5yb2xlIiwgIidBWFJvbGU6IEFYTGlzdEl0ZW0nIik7Ci0gICAgc2hv
dWxkQmUoIml0ZW0uY2hpbGRyZW5Db3VudCIsICIwIik7CisgICAgc2hvdWxkQmUoIml0ZW0uY2hp
bGRyZW5Db3VudCIsICIxIik7CisKKyAgICB2YXIgbWFya2VyID0gaXRlbS5jaGlsZEF0SW5kZXgo
MCk7CisgICAgc2hvdWxkQmUoIm1hcmtlci5yb2xlIiwgIidBWFJvbGU6IEFYU3RhdGljJyIpOwor
ICAgIHNob3VsZEJlKCJtYXJrZXIuY2hpbGRyZW5Db3VudCIsICIwIik7CiAKICAgICBpdGVtID0g
ZWxlbWVudC5jaGlsZEF0SW5kZXgoMSk7CiAgICAgc2hvdWxkQmUoIml0ZW0ucm9sZSIsICInQVhS
b2xlOiBBWExpc3RJdGVtJyIpOwotICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAi
MSIpOworICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMiIpOworCisgICAgbWFy
a2VyID0gaXRlbS5jaGlsZEF0SW5kZXgoMCk7CisgICAgc2hvdWxkQmUoIm1hcmtlci5yb2xlIiwg
IidBWFJvbGU6IEFYU3RhdGljJyIpOworICAgIHNob3VsZEJlKCJtYXJrZXIuY2hpbGRyZW5Db3Vu
dCIsICIwIik7CiAKLSAgICBsaW5rID0gaXRlbS5jaGlsZEF0SW5kZXgoMCk7CisgICAgbGluayA9
IGl0ZW0uY2hpbGRBdEluZGV4KDEpOwogICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9s
ZTogQVhMaW5rJyIpOwogICAgIHNob3VsZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOwog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0OWIwMjFm
MjBmYzguLjI5MWQyOTFhODMwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTEzNyw3ICsxMzcsNiBAQCBhY2Nlc3NpYmlsaXR5L21vZGVsLWVsZW1lbnQt
YXR0cmlidXRlcy5odG1sIFsgU2tpcCBdCiAjIFRlc3RzIGZhaWxpbmcgd2l0aCBBVFNQSSBpbXBs
ZW1lbnRhdGlvbi4KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9ndGsvbmVzdGVk
LWJsb2NrLWVsZW1lbnQtY2hpbGRyZW4uaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIz
NTk0MSBhY2Nlc3NpYmlsaXR5L2d0ay9uby1ub3RpZmljYXRpb24tZm9yLXVucmVuZGVyZWQtaWZy
YW1lLWNoaWxkcmVuLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNz
aWJpbGl0eS9ndGsvc3BhbnMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIzNTk0MSBh
Y2Nlc3NpYmlsaXR5L2d0ay90ZXh0LWF0LW9mZnNldC1lbWJlZGRlZC1vYmplY3RzLmh0bWwgWyBG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9ndGsvdGV4dC1hdC1v
ZmZzZXQtc3BlY2lhbC1jaGFycy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjM1OTQx
IGFjY2Vzc2liaWxpdHkvZ3RrL3htbC1yb2xlcy1leHBvc2VkLmh0bWwgWyBGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAxZmE2ZGE0N2FiZTYuLjZlYmE5NzBjYWVmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIzIEBACisyMDIyLTAyLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBBWDogTGlzdCBpdGVtIG1hcmtlciBub3QgZXhwb3NlZCB3aGVu
IG5vdCBhIGRpcmVjdCBjaGlsZCBvZiBhIGxpc3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Nzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84OTA4MjQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJdCBjYW4gaGFwcGVuIHRoYXQgdGhlIG1hcmtlciBpcyBub3QgYSBkaXJlY3QgY2hpbGQg
b2YgYSBsaXN0IGl0ZW0sIGluIHdoaWNoIGNhc2UgdGhlIG1hcmtlciBpcyBpZ25vcmVkIGFuZCBu
b3QKKyAgICAgICAgZXhwb3NlZCB0byBBVHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdDo6cGFyZW50T2JqZWN0VW5pZ25vcmVkIGNvbnN0KTogSW4gY2FzZSBv
ZiBsaXN0IG1hcmtlciBmaW5kIHRoZSBtYXJrZXIgbGlzdCBpdGVtLgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bWFya2VyUmVuZGVyZXIgY29uc3QpOiBIZWxw
ZXIgdG8gcmV0dXJuIHRoZSBsaXN0IGl0ZW0gbWFya2VyIHJlbmRlcmVyLgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkTGlzdEl0ZW1NYXJrZXIpOiBBZGQg
YWx3YXlzIHRoZSBsaXN0IGl0ZW0gbWFya2VyIGFzIHRoZSBmaXJzdCBjaGlsZCBvZgorICAgICAg
ICBsaXN0IGl0ZW1zLgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6YWRkQ2hpbGRyZW4pOiBEbyBub3QgYWRkIGxpc3QgaXRlbSBtYXJrZXIgY2hpbGRyZW4sIHRo
ZXkgd2lsbCBiZSBhZGRlZCB0bworICAgICAgICB0aGUgcmlnaHQgcGFyZW50IGluIGFkZExpc3RJ
dGVtTWFya2VyKCkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Lmg6CisKIDIwMjItMDItMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjkwMjg0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKaW5kZXggNWU5MjY3ZDk1Y2UzLi4yYWM3ZGNjOGRlZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcApAQCAtNTI4LDcgKzUyOCwyMyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpwYXJlbnRPYmplY3QoKSBjb25zdAogICAgIAogICAgIHJl
dHVybiBudWxscHRyOwogfQotICAgIAorCitBWENvcmVPYmplY3QqIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OnBhcmVudE9iamVjdFVuaWdub3JlZCgpIGNvbnN0Cit7CisjaWYgVVNFKEFUU1BJ
KQorICAgIC8vIEV4cG9zZSBtYXJrZXJzIHRoYXQgYXJlIG5vdCBkaXJlY3QgY2hpbGRyZW4gb2Yg
YSBsaXN0IGl0ZW0gdG9vLgorICAgIGlmIChtX3JlbmRlcmVyICYmIG1fcmVuZGVyZXItPmlzTGlz
dE1hcmtlcigpKSB7CisgICAgICAgIGlmIChhdXRvKiBsaXN0SXRlbSA9IGFuY2VzdG9yc09mVHlw
ZTxSZW5kZXJMaXN0SXRlbT4oKm1fcmVuZGVyZXIpLmZpcnN0KCkpIHsKKyAgICAgICAgICAgIEFj
Y2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUo
bGlzdEl0ZW0pOworICAgICAgICAgICAgaWYgKGRvd25jYXN0PEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q+KCpwYXJlbnQpLm1hcmtlclJlbmRlcmVyKCkgPT0gbV9yZW5kZXJlcikKKyAgICAgICAg
ICAgICAgICByZXR1cm4gcGFyZW50OworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICBy
ZXR1cm4gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnBhcmVudE9iamVjdFVuaWdub3JlZCgpOwor
fQorCiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzQXR0YWNobWVudCgpIGNvbnN0
CiB7CiAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyID0gcmVuZGVyQm94TW9kZWxP
YmplY3QoKTsKQEAgLTMyMzksNyArMzI1NSwyMyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmFkZEhpZGRlbkNoaWxkcmVuKCkKICAgICAgICAgaW5zZXJ0aW9uSW5kZXggKz0gKG1f
Y2hpbGRyZW4uc2l6ZSgpIC0gcHJldmlvdXNTaXplKTsKICAgICB9CiB9Ci0gICAgCisKKyNpZiBV
U0UoQVRTUEkpCitSZW5kZXJPYmplY3QqIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Om1hcmtl
clJlbmRlcmVyKCkgY29uc3QKK3sKKyAgICBpZiAoYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIHx8
ICFpc0xpc3RJdGVtKCkgfHwgIW1fcmVuZGVyZXIgfHwgIW1fcmVuZGVyZXItPmlzTGlzdEl0ZW0o
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVy
TGlzdEl0ZW0+KCptX3JlbmRlcmVyKS5tYXJrZXJSZW5kZXJlcigpOworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZExpc3RJdGVtTWFya2VyKCkKK3sKKyAgICBpZiAoYXV0
byogbWFya2VyID0gbWFya2VyUmVuZGVyZXIoKSkKKyAgICAgICAgaW5zZXJ0Q2hpbGQoYXhPYmpl
Y3RDYWNoZSgpLT5nZXRPckNyZWF0ZShtYXJrZXIpLCAwKTsKK30KKyNlbmRpZgorCiB2b2lkIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZVJvbGVBZnRlckNoaWxkcmVuQ3JlYXRpb24o
KQogewogICAgIEFYVFJBQ0UoIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnVwZGF0ZVJvbGVB
ZnRlckNoaWxkcmVuQ3JlYXRpb24iKTsKQEAgLTMyNzIsMTAgKzMzMDQsMTggQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRDaGlsZHJlbigpCiAgICAgCiAgICAgaWYgKCFjYW5I
YXZlQ2hpbGRyZW4oKSkKICAgICAgICAgcmV0dXJuOwotICAgIAotICAgIGZvciAoUmVmUHRyPEFj
Y2Vzc2liaWxpdHlPYmplY3Q+IG9iaiA9IGZpcnN0Q2hpbGQoKTsgb2JqOyBvYmogPSBvYmotPm5l
eHRTaWJsaW5nKCkpCi0gICAgICAgIGFkZENoaWxkKG9iai5nZXQoKSk7Ci0gICAgCisKKyAgICBh
dXRvIGFkZENoaWxkSWZOZWVkZWQgPSBbdGhpc10oQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0
KSB7CisjaWYgVVNFKEFUU1BJKQorICAgICAgICBpZiAob2JqZWN0LnJlbmRlcmVyKCktPmlzTGlz
dE1hcmtlcigpKQorICAgICAgICAgICAgcmV0dXJuOworI2VuZGlmCisgICAgICAgIGFkZENoaWxk
KCZvYmplY3QpOworICAgIH07CisKKyAgICBmb3IgKFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0
PiBvYmplY3QgPSBmaXJzdENoaWxkKCk7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5uZXh0U2li
bGluZygpKQorICAgICAgICBhZGRDaGlsZElmTmVlZGVkKCpvYmplY3QpOworCiAgICAgbV9zdWJ0
cmVlRGlydHkgPSBmYWxzZTsKICAgICAKICAgICBhZGRIaWRkZW5DaGlsZHJlbigpOwpAQCAtMzI4
NCw2ICszMzI0LDkgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRDaGlsZHJl
bigpCiAgICAgYWRkVGV4dEZpZWxkQ2hpbGRyZW4oKTsKICAgICBhZGRDYW52YXNDaGlsZHJlbigp
OwogICAgIGFkZFJlbW90ZVNWR0NoaWxkcmVuKCk7CisjaWYgVVNFKEFUU1BJKQorICAgIGFkZExp
c3RJdGVtTWFya2VyKCk7CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHVwZGF0
ZUF0dGFjaG1lbnRWaWV3UGFyZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAppbmRleCBkOGY4YTg0ZjBj
N2UuLjc4NjVkZTZjMzI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKQEAgLTkxLDYgKzkxLDcgQEAgcHVi
bGljOgogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG5leHRTaWJsaW5nKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50T2JqZWN0KCkgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50T2JqZWN0SWZFeGlzdHMoKSBjb25z
dCBvdmVycmlkZTsKKyAgICBBWENvcmVPYmplY3QqIHBhcmVudE9iamVjdFVuaWdub3JlZCgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9ic2VydmFibGVPYmplY3Qo
KSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIGxpbmtlZFVJRWxlbWVudHMoQWNjZXNzaWJpbGl0
eUNoaWxkcmVuVmVjdG9yJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVj
dCogdGl0bGVVSUVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKQEAgLTIzNyw2ICsyMzgsOSBAQCBw
cml2YXRlOgogCiAgICAgYm9vbCByZW5kZXJPYmplY3RJc09ic2VydmFibGUoUmVuZGVyT2JqZWN0
JikgY29uc3Q7CiAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJQYXJlbnRPYmplY3QoKSBjb25zdDsK
KyNpZiBVU0UoQVRTUEkpCisgICAgUmVuZGVyT2JqZWN0KiBtYXJrZXJSZW5kZXJlcigpIGNvbnN0
OworI2VuZGlmCiAKICAgICBib29sIGlzU1ZHSW1hZ2UoKSBjb25zdDsKICAgICB2b2lkIGRldGFj
aFJlbW90ZVNWR1Jvb3QoKTsKQEAgLTI1Miw2ICsyNTYsOSBAQCBwcml2YXRlOgogICAgIHZvaWQg
YWRkQ2FudmFzQ2hpbGRyZW4oKTsKICAgICB2b2lkIGFkZEF0dGFjaG1lbnRDaGlsZHJlbigpOwog
ICAgIHZvaWQgYWRkUmVtb3RlU1ZHQ2hpbGRyZW4oKTsKKyNpZiBVU0UoQVRTUEkpCisgICAgdm9p
ZCBhZGRMaXN0SXRlbU1hcmtlcigpOworI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
dm9pZCB1cGRhdGVBdHRhY2htZW50Vmlld1BhcmVudHMoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDYzZTExMjllMDY4OC4uZWYz
ZjY2NmFiZDQ5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDItMjMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIEFYOiBMaXN0IGl0ZW0gbWFya2VyIG5vdCBl
eHBvc2VkIHdoZW4gbm90IGEgZGlyZWN0IGNoaWxkIG9mIGEgbGlzdCBpdGVtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY3NzcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzg5MDgyNDg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwOgorICAgICAgICAoV1RSOjpyb2xlVmFsdWVU
b1N0cmluZyk6IFJldHVybiBBWFN0YXRpYyBmb3IgVGV4dCByb2xlIHRvby4KKwogMjAyMi0wMi0y
MyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkb3B0IG1vcmUg
d2lkZWx5IHRoZSBuZXcgVVJMIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgaW4gYSBTdHJpbmcKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAppbmRleCA0
ZDUzZjQzZmQzOTguLmZhZDA5Mzg4YWFlZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcApAQCAtNzcyLDYgKzc3Miw3IEBAIHN0YXRpYyBTdHJp
bmcgcm9sZVZhbHVlVG9TdHJpbmcodW5zaWduZWQgcm9sZVZhbHVlKQogICAgIGNhc2UgV2ViQ29y
ZTo6QXRzcGk6OlJvbGU6OlNwaW5CdXR0b246CiAgICAgICAgIHJldHVybiAiQVhTcGluQnV0dG9u
Il9zOwogICAgIGNhc2UgV2ViQ29yZTo6QXRzcGk6OlJvbGU6OlN0YXRpYzoKKyAgICBjYXNlIFdl
YkNvcmU6OkF0c3BpOjpSb2xlOjpUZXh0OgogICAgICAgICByZXR1cm4gIkFYU3RhdGljIl9zOwog
ICAgIGNhc2UgV2ViQ29yZTo6QXRzcGk6OlJvbGU6OlN0YXR1c0JhcjoKICAgICAgICAgcmV0dXJu
ICJBWFN0YXR1c0JhciJfczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453195</attachid>
            <date>2022-02-25 04:38:39 -0800</date>
            <delta_ts>2022-02-25 04:39:28 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-236777-20220225143837.patch</filename>
            <type>text/plain</type>
            <size>12859</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA1NTgwYmQwOGU5Mjc2
YzJlZjlkNmE0ZWYwZTViMDA2NmZmYmRkYS4uYjk4MjE4NTU0MjkyNzIxODM3YjZjNThmMWVhYTdk
ZGM4ZWY2ODFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAyLTI1ICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBBWDogTGlz
dCBpdGVtIG1hcmtlciBub3QgZXhwb3NlZCB3aGVuIG5vdCBhIGRpcmVjdCBjaGlsZCBvZiBhIGxp
c3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM2Nzc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MjQ4NT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvLgorCisgICAgICAgIEl0IGNhbiBoYXBwZW4g
dGhhdCB0aGUgbWFya2VyIGlzIG5vdCBhIGRpcmVjdCBjaGlsZCBvZiBhIGxpc3QgaXRlbSwgaW4g
d2hpY2ggY2FzZSB0aGUgbWFya2VyIGlzIGlnbm9yZWQgYW5kIG5vdAorICAgICAgICBleHBvc2Vk
IHRvIEFUcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpw
YXJlbnRPYmplY3RVbmlnbm9yZWQgY29uc3QpOiBJbiBjYXNlIG9mIGxpc3QgbWFya2VyIGZpbmQg
dGhlIG1hcmtlciBsaXN0IGl0ZW0uCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjptYXJrZXJSZW5kZXJlciBjb25zdCk6IEhlbHBlciB0byByZXR1cm4gdGhlIGxp
c3QgaXRlbSBtYXJrZXIgcmVuZGVyZXIuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjphZGRMaXN0SXRlbU1hcmtlcik6IEFkZCBhbHdheXMgdGhlIGxpc3QgaXRl
bSBtYXJrZXIgYXMgdGhlIGZpcnN0IGNoaWxkIG9mCisgICAgICAgIGxpc3QgaXRlbXMuCisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRDaGlsZHJlbik6IERv
IG5vdCBhZGQgbGlzdCBpdGVtIG1hcmtlciBjaGlsZHJlbiwgdGhleSB3aWxsIGJlIGFkZGVkIHRv
CisgICAgICAgIHRoZSByaWdodCBwYXJlbnQgaW4gYWRkTGlzdEl0ZW1NYXJrZXIoKS4KKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaDoKKwogMjAyMi0w
Mi0yNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgT3B0aW1p
emUgYmxhY2sgZnJhbWUgc2VuZGluZyBpbiBNZWRpYVJlY29yZGVyUHJpdmF0ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKaW5kZXggNWU5MjY3ZDk1Y2UzNDQ5ZjY4NWUxZDE3OTQzODEzMmFiZDA4ODgwZC4u
MmFjN2RjYzhkZWYzNjY5NTBkOTY1Njg4OWE3NmFmN2M0ODRkMTQ3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCkBAIC01MjgsNyArNTI4LDIzIEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OnBhcmVudE9iamVjdCgpIGNvbnN0CiAgICAgCiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9Ci0gICAgCisKK0FYQ29yZU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6cGFyZW50T2JqZWN0VW5pZ25vcmVkKCkgY29uc3QKK3sKKyNpZiBVU0UoQVRTUEkpCisg
ICAgLy8gRXhwb3NlIG1hcmtlcnMgdGhhdCBhcmUgbm90IGRpcmVjdCBjaGlsZHJlbiBvZiBhIGxp
c3QgaXRlbSB0b28uCisgICAgaWYgKG1fcmVuZGVyZXIgJiYgbV9yZW5kZXJlci0+aXNMaXN0TWFy
a2VyKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGxpc3RJdGVtID0gYW5jZXN0b3JzT2ZUeXBlPFJl
bmRlckxpc3RJdGVtPigqbV9yZW5kZXJlcikuZmlyc3QoKSkgeworICAgICAgICAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogcGFyZW50ID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShsaXN0
SXRlbSk7CisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8QWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dD4oKnBhcmVudCkubWFya2VyUmVuZGVyZXIoKSA9PSBtX3JlbmRlcmVyKQorICAgICAgICAgICAg
ICAgIHJldHVybiBwYXJlbnQ7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKworICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6cGFyZW50T2JqZWN0VW5pZ25vcmVkKCk7Cit9CisK
IGJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNBdHRhY2htZW50KCkgY29uc3QKIHsK
ICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVuZGVyZXIgPSByZW5kZXJCb3hNb2RlbE9iamVj
dCgpOwpAQCAtMzIzOSw3ICszMjU1LDIzIEBAIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6YWRkSGlkZGVuQ2hpbGRyZW4oKQogICAgICAgICBpbnNlcnRpb25JbmRleCArPSAobV9jaGls
ZHJlbi5zaXplKCkgLSBwcmV2aW91c1NpemUpOwogICAgIH0KIH0KLSAgICAKKworI2lmIFVTRShB
VFNQSSkKK1JlbmRlck9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bWFya2VyUmVu
ZGVyZXIoKSBjb25zdAoreworICAgIGlmIChhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgfHwgIWlz
TGlzdEl0ZW0oKSB8fCAhbV9yZW5kZXJlciB8fCAhbV9yZW5kZXJlci0+aXNMaXN0SXRlbSgpKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJMaXN0
SXRlbT4oKm1fcmVuZGVyZXIpLm1hcmtlclJlbmRlcmVyKCk7Cit9CisKK3ZvaWQgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdDo6YWRkTGlzdEl0ZW1NYXJrZXIoKQoreworICAgIGlmIChhdXRvKiBt
YXJrZXIgPSBtYXJrZXJSZW5kZXJlcigpKQorICAgICAgICBpbnNlcnRDaGlsZChheE9iamVjdENh
Y2hlKCktPmdldE9yQ3JlYXRlKG1hcmtlciksIDApOworfQorI2VuZGlmCisKIHZvaWQgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6dXBkYXRlUm9sZUFmdGVyQ2hpbGRyZW5DcmVhdGlvbigpCiB7
CiAgICAgQVhUUkFDRSgiQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dXBkYXRlUm9sZUFmdGVy
Q2hpbGRyZW5DcmVhdGlvbiIpOwpAQCAtMzI3MiwxMCArMzMwNCwxOCBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmFkZENoaWxkcmVuKCkKICAgICAKICAgICBpZiAoIWNhbkhhdmVD
aGlsZHJlbigpKQogICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgZm9yIChSZWZQdHI8QWNjZXNz
aWJpbGl0eU9iamVjdD4gb2JqID0gZmlyc3RDaGlsZCgpOyBvYmo7IG9iaiA9IG9iai0+bmV4dFNp
YmxpbmcoKSkKLSAgICAgICAgYWRkQ2hpbGQob2JqLmdldCgpKTsKLSAgICAKKworICAgIGF1dG8g
YWRkQ2hpbGRJZk5lZWRlZCA9IFt0aGlzXShBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpIHsK
KyNpZiBVU0UoQVRTUEkpCisgICAgICAgIGlmIChvYmplY3QucmVuZGVyZXIoKS0+aXNMaXN0TWFy
a2VyKCkpCisgICAgICAgICAgICByZXR1cm47CisjZW5kaWYKKyAgICAgICAgYWRkQ2hpbGQoJm9i
amVjdCk7CisgICAgfTsKKworICAgIGZvciAoUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IG9i
amVjdCA9IGZpcnN0Q2hpbGQoKTsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPm5leHRTaWJsaW5n
KCkpCisgICAgICAgIGFkZENoaWxkSWZOZWVkZWQoKm9iamVjdCk7CisKICAgICBtX3N1YnRyZWVE
aXJ0eSA9IGZhbHNlOwogICAgIAogICAgIGFkZEhpZGRlbkNoaWxkcmVuKCk7CkBAIC0zMjg0LDYg
KzMzMjQsOSBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZENoaWxkcmVuKCkK
ICAgICBhZGRUZXh0RmllbGRDaGlsZHJlbigpOwogICAgIGFkZENhbnZhc0NoaWxkcmVuKCk7CiAg
ICAgYWRkUmVtb3RlU1ZHQ2hpbGRyZW4oKTsKKyNpZiBVU0UoQVRTUEkpCisgICAgYWRkTGlzdEl0
ZW1NYXJrZXIoKTsKKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdXBkYXRlQXR0
YWNobWVudFZpZXdQYXJlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCmluZGV4IGQ4ZjhhODRmMGM3ZTE3
Mzc0MjRjM2U3ODNiZTBiZTIxMjNjMmRlNjYuLjc4NjVkZTZjMzI3NDRiYTkyMGZlNDNmOGNiZGI5
NTM1MWE2NWNmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCkBAIC05MSw2ICs5MSw3IEBAIHB1YmxpYzoK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBuZXh0U2libGluZygpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudE9iamVjdCgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudE9iamVjdElmRXhpc3RzKCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgQVhDb3JlT2JqZWN0KiBwYXJlbnRPYmplY3RVbmlnbm9yZWQoKSBjb25zdCBv
dmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYnNlcnZhYmxlT2JqZWN0KCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBsaW5rZWRVSUVsZW1lbnRzKEFjY2Vzc2liaWxpdHlDaGls
ZHJlblZlY3RvciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHRp
dGxlVUlFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC0yMzcsNiArMjM4LDkgQEAgcHJpdmF0
ZToKIAogICAgIGJvb2wgcmVuZGVyT2JqZWN0SXNPYnNlcnZhYmxlKFJlbmRlck9iamVjdCYpIGNv
bnN0OwogICAgIFJlbmRlck9iamVjdCogcmVuZGVyUGFyZW50T2JqZWN0KCkgY29uc3Q7CisjaWYg
VVNFKEFUU1BJKQorICAgIFJlbmRlck9iamVjdCogbWFya2VyUmVuZGVyZXIoKSBjb25zdDsKKyNl
bmRpZgogCiAgICAgYm9vbCBpc1NWR0ltYWdlKCkgY29uc3Q7CiAgICAgdm9pZCBkZXRhY2hSZW1v
dGVTVkdSb290KCk7CkBAIC0yNTIsNiArMjU2LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZENh
bnZhc0NoaWxkcmVuKCk7CiAgICAgdm9pZCBhZGRBdHRhY2htZW50Q2hpbGRyZW4oKTsKICAgICB2
b2lkIGFkZFJlbW90ZVNWR0NoaWxkcmVuKCk7CisjaWYgVVNFKEFUU1BJKQorICAgIHZvaWQgYWRk
TGlzdEl0ZW1NYXJrZXIoKTsKKyNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQg
dXBkYXRlQXR0YWNobWVudFZpZXdQYXJlbnRzKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzZDEzYWZhNTlkY2I5MWYzZWNjYTFm
OGM4M2I4OWQwMzUzYWJkNjMwLi5lNmQwYTgwNmVmNzJiNmI1NjZmYzI2ZmIwZWY5MzMzMWQ1OTlh
MzY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjItMDItMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgorCisgICAgICAgIEFYOiBMaXN0IGl0ZW0gbWFya2VyIG5vdCBleHBvc2Vk
IHdoZW4gbm90IGEgZGlyZWN0IGNoaWxkIG9mIGEgbGlzdCBpdGVtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY3NzcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzg5MDgyNDg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmlhbiBQZXJleiBkZSBD
YXN0cm8uCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3Bp
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHA6CisgICAgICAgIChXVFI6OnJvbGVWYWx1
ZVRvU3RyaW5nKTogUmV0dXJuIEFYU3RhdGljIGZvciBUZXh0IHJvbGUgdG9vLgorCiAyMDIyLTAy
LTI0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyOTAzNzEuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRB
dHNwaS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKaW5kZXggNGQ1M2Y0M2ZkMzk4ZjMwMzkwYjY4
MTYwMTJjOGVmOTk5YmQxMjE4Yi4uZmFkMDkzODhhYWVlMGRhYjA0ZTQ5Y2UwYjA1YmEwODZkY2My
YWRjOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3Bp
LmNwcApAQCAtNzcyLDYgKzc3Miw3IEBAIHN0YXRpYyBTdHJpbmcgcm9sZVZhbHVlVG9TdHJpbmco
dW5zaWduZWQgcm9sZVZhbHVlKQogICAgIGNhc2UgV2ViQ29yZTo6QXRzcGk6OlJvbGU6OlNwaW5C
dXR0b246CiAgICAgICAgIHJldHVybiAiQVhTcGluQnV0dG9uIl9zOwogICAgIGNhc2UgV2ViQ29y
ZTo6QXRzcGk6OlJvbGU6OlN0YXRpYzoKKyAgICBjYXNlIFdlYkNvcmU6OkF0c3BpOjpSb2xlOjpU
ZXh0OgogICAgICAgICByZXR1cm4gIkFYU3RhdGljIl9zOwogICAgIGNhc2UgV2ViQ29yZTo6QXRz
cGk6OlJvbGU6OlN0YXR1c0JhcjoKICAgICAgICAgcmV0dXJuICJBWFN0YXR1c0JhciJfczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA3ZGM1MmM4MjZhN2U5MDRjODU0ZDIzMzQ4ZGM0ZWUxZDFlNTlkYjkxLi45OGRmY2M0YmM2
M2U5NTgyZGM1OGRmMzkxNzEyYWNlMjA0NTY3Y2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MjItMDItMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIEFYOiBMaXN0IGl0ZW0gbWFya2VyIG5vdCBleHBvc2VkIHdoZW4gbm90IGEgZGlyZWN0
IGNoaWxkIG9mIGEgbGlzdCBpdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzY3NzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg5MDgyNDg1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IEFkcmlhbiBQZXJleiBkZSBDYXN0cm8uCisKKyAgICAgICAg
VXBkYXRlIHRlc3QgcmVzdWx0cy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL2xpc3Qt
aXRlbXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQuaHRtbDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L2d0ay9zcGFucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9n
dGsvc3BhbnMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoK
KwogMjAyMi0wMi0yNSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgYmFzZWxpbmVzIGFmdGVyIHZhcmlv
dXMgTEZDIGltcHJvdmVtZW50cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvZ3RrL2xpc3QtaXRlbXMtYWx3YXlzLWV4cG9zZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC1leHBlY3RlZC50
eHQKaW5kZXggOTM5ZDEwZjZkNWI5ZWEzMjg5YTM1MDNmZTEzZDgzM2Q4ZTMwZDJhOS4uNzI4OWJh
YTVjMGJjYjVlNmZiMzlmZTA4M2I4ZGRkYWU0ZjVkODhhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3NlZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVtcy1hbHdheXMt
ZXhwb3NlZC1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw5IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFCiAKIFBBU1MgbGlzdC5yb2xlIGlzICdBWFJvbGU6IEFYTGlzdCcKIFBBU1MgaXRlbTEucm9s
ZSBpcyAnQVhSb2xlOiBBWExpc3RJdGVtJworUEFTUyBtYXJrZXIxLnJvbGUgaXMgJ0FYUm9sZTog
QVhTdGF0aWMnCiBQQVNTIGl0ZW0yLnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0SXRlbScKK1BBU1Mg
bWFya2VyMi5yb2xlIGlzICdBWFJvbGU6IEFYU3RhdGljJwogUEFTUyBwYXJhZ3JhcGgucm9sZSBp
cyAnQVhSb2xlOiBBWFBhcmFncmFwaCcKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1pdGVtcy1h
bHdheXMtZXhwb3NlZC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvbGlzdC1p
dGVtcy1hbHdheXMtZXhwb3NlZC5odG1sCmluZGV4IGYxYzVmOWRiMDBmNjRkOWFjMWI3NmFkZjQ3
N2VhYTgyNGExZmM2Y2IuLmJmMmM2NTdhMzMwYzkwNDc3MzNmMWVmMDdiZmM1ZmFkZmI5YTUyNmEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL2xpc3QtaXRlbXMtYWx3
YXlzLWV4cG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9saXN0
LWl0ZW1zLWFsd2F5cy1leHBvc2VkLmh0bWwKQEAgLTIzLDEyICsyMywxNiBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKIAogICAgIHZhciBsaXN0ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7
CiAgICAgdmFyIGl0ZW0xID0gbGlzdC5jaGlsZEF0SW5kZXgoMCk7CisgICAgdmFyIG1hcmtlcjEg
PSBpdGVtMS5jaGlsZEF0SW5kZXgoMCk7CiAgICAgdmFyIGl0ZW0yID0gbGlzdC5jaGlsZEF0SW5k
ZXgoMSk7Ci0gICAgdmFyIHBhcmFncmFwaCA9IGl0ZW0yLmNoaWxkQXRJbmRleCgwKTsKKyAgICB2
YXIgbWFya2VyMiA9IGl0ZW0yLmNoaWxkQXRJbmRleCgwKTsKKyAgICB2YXIgcGFyYWdyYXBoID0g
aXRlbTIuY2hpbGRBdEluZGV4KDEpOwogCiAgICAgc2hvdWxkQmUoImxpc3Qucm9sZSIsICInQVhS
b2xlOiBBWExpc3QnIik7CiAgICAgc2hvdWxkQmUoIml0ZW0xLnJvbGUiLCAiJ0FYUm9sZTogQVhM
aXN0SXRlbSciKTsKKyAgICBzaG91bGRCZSgibWFya2VyMS5yb2xlIiwgIidBWFJvbGU6IEFYU3Rh
dGljJyIpOwogICAgIHNob3VsZEJlKCJpdGVtMi5yb2xlIiwgIidBWFJvbGU6IEFYTGlzdEl0ZW0n
Iik7CisgICAgc2hvdWxkQmUoIm1hcmtlcjIucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpYyciKTsK
ICAgICBzaG91bGRCZSgicGFyYWdyYXBoLnJvbGUiLCAiJ0FYUm9sZTogQVhQYXJhZ3JhcGgnIik7
CiAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5z
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLWV4cGVj
dGVkLnR4dAppbmRleCA1NGU5MjcxNTc5MTNlYjMyZDQ1NDMzZGRhYjFhNmYxNDYzOTk0ZDQ5Li5i
MGQwZjFmMDRmMDczYTVmZTBkY2E3YWRkOTJkNzgxMzkwM2Q4NTRkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMtZXhwZWN0ZWQudHh0CkBAIC0yNiw5ICsyNiwx
MyBAQCBQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCiBQQVNTIGVsZW1lbnQucm9sZSBpcyAn
QVhSb2xlOiBBWExpc3QnCiBQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAyCiBQQVNTIGl0
ZW0ucm9sZSBpcyAnQVhSb2xlOiBBWExpc3RJdGVtJwotUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQg
aXMgMAotUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9sZTogQVhMaXN0SXRlbScKIFBBU1MgaXRlbS5j
aGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbWFya2VyLnJvbGUgaXMgJ0FYUm9sZTogQVhTdGF0aWMn
CitQQVNTIG1hcmtlci5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgaXRlbS5yb2xlIGlzICdBWFJv
bGU6IEFYTGlzdEl0ZW0nCitQQVNTIGl0ZW0uY2hpbGRyZW5Db3VudCBpcyAyCitQQVNTIG1hcmtl
ci5yb2xlIGlzICdBWFJvbGU6IEFYU3RhdGljJworUEFTUyBtYXJrZXIuY2hpbGRyZW5Db3VudCBp
cyAwCiBQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBBWExpbmsnCiBQQVNTIGxpbmsuY2hpbGRy
ZW5Db3VudCBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy5odG1sIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9ndGsvc3BhbnMuaHRtbAppbmRleCBkMDlhN2JlMzJhM2YzYTQxMzY2Zjk4
YmJiNzQxMzRiNjk5YmQ5N2IxLi40NmRjY2M2ZDk5ODUxMDU3ZmI2OTM3NzlkZjgwODM5OTVjMDhm
NGYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2d0ay9zcGFucy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0bWwKQEAgLTYxLDEz
ICs2MSwyMSBAQCBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAKICAgICB2
YXIgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwogICAgIHNob3VsZEJlKCJpdGVtLnJv
bGUiLCAiJ0FYUm9sZTogQVhMaXN0SXRlbSciKTsKLSAgICBzaG91bGRCZSgiaXRlbS5jaGlsZHJl
bkNvdW50IiwgIjAiKTsKKyAgICBzaG91bGRCZSgiaXRlbS5jaGlsZHJlbkNvdW50IiwgIjEiKTsK
KworICAgIHZhciBtYXJrZXIgPSBpdGVtLmNoaWxkQXRJbmRleCgwKTsKKyAgICBzaG91bGRCZSgi
bWFya2VyLnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWMnIik7CisgICAgc2hvdWxkQmUoIm1hcmtl
ci5jaGlsZHJlbkNvdW50IiwgIjAiKTsKIAogICAgIGl0ZW0gPSBlbGVtZW50LmNoaWxkQXRJbmRl
eCgxKTsKICAgICBzaG91bGRCZSgiaXRlbS5yb2xlIiwgIidBWFJvbGU6IEFYTGlzdEl0ZW0nIik7
Ci0gICAgc2hvdWxkQmUoIml0ZW0uY2hpbGRyZW5Db3VudCIsICIxIik7CisgICAgc2hvdWxkQmUo
Iml0ZW0uY2hpbGRyZW5Db3VudCIsICIyIik7CisKKyAgICBtYXJrZXIgPSBpdGVtLmNoaWxkQXRJ
bmRleCgwKTsKKyAgICBzaG91bGRCZSgibWFya2VyLnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWMn
Iik7CisgICAgc2hvdWxkQmUoIm1hcmtlci5jaGlsZHJlbkNvdW50IiwgIjAiKTsKIAotICAgIGxp
bmsgPSBpdGVtLmNoaWxkQXRJbmRleCgwKTsKKyAgICBsaW5rID0gaXRlbS5jaGlsZEF0SW5kZXgo
MSk7CiAgICAgc2hvdWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBBWExpbmsnIik7CiAgICAg
c2hvdWxkQmUoImxpbmsuY2hpbGRyZW5Db3VudCIsICIwIik7CiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ5YjAyMWYyMGZjOGMyMjVkOTAxNjY2ODI2
YTE3YjVkMzJhOWRhZjYuLjI5MWQyOTFhODMwODY1OTI3NDQzZGVkODY3ZmIwNWViMzg0YzQ3YmYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzcsNyAr
MTM3LDYgQEAgYWNjZXNzaWJpbGl0eS9tb2RlbC1lbGVtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNr
aXAgXQogIyBUZXN0cyBmYWlsaW5nIHdpdGggQVRTUEkgaW1wbGVtZW50YXRpb24uCiB3ZWJraXQu
b3JnL2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL25lc3RlZC1ibG9jay1lbGVtZW50LWNoaWxk
cmVuLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9n
dGsvbm8tbm90aWZpY2F0aW9uLWZvci11bnJlbmRlcmVkLWlmcmFtZS1jaGlsZHJlbi5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL3NwYW5zLmh0
bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzU5NDEgYWNjZXNzaWJpbGl0eS9ndGsvdGV4
dC1hdC1vZmZzZXQtZW1iZWRkZWQtb2JqZWN0cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMjM1OTQxIGFjY2Vzc2liaWxpdHkvZ3RrL3RleHQtYXQtb2Zmc2V0LXNwZWNpYWwtY2hhcnMu
aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIzNTk0MSBhY2Nlc3NpYmlsaXR5L2d0ay94
bWwtcm9sZXMtZXhwb3NlZC5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>