<?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>233383</bug_id>
          
          <creation_ts>2021-11-19 13:58:31 -0800</creation_ts>
          <short_desc>AX: aria-owns in trees results duplicate rows, third level rows not being exposed</short_desc>
          <delta_ts>2022-01-18 08:46:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>Safari 15</version>
          <rep_platform>All</rep_platform>
          <op_sys>macOS 12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sepand Parhami">sparhami</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816984</commentid>
    <comment_count>0</comment_count>
      <attachid>444850</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-11-19 13:58:31 -0800</bug_when>
    <thetext>Created attachment 444850
A reproducing example

When you link children of a tree node via `aria-owns`, none of their children are exposed. That is, in the following snippet:

```
&lt;div role=&quot;tree&quot; tabindex=&quot;0&quot;&gt;
    &lt;div role=&quot;treeitem&quot; aria-selected=&quot;false&quot; aria-expanded=&quot;true&quot; aria-level=&quot;1&quot;&gt;
        &lt;div&gt;Folder one&lt;/div&gt;
        &lt;div role=&quot;group&quot; aria-owns=&quot;item1&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;div id=&quot;item1&quot; role=&quot;treeitem&quot; aria-selected=&quot;false&quot; aria-expanded=&quot;true&quot; aria-level=&quot;2&quot;&gt;
        &lt;div&gt;Child one&lt;/div&gt;
        &lt;div role=&quot;group&quot;&gt;
            &lt;div role=&quot;treeitem&quot; aria-selected=&quot;false&quot; aria-level=&quot;3&quot;&gt;
                &lt;div&gt;Grandchild one&lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
```

Steps To Reproduce:
1. Open the attached `example.html`
2. Navigate to the first table
3. Enter the first table 
4. Go to next item -&gt; “Child one expanded…”
5. Go to next item -&gt; “Child two”

Results:
At step 5, I expect VoiceOver to move to “Grandchild one” and not “Child two”.


Notes:
- Safari does read “Child one, expanded. 1 item enclosed.”, when the VoiceOver cursor moves there, so it seems like it does know about the child, it just doesn’t navigate there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816985</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-19 13:58:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/85618602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817009</commentid>
    <comment_count>2</comment_count>
      <attachid>444857</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-11-19 14:54:10 -0800</bug_when>
    <thetext>Created attachment 444857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818778</commentid>
    <comment_count>3</comment_count>
      <attachid>444857</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-11-30 09:16:07 -0800</bug_when>
    <thetext>Comment on attachment 444857
Patch

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

Thanks for the patch!

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1841
&gt; +            // treeitem sitting under the tree root, which is owned elsewhere in the tree.

Typo, seems like you&apos;re missing &quot;a&quot;.

treeitem -&gt; a treeitem

&gt; LayoutTests/accessibility/mac/treeitem-row-delegation.html:13
&gt; +        &lt;div role=&quot;group&quot; aria-owns=&quot;group1-item2 group1-item3 group1-item4&quot;&gt;

There is no element with an id of group1-item4. Is that intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818782</commentid>
    <comment_count>4</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-11-30 09:22:17 -0800</bug_when>
    <thetext>Does this patch make us more susceptible to circular element references?

https://w3c.github.io/aria/#aria-owns

&gt; Authors MUST ensure that an element&apos;s ID is not specified in more than one other element&apos;s aria-owns attribute at any time. In other words, an element can have only one explicit owner. Authors MUST NOT create circular references with aria-owns. In the case of authoring error with aria-owns, the user agent MAY ignore some aria-owns element references in order to build a consistent model of the content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819290</commentid>
    <comment_count>5</comment_count>
      <attachid>445585</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-01 09:44:11 -0800</bug_when>
    <thetext>Created attachment 445585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819292</commentid>
    <comment_count>6</comment_count>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-01 09:46:59 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #3)
&gt; Comment on attachment 444857 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444857&amp;action=review
&gt; 
&gt; Thanks for the patch!
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1841
&gt; &gt; +            // treeitem sitting under the tree root, which is owned elsewhere in the tree.
&gt; 
&gt; Typo, seems like you&apos;re missing &quot;a&quot;.
&gt; 
&gt; treeitem -&gt; a treeitem
&gt; 

Thanks, fixed!

&gt; &gt; LayoutTests/accessibility/mac/treeitem-row-delegation.html:13
&gt; &gt; +        &lt;div role=&quot;group&quot; aria-owns=&quot;group1-item2 group1-item3 group1-item4&quot;&gt;
&gt; 
&gt; There is no element with an id of group1-item4. Is that intentional?

I changed the id here, I believe the intent of the test here previously was to test that an id referencing a non-existent element does not cause issues. Made this more clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819293</commentid>
    <comment_count>7</comment_count>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-01 09:47:21 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #3)
&gt; Comment on attachment 444857 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444857&amp;action=review
&gt; 
&gt; Thanks for the patch!
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1841
&gt; &gt; +            // treeitem sitting under the tree root, which is owned elsewhere in the tree.
&gt; 
&gt; Typo, seems like you&apos;re missing &quot;a&quot;.
&gt; 
&gt; treeitem -&gt; a treeitem
&gt; 

Thanks, fixed!

&gt; &gt; LayoutTests/accessibility/mac/treeitem-row-delegation.html:13
&gt; &gt; +        &lt;div role=&quot;group&quot; aria-owns=&quot;group1-item2 group1-item3 group1-item4&quot;&gt;
&gt; 
&gt; There is no element with an id of group1-item4. Is that intentional?

I changed the id here, I believe the intent of the test here previously was to test that an id referencing a non-existent element does not cause issues. Made this more clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819296</commentid>
    <comment_count>8</comment_count>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-01 09:51:32 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #4)
&gt; Does this patch make us more susceptible to circular element references?
&gt; 
&gt; https://w3c.github.io/aria/#aria-owns
&gt; 
&gt; &gt; Authors MUST ensure that an element&apos;s ID is not specified in more than one other element&apos;s aria-owns attribute at any time. In other words, an element can have only one explicit owner. Authors MUST NOT create circular references with aria-owns. In the case of authoring error with aria-owns, the user agent MAY ignore some aria-owns element references in order to build a consistent model of the content.

I think with this patch as-is, a circular reference would be a problem. I think my original approach was okay, but this I think this part is a problem:

```
            // Hopefully a flow that does not occur often in practice, but if someone were to include
            // the owned child ealier in the top level of the tree, then reference via aria-owns later,
            // move it to the right place.
            if (result.contains(child))
                result.removeFirst(child);
 ```

Originally, I skipped here, but in order to handle out of order tree items, I added this logic. Need to re-evaluate my approach here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819297</commentid>
    <comment_count>9</comment_count>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-01 09:51:32 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #4)
&gt; Does this patch make us more susceptible to circular element references?
&gt; 
&gt; https://w3c.github.io/aria/#aria-owns
&gt; 
&gt; &gt; Authors MUST ensure that an element&apos;s ID is not specified in more than one other element&apos;s aria-owns attribute at any time. In other words, an element can have only one explicit owner. Authors MUST NOT create circular references with aria-owns. In the case of authoring error with aria-owns, the user agent MAY ignore some aria-owns element references in order to build a consistent model of the content.

I think with this patch as-is, a circular reference would be a problem. I think my original approach was okay, but this I think this part is a problem:

```
            // Hopefully a flow that does not occur often in practice, but if someone were to include
            // the owned child ealier in the top level of the tree, then reference via aria-owns later,
            // move it to the right place.
            if (result.contains(child))
                result.removeFirst(child);
 ```

Originally, I skipped here, but in order to handle out of order tree items, I added this logic. Need to re-evaluate my approach here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819753</commentid>
    <comment_count>10</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-12-02 10:18:25 -0800</bug_when>
    <thetext>FWIW, I think we only need to be concerned about not crashing when the author makes the mistake of a circular reference. I tested a circular aria-owns reference on `main`-branch WebKit and couldn&apos;t get a crash, so we just need to make sure that this patch doesn&apos;t make us susceptible to it.

One option would be to create a separate test with an intentional circular reference, and to call it passing if it doesn&apos;t crash.

Thanks for digging into this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819958</commentid>
    <comment_count>11</comment_count>
      <attachid>445795</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-02 17:00:43 -0800</bug_when>
    <thetext>Created attachment 445795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819965</commentid>
    <comment_count>12</comment_count>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-02 17:10:12 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #10)
&gt; FWIW, I think we only need to be concerned about not crashing when the
&gt; author makes the mistake of a circular reference. I tested a circular
&gt; aria-owns reference on `main`-branch WebKit and couldn&apos;t get a crash, so we
&gt; just need to make sure that this patch doesn&apos;t make us susceptible to it.
&gt; 
&gt; One option would be to create a separate test with an intentional circular
&gt; reference, and to call it passing if it doesn&apos;t crash.
&gt; 
&gt; Thanks for digging into this!

I had to rework things a bit, but I&apos;m unsure about the approach I took. I pulled out the logic to get the children considering aria-owns into a separate piece. Would be happy to try another path if it makes more sense.

One thing that I&apos;m unsure about is if/how to support `aria-owns` in general. It seems for that case, the general tree structure (i.e. children, parentObject, nextSibling, etc) may need to be modified to account for aria-owns (or provide separate functions to access those and use those instead). I&apos;m don&apos;t think this patch  useful step in that direction, though I would be happy with improving support for aria-owns in trees/lists/tables/grids if the larger work is large in scope.

I added a circular reference to the existing test case, but can make it a separate file if that makes more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820362</commentid>
    <comment_count>13</comment_count>
      <attachid>445919</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-03 16:57:06 -0800</bug_when>
    <thetext>Created attachment 445919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820371</commentid>
    <comment_count>14</comment_count>
      <attachid>445924</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-03 17:02:40 -0800</bug_when>
    <thetext>Created attachment 445924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821628</commentid>
    <comment_count>15</comment_count>
      <attachid>445924</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-12-08 10:47:22 -0800</bug_when>
    <thetext>Comment on attachment 445924
Patch

This would be a progression in terms of behavior, and probably a good step towards improving aria-owns support for all elements, but I worry that the performance might be untenable. With this latest patch, we call ariaOwnsReferencingElements for each DOM and aria-owns child. Our implementation of ariaOwnsReferencingElements does a scan of every element starting from the root. So for a tree with a lot of children, and given a large document, I image this could cause performance issues.

It&apos;s unfortunate that we don&apos;t have an efficient way to find ariaOwnsReferencingElements. Ideally we would cache this somewhere as we build the tree, and then these lookups would be fast. But that would probably be a big project.

&gt; I added a circular reference to the existing test case, but can make it a separate file if that makes more sense.
I would prefer a separate file so there&apos;s a clear distinction that accessibility/mac/treeitem-row-delegation.html tests the behavior of a well-formed tree, while this other test specifically ensures we don&apos;t crash with a circular reference.

Was this version of the patch[1] vulnerable to circular references based on the circular reference test case you added in your latest patch?

[1]: https://bugs.webkit.org/attachment.cgi?id=445585&amp;action=prettypatch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821686</commentid>
    <comment_count>16</comment_count>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-08 11:53:48 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #15)
&gt; Comment on attachment 445924 [details]
&gt; Patch
&gt; 
&gt; This would be a progression in terms of behavior, and probably a good step
&gt; towards improving aria-owns support for all elements, but I worry that the
&gt; performance might be untenable. With this latest patch, we call
&gt; ariaOwnsReferencingElements for each DOM and aria-owns child. Our
&gt; implementation of ariaOwnsReferencingElements does a scan of every element
&gt; starting from the root. So for a tree with a lot of children, and given a
&gt; large document, I image this could cause performance issues.

Let me explore to see if there is a lighter weight way of doing this. I&apos;m not sure how important the `ariaTreeRows` method being virtual is. I could perhaps implement the traversal in a separate function and just keep track of an array/set of visited nodes or just pass it along in the `ariaTreeRows` signature, but I&apos;m not sure what the right style is here. Perhaps I could also just keep track of the current ancestry path rather than looking at all the visited nodes.

&gt; It&apos;s unfortunate that we don&apos;t have an efficient way to find
&gt; ariaOwnsReferencingElements. Ideally we would cache this somewhere as we
&gt; build the tree, and then these lookups would be fast. But that would
&gt; probably be a big project.
&gt; 
&gt; &gt; I added a circular reference to the existing test case, but can make it a separate file if that makes more sense.
&gt; I would prefer a separate file so there&apos;s a clear distinction that
&gt; accessibility/mac/treeitem-row-delegation.html tests the behavior of a
&gt; well-formed tree, while this other test specifically ensures we don&apos;t crash
&gt; with a circular reference.
&gt; 
&gt; Was this version of the patch[1] vulnerable to circular references based on
&gt; the circular reference test case you added in your latest patch?
&gt; 
&gt; [1]: https://bugs.webkit.org/attachment.cgi?id=445585&amp;action=prettypatch

Yep.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821818</commentid>
    <comment_count>17</comment_count>
      <attachid>446445</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-08 15:46:25 -0800</bug_when>
    <thetext>Created attachment 446445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821822</commentid>
    <comment_count>18</comment_count>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-08 15:48:14 -0800</bug_when>
    <thetext>I went back to my first approach, but adding tracking of the parent path to determine the loops which should perform much better.

I also split out the poorly formed tree test cases (two circular reference tests and one checking behavior with multiple elements owning a single element).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821852</commentid>
    <comment_count>19</comment_count>
      <attachid>446445</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-12-08 16:32:42 -0800</bug_when>
    <thetext>Comment on attachment 446445
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        * accessibility/AccessibilityObject.h:

Could you please include a summary of your changes in Source/WebCore/ChangeLog and LayoutTests/ChangeLog? What bug(s) does this patch fix, and how does it do it? This generally goes in between the &quot;Reviewed by&quot; and &quot;Tests&quot; sections.

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1888
&gt; +    parentPath.append(this);

I think I suggested parentPath in the first place, but maybe something like &quot;ancestors&quot; would be a better name?

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1910
&gt; +            downcast&lt;AccessibilityObject&gt;(*child).ariaTreeRows(result, parentPath);

Do we need is&lt;&gt; and downcast&lt;&gt; here? `child` is an AXCoreObject, which defines ariaTreeRows. I think we&apos;d only need to downcast if AccessibilityObject defined ariaTreeRows and AXIsolatedObject didn&apos;t (these are the two direct subclasses of AXCoreObject).

So I think child-&gt;ariaTreeRows(result, ancestors); should work OK here.

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1934
&gt; +            downcast&lt;AccessibilityObject&gt;(*child).ariaTreeRows(result, parentPath);

Ditto.

&gt; LayoutTests/accessibility/mac/treeitem-row-delegation-poorly-formed.html:39
&gt; +    description(&quot;This tests that a treeitem with a group that uses aria-owns will report its disclosed rows correctly.&quot;);

This description() is the same as the other test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821857</commentid>
    <comment_count>20</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-12-08 16:37:39 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #19)
&gt; Comment on attachment 446445 [details]
&gt; Patch
&gt; &gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1910
&gt; &gt; +            downcast&lt;AccessibilityObject&gt;(*child).ariaTreeRows(result, parentPath);
&gt; 
&gt; Do we need is&lt;&gt; and downcast&lt;&gt; here? `child` is an AXCoreObject, which
&gt; defines ariaTreeRows. I think we&apos;d only need to downcast if
&gt; AccessibilityObject defined ariaTreeRows and AXIsolatedObject didn&apos;t (these
&gt; are the two direct subclasses of AXCoreObject).
&gt; 
&gt; So I think child-&gt;ariaTreeRows(result, ancestors); should work OK here.
Oh nevermind, I see, the new method isn&apos;t virtual (and shouldn&apos;t be -- we wouldn&apos;t want that to be part of the AXCoreObject interface).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822333</commentid>
    <comment_count>21</comment_count>
      <attachid>446606</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-09 14:23:21 -0800</bug_when>
    <thetext>Created attachment 446606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822334</commentid>
    <comment_count>22</comment_count>
      <attachid>446445</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-09 14:24:56 -0800</bug_when>
    <thetext>Comment on attachment 446445
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        * accessibility/AccessibilityObject.h:
&gt; 
&gt; Could you please include a summary of your changes in Source/WebCore/ChangeLog and LayoutTests/ChangeLog? What bug(s) does this patch fix, and how does it do it? This generally goes in between the &quot;Reviewed by&quot; and &quot;Tests&quot; sections.

Took a stab at this, let me know if they need more/less/different info.

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1888
&gt;&gt; +    parentPath.append(this);
&gt; 
&gt; I think I suggested parentPath in the first place, but maybe something like &quot;ancestors&quot; would be a better name?

Changed over to ancestors.

&gt;&gt; LayoutTests/accessibility/mac/treeitem-row-delegation-poorly-formed.html:39
&gt;&gt; +    description(&quot;This tests that a treeitem with a group that uses aria-owns will report its disclosed rows correctly.&quot;);
&gt; 
&gt; This description() is the same as the other test.

Updated!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822359</commentid>
    <comment_count>23</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-12-09 14:52:20 -0800</bug_when>
    <thetext>Chris and / or Andres, what do you think of this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822839</commentid>
    <comment_count>24</comment_count>
      <attachid>446606</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-12-10 11:31:42 -0800</bug_when>
    <thetext>Comment on attachment 446606
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1902
&gt; +            if (result.contains(child))

we can change this to 

if (!result...) 
   result.append(

and save a few lines

&gt; Source/WebCore/accessibility/AccessibilityObject.h:826
&gt; +    void ariaTreeRows(AccessibilityChildrenVector&amp; result, AccessibilityChildrenVector&amp; ancestors);

instead of result I think param could be named &quot;rows&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823683</commentid>
    <comment_count>25</comment_count>
      <attachid>447043</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-13 12:11:54 -0800</bug_when>
    <thetext>Created attachment 447043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823686</commentid>
    <comment_count>26</comment_count>
      <attachid>446606</attachid>
    <who name="Sepand Parhami">sparhami</who>
    <bug_when>2021-12-13 12:17:16 -0800</bug_when>
    <thetext>Comment on attachment 446606
Patch

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

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1902
&gt;&gt; +            if (result.contains(child))
&gt; 
&gt; we can change this to 
&gt; 
&gt; if (!result...) 
&gt;    result.append(
&gt; 
&gt; and save a few lines

We also need to skip the `if (is&lt;AccessibilityObject&gt;(*child))` check below since we don&apos;t want to recurse into this subtree. Both of these continues could be pulled outside of this if, which could make this a bit clearer. This check would add a bit of extra work since it should only be relevant for treeitems and checking against other elements (e.g. groups) would never match.

I think the first check, for ariaOwns should likely be moved outside of this if (it still works if we don&apos;t, just adds extra work to fix the ordering later).

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.h:826
&gt;&gt; +    void ariaTreeRows(AccessibilityChildrenVector&amp; result, AccessibilityChildrenVector&amp; ancestors);
&gt; 
&gt; instead of result I think param could be named &quot;rows&quot;

Updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831689</commentid>
    <comment_count>27</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-18 08:46:17 -0800</bug_when>
    <thetext>Committed r288117 (246131@main): &lt;https://commits.webkit.org/246131@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447043.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>444850</attachid>
            <date>2021-11-19 13:58:31 -0800</date>
            <delta_ts>2021-11-19 13:58:31 -0800</delta_ts>
            <desc>A reproducing example</desc>
            <filename>example.html</filename>
            <type>text/html</type>
            <size>3672</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgICA8aGVhZD4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIFtyb2xlPSJ0cmVl
aXRlbSJdIHsKICAgICAgICAgICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgICAgICB9Cgog
ICAgICAgICAgICBbYXJpYS1sZXZlbD0iMSJdIHsKICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0
OiA0cHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFthcmlhLWxldmVsPSIyIl0gewogICAg
ICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAg
IFthcmlhLWxldmVsPSIzIl0gewogICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7CiAg
ICAgICAgICAgIH0KICAgICAgICA8L3N0eWxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5PgogICAg
ICAgIDxoMiBpZD0iZm9sZGVyTGlzdCI+Zm9sZGVyIGxpc3QgMyBsZXZlbHM8L2gyPgogICAgICAg
IDxkaXY+Q2hyb21lICsgVk86IEFubm91bmNlcyBncm91cHMgYXMgaGF2aW5nIDAgaXRlbXM8L2Rp
dj4KICAgICAgICA8ZGl2PkNocm9tZSArIE5hcnJhdG9yOiBHZW5lcmFsbHkgd29ya3M8L2Rpdj4K
ICAgICAgICA8ZGl2PgogICAgICAgICAgICBTYWZhcmkgKyBWTzogT3duZWQgaXRlbXMgcmVhZCB0
d2ljZSwgdGhpcmQgbGV2ZWwgbm90IGV4cG9zZWQgY29ycmVjdGx5IHZpYSB0aGUgYXJpYS1vd25z
IHBhdGgKICAgICAgICAgICAgKHRoaXMgd291bGQgYWxzbyBoYXBwZW4gaWYgR3JhbmRjaGlsZCBv
bmUgd2FzIGEgRE9NIGNoaWxkIGluc3RlYWQgbGlua2VkIHZpYSA8Y29kZT5hcmlhLW93bnM8L2Nv
ZGU+KQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgcm9sZT0idHJlZSIgaWQ9InRyZWUiIHRh
YmluZGV4PSIwIiBhcmlhLWxhYmVsbGVkYnk9ImZvbGRlckxpc3QiPgogICAgICAgICAgICA8ZGl2
IHJvbGU9InRyZWVpdGVtIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1leHBhbmRlZD0idHJ1
ZSIgYXJpYS1sZXZlbD0iMSI+CiAgICAgICAgICAgICAgICA8ZGl2PkZvbGRlciBvbmU8L2Rpdj4K
ICAgICAgICAgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iaXRlbS0xLTEtMSBp
dGVtLTEtMS0yIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGlk
PSJpdGVtLTEtMS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEt
ZXhwYW5kZWQ9InRydWUiIGFyaWEtbGV2ZWw9IjIiPgogICAgICAgICAgICAgICAgPGRpdj5DaGls
ZCBvbmU8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0i
aXRlbS0xLTEtMS0xIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2
IGlkPSJpdGVtLTEtMS0xLTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIg
YXJpYS1sZXZlbD0iMyI+CiAgICAgICAgICAgICAgICA8ZGl2PkdyYW5kY2hpbGQgb25lPC9kaXY+
CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBpZD0iaXRlbS0xLTEtMiIgcm9s
ZT0idHJlZWl0ZW0iICBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1sZXZlbD0iMiI+CiAgICAg
ICAgICAgICAgICA8ZGl2PkNoaWxkIHR3bzwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAg
ICAgICAgIDxkaXYgcm9sZT0idHJlZWl0ZW0iIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWV4
cGFuZGVkPSJmYWxzZSIgYXJpYS1sZXZlbD0iMSI+CiAgICAgICAgICAgICAgICA8ZGl2PkZvbGRl
ciB0d288L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxo
MiBpZD0iZm9sZGVyTGlzdCI+Zm9sZGVyIGxpc3QgMyBsZXZlbHMsIGhhY2t5PC9oMj4KICAgICAg
ICA8ZGl2PgogICAgICAgICAgICBVc2VzIDxjb2RlPmFyaWEtaGlkZGVuPC9jb2RlPiB0byBhdm9p
ZCB0aGUgb3duZWQgY2hpbGRyZW4gZnJvbQogICAgICAgICAgICBhcHBlYXJpbmcgaW4gdGhlIG5v
cm1hbCBmbG93LCBidXQgc3RpbGwgYWxsb3dpbmcgdGhlbSB0byBsYXlvdXQKICAgICAgICAgICAg
aW4gdGhlIHJpZ2h0IGxvY2F0aW9uLgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+Q2hyb21l
ICsgVk86IEFubm91bmNlcyBncm91cHMgYXMgaGF2aW5nIDAgaXRlbXM8L2Rpdj4KICAgICAgICA8
ZGl2PkNocm9tZSArIE5hcnJhdG9yOiBHZW5lcmFsbHkgd29ya3M8L2Rpdj4KICAgICAgICA8ZGl2
PgogICAgICAgICAgICBTYWZhcmkgKyBWTzogVGhpcmQgbGV2ZWwgbm90IGV4cG9zZWQgY29ycmVj
dGx5IHZpYSB0aGUgYXJpYS1vd25zIHBhdGgKICAgICAgICAgICAgKHRoaXMgd291bGQgYWxzbyBo
YXBwZW4gaWYgR3JhbmRjaGlsZCBvbmUgd2FzIGEgRE9NIGNoaWxkIGluc3RlYWQgbGlua2VkIHZp
YSA8Y29kZT5hcmlhLW93bnM8L2NvZGU+KQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgcm9s
ZT0idHJlZSIgaWQ9InRyZWUiIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsbGVkYnk9ImZvbGRlckxp
c3QiPgogICAgICAgICAgICA8ZGl2IHJvbGU9InRyZWVpdGVtIiBhcmlhLXNlbGVjdGVkPSJmYWxz
ZSIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1sZXZlbD0iMSI+CiAgICAgICAgICAgICAgICA8
ZGl2PkZvbGRlciBvbmU8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFy
aWEtb3ducz0iaXRlbS0yLTEtMSBpdGVtLTItMS0yIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+
CgogICAgICAgICAgICA8ZGl2IHJvbGU9InRyZWVpdGVtIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAg
ICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtLTItMS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1z
ZWxlY3RlZD0iZmFsc2UiIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtbGV2ZWw9IjIiPgogICAg
ICAgICAgICAgICAgICAgIDxkaXY+Q2hpbGQgb25lPC9kaXY+CiAgICAgICAgICAgICAgICAgICAg
PGRpdiByb2xlPSJncm91cCIgYXJpYS1vd25zPSJpdGVtLTItMS0xLTEiPjwvZGl2PgogICAgICAg
ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiByb2xl
PSJ0cmVlaXRlbSIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgPGRpdiBpZD0i
aXRlbS0yLTEtMS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEt
bGV2ZWw9IjMiPgogICAgICAgICAgICAgICAgICAgIEdyYW5kY2hpbGQgb25lCiAgICAgICAgICAg
ICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IHJvbGU9InRy
ZWVpdGVtIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVt
LTItMS0yIiByb2xlPSJ0cmVlaXRlbSIgIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWxldmVs
PSIyIj4KICAgICAgICAgICAgICAgICAgICBDaGlsZCB0d28KICAgICAgICAgICAgICAgIDwvZGl2
PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgcm9sZT0idHJlZWl0ZW0iIGFy
aWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sZXZlbD0iMSI+
CiAgICAgICAgICAgICAgICBGb2xkZXIgdHdvCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwv
ZGl2PgogICAgPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444857</attachid>
            <date>2021-11-19 14:54:10 -0800</date>
            <delta_ts>2021-12-01 09:44:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211119145409.patch</filename>
            <type>text/plain</type>
            <size>9205</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFlZWI4NDQ4ZGRiOWJl
OTU5YmE2YjFmYmRkM2VhZjkyOWRlMjU3Ni4uNmUzNDAxNDAxMWFhZDU0Njk0MzNhMzBlOGVhODBk
ZTFkM2IwOTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTE5ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IExheW91dFRlc3RzXGFjY2Vzc2liaWxp
dHlcbWFjXHRyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MpOgorCiAyMDIxLTExLTE5ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIGNvbnZl
cnRlcnMgZnJvbSBzZXJpYWxpemFibGUgZGVzY3JpcHRvcnMgdG8gaW50ZXJmYWNlIGRlc2NyaXB0
b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAppbmRleCA5Mzg0OGUxY2FiNzZkNzk4NzYzOGRiOGYzZGFhNjM4Zjk5OTBmZTA5
Li41OWU2ZDg0ZWVhNjU1NmZlNDEzYmUxODFmYWYyNzA1OTQ4ZGNkZWVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTE4MjQsMTggKzE4MjQsNDMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9i
amVjdDo6aGVhZGluZ0VsZW1lbnRGb3JOb2RlKE5vZGUqIG5vZGUpCiAKIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQogewotICAgIC8vIElmIHRoZSBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHJlZSByb3dzIHRo
cm91Z2ggYXJpYS1vd25zLCByZXR1cm4gdGhhdCBmaXJzdC4KICAgICBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3IgYXJpYU93bnM7CiAgICAgYXJpYU93bnNFbGVtZW50cyhhcmlhT3ducyk7Ci0g
ICAgaWYgKGFyaWFPd25zLnNpemUoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGFy
aWFPd25zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKKworICAgIC8vIFRoZSBvcmRl
cmluZyBvZiByb3dzIGlzIGZpcnN0IERPTSBjaGlsZHJlbiAqbm90KiBpbiBhcmlhLW93bnMsIGZv
bGxvd2VkIGJ5IGFsbCBzcGVjaWZpZWQKKyAgICAvLyBpbiBhcmlhLW93bnMuCiAgICAgZm9yIChj
b25zdCBhdXRvJiBjaGlsZCA6IGNoaWxkcmVuKCkpIHsKICAgICAgICAgLy8gQWRkIHRyZWUgaXRl
bXMgYXMgdGhlIHJvd3MuCi0gICAgICAgIGlmIChjaGlsZC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNz
aWJpbGl0eVJvbGU6OlRyZWVJdGVtKQorICAgICAgICBpZiAoY2hpbGQtPnJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpUcmVlSXRlbSkgeworICAgICAgICAgICAgLy8gQ2hpbGQgYXBw
ZWFycyBib3RoIGFzIGEgZGlyZWN0IGNoaWxkIGFuZCBhcmlhLW93bnMsIHdlIHNob3VsZCB1c2Ug
dGhlIG9yZGVyaW5nIGFzCisgICAgICAgICAgICAvLyBkZXNjcmliZWQgaW4gYXJpYS1vd25zIGZv
ciB0aGlzIGNoaWxkLgorICAgICAgICAgICAgaWYgKGFyaWFPd25zLmNvbnRhaW5zKGNoaWxkKSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8g
VGhlIHJlc3VsdCBzZXQgbWF5IGFscmVhZHkgY29udGFpbiB0aGUgY2hpbGQgdGhyb3VnaCBhcmlh
LW93bnMuIEZvciBleGFtcGxlLAorICAgICAgICAgICAgLy8gdHJlZWl0ZW0gc2l0dGluZyB1bmRl
ciB0aGUgdHJlZSByb290LCB3aGljaCBpcyBvd25lZCBlbHNld2hlcmUgaW4gdGhlIHRyZWUuCisg
ICAgICAgICAgICBpZiAocmVzdWx0LmNvbnRhaW5zKGNoaWxkKSkKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChjaGlsZCk7CisgICAgICAgIH0K
KworICAgICAgICAvLyBOb3cgc2VlIGlmIHRoaXMgaXRlbSBhbHNvIGhhcyByb3dzIGhpZGluZyBp
bnNpZGUgb2YgaXQuCisgICAgICAgIGNoaWxkLT5hcmlhVHJlZVJvd3MocmVzdWx0KTsKKyAgICB9
CisKKyAgICAvLyBOb3cgZ28gdGhyb3VnaCB0aGUgYXJpYS1vd25zIGVsZW1lbnRzLgorICAgIGZv
ciAoY29uc3QgYXV0byYgY2hpbGQgOiBhcmlhT3ducykgeworICAgICAgICAvLyBBZGQgdHJlZSBp
dGVtcyBhcyB0aGUgcm93cy4KKyAgICAgICAgaWYgKGNoaWxkLT5yb2xlVmFsdWUoKSA9PSBBY2Nl
c3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW0pIHsKKyAgICAgICAgICAgIC8vIEhvcGVmdWxseSBhIGZs
b3cgdGhhdCBkb2VzIG5vdCBvY2N1ciBvZnRlbiBpbiBwcmFjdGljZSwgYnV0IGlmIHNvbWVvbmUg
d2VyZSB0byBpbmNsdWRlCisgICAgICAgICAgICAvLyB0aGUgb3duZWQgY2hpbGQgZWFsaWVyIGlu
IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHRyZWUsIHRoZW4gcmVmZXJlbmNlIHZpYSBhcmlhLW93bnMg
bGF0ZXIsCisgICAgICAgICAgICAvLyBtb3ZlIGl0IHRvIHRoZSByaWdodCBwbGFjZS4KKyAgICAg
ICAgICAgIGlmIChyZXN1bHQuY29udGFpbnMoY2hpbGQpKQorICAgICAgICAgICAgICAgIHJlc3Vs
dC5yZW1vdmVGaXJzdChjaGlsZCk7CisgICAgICAgICAgICAKICAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQoY2hpbGQpOworICAgICAgICB9CiAKICAgICAgICAgLy8gTm93IHNlZSBpZiB0aGlzIGl0
ZW0gYWxzbyBoYXMgcm93cyBoaWRpbmcgaW5zaWRlIG9mIGl0LgogICAgICAgICBjaGlsZC0+YXJp
YVRyZWVSb3dzKHJlc3VsdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzkxMDI0MDY1ZGZlMmYyMmNmMDU4MGRlMjIxMTUx
ODkxYTM3YTliMC4uMGIyYWRjYzRlNTRmZjVlMmFmYmYwYjNiZDEzZmZkZWVhMDM5YmI5ZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTExLTE5ICBTZXBhbmQgUGFyaGFtaSAgPHNwYXJoYW1p
QGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBzdXBwb3J0IGZvciBhcmlhLW93bnMg
aW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRp
b24uaHRtbDoKKwogMjAyMS0xMS0xOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NTUyBDYXNjYWRlIExheWVyc10gW0RlYnVnXSBBU1NFUlRJT04gRkFJTEVE
OiBtX2NoaWxkUnVsZXMuaXNFbXB0eSgpIHdoZW4gdXNpbmcgQGltcG9ydCB3aXRoIGxheWVyIG5h
bWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJv
dy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBiNDQ0Yzc3MDMwZmQ4
MThjMzQ5MDQ0NmM5ZDYzMjUxMzQwMDZlNjU5Li5mOGIwNjYzNTJhNzRmZTk3YjRmMzNhMzdjMmYz
NDUyMjE0YjFjZTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90
cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0x
LDExICsxLDIzIEBACi1UaGlzIHRlc3RzIHRoYXQgYSB0cmVlaXRlbSB3YXMgYSBncm91cCB0aGF0
IHVzZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHku
CitUaGlzIHRlc3RzIHRoYXQgYSB0cmVlaXRlbSB3aXRoIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEt
b3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29ycmVjdGx5LgogCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyB0cmVlaXRlbTIuaXNFcXVhbChhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScpKSBpcyB0
cnVlCitQQVNTIHRyZWUuY2hpbGRyZW5Db3VudCBpcyA3CitQQVNTIHRyZWVpdGVtMS5pc0VxdWFs
KGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0xJykp
IGlzIHRydWUKK1BBU1MgdHJlZWl0ZW0xXzEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScpKSBpcyB0cnVlCitQQVNTIHRy
ZWVpdGVtMV8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCdncm91cDEtaXRlbTInKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMy5pc0VxdWFs
KGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0
ZW0zJykpIGlzIHRydWUKK1BBU1MgdHJlZWl0ZW0xXzJfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAyLWl0ZW0xJykpIGlzIHRydWUK
K1BBU1MgdHJlZWl0ZW0xXzJfMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vz
c2libGVFbGVtZW50QnlJZCgnZ3JvdXAyLWl0ZW0yJykpIGlzIHRydWUKK1BBU1MgdHJlZWl0ZW0y
LmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdp
dGVtLTInKSkgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCitKYWd1YXIKIEp1bmdsZSBBbmltYWxzCi1MaW9ucworQmlyZHMKK1JlcHRpbGVz
CitDYXRzCitMaW9uCitEb21lc3RpYyBBbmltYWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbAppbmRleCBh
MWI5MTEzYzI1MGM4OTY0NzRiMTA4YWU4ZDI2M2ExYmFkMDYwMzFkLi41ZDk2M2RiNjRkY2U4ZTRm
YmFhMGM3Y2E0OGUxMzFiZGMwNTc1MzQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKQEAgLTgsMTkg
KzgsNDAgQEAKIDxib2R5IGlkPSJib2R5Ij4KIAogPGRpdiBpZD0idHJlZSIgcm9sZT0idHJlZSI+
CisgICAgPGRpdiBpZD0iZ3JvdXAyLWl0ZW0yIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0i
MyIgYXJpYS1zZXRzaXplPSIyIiBhcmlhLXBvc2luc2V0PSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2Ui
PkphZ3VhcjwvZGl2PgogICAgIDxkaXYgaWQ9Iml0ZW0tMSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEt
bGV2ZWw9IjEiIGFyaWEtZXhwYW5kZWQ9InRydWUiIHRhYmluZGV4PSIwIj5KdW5nbGUgQW5pbWFs
cwotICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9Imdyb3VwMS1pdGVtMSBncm91
cDEtaXRlbTIgZ3JvdXAxLWl0ZW0zIj48L2Rpdj4KKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIg
YXJpYS1vd25zPSJncm91cDEtaXRlbTIgZ3JvdXAxLWl0ZW0zIGdyb3VwMS1pdGVtNCI+CisgICAg
ICAgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0zIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0i
MiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIzIiBhcmlhLWN1cnJlbnQ9InBhZ2Ui
PkJpcmRzPC9kaXY+CisgICAgICAgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVl
aXRlbSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBh
cmlhLWN1cnJlbnQ9InBhZ2UiPlJlcHRpbGVzPC9kaXY+CisgICAgICAgIDwvZGl2PgogICAgIDwv
ZGl2PgotICAgIDxkaXYgaWQ9Imdyb3VwMS1pdGVtMSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2
ZWw9IjIiIGFyaWEtc2V0c2l6ZT0iMyIgYXJpYS1wb3NpbnNldD0iMSIgYXJpYS1jdXJyZW50PSJw
YWdlIj5MaW9uczwvZGl2PgorICAgIDxkaXYgaWQ9Imdyb3VwMS1pdGVtMiIgcm9sZT0idHJlZWl0
ZW0iIGFyaWEtbGV2ZWw9IjIiIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtc2V0c2l6ZT0iMSIg
YXJpYS1wb3NpbnNldD0iMiIgYXJpYS1jdXJyZW50PSJwYWdlIj5DYXRzCisgICAgICAgIDxkaXYg
cm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAyLWl0ZW0xIGdyb3VwMi1pdGVtMiI+PC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXAyLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIg
YXJpYS1sZXZlbD0iMyIgYXJpYS1wb3NpbnNldD0iMSIgYXJpYS1zZXRzaXplPSIyIiBhcmlhLWN1
cnJlbnQ9InBhZ2UiPkxpb248L2Rpdj4KKyAgICA8ZGl2IGlkPSJpdGVtLTIiIHJvbGU9InRyZWVp
dGVtIiBhcmlhLWxldmVsPSIxIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgdGFiaW5kZXg9Ii0xIj5E
b21lc3RpYyBBbmltYWxzPC9kaXY+CiA8L2Rpdj4KIAogPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2FzIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEt
b3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29ycmVjdGx5LiIpOworICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYSB0cmVlaXRlbSB3aXRoIGEgZ3JvdXAgdGhhdCB1
c2VzIGFyaWEtb3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29ycmVjdGx5LiIp
OwogCiAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAgICAgIHZh
ciB0cmVlaXRlbSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgiaXRlbS0xIik7Ci0gICAgICAgdmFyIHRyZWVpdGVtMiA9IHRyZWVpdGVtLmRpc2Nsb3NlZFJv
d0F0SW5kZXgoMCk7Ci0gICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTIuaXNFcXVhbChhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScp
KSIpOworICAgICAgIHZhciB0cmVlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCJ0cmVlIik7CisgICAgICAgdmFyIHRyZWVpdGVtMSA9IHRyZWUucm93QXRJ
bmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzEgPSB0cmVlaXRlbTEuZGlzY2xvc2VkUm93
QXRJbmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzIgPSB0cmVlaXRlbTEuZGlzY2xvc2Vk
Um93QXRJbmRleCgxKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzMgPSB0cmVlaXRlbTEuZGlzY2xv
c2VkUm93QXRJbmRleCg0KTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzJfMSA9IHRyZWVpdGVtMV8y
LmRpc2Nsb3NlZFJvd0F0SW5kZXgoMCk7CisgICAgICAgdmFyIHRyZWVpdGVtMV8yXzIgPSB0cmVl
aXRlbTFfMi5kaXNjbG9zZWRSb3dBdEluZGV4KDEpOworICAgICAgIHZhciB0cmVlaXRlbTIgPSB0
cmVlLnJvd0F0SW5kZXgoNik7CisgICAgICAgc2hvdWxkQmUoInRyZWUuY2hpbGRyZW5Db3VudCIs
ICI3Iik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTEuaXNFcXVhbChhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2l0ZW0tMScpKSIpOworICAgICAg
IHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScpKSIpOworICAgICAgIHNob3Vs
ZEJlVHJ1ZSgidHJlZWl0ZW0xXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMicpKSIpOworICAgICAgIHNob3VsZEJlVHJ1
ZSgidHJlZWl0ZW0xXzMuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMycpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJl
ZWl0ZW0xXzJfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgnZ3JvdXAyLWl0ZW0xJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRl
bTFfMl8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCdncm91cDItaXRlbTInKSkiKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMi5p
c0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnaXRl
bS0yJykpIik7CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445585</attachid>
            <date>2021-12-01 09:44:11 -0800</date>
            <delta_ts>2021-12-02 17:00:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211201094410.patch</filename>
            <type>text/plain</type>
            <size>9213</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFlZWI4NDQ4ZGRiOWJl
OTU5YmE2YjFmYmRkM2VhZjkyOWRlMjU3Ni4uNmUzNDAxNDAxMWFhZDU0Njk0MzNhMzBlOGVhODBk
ZTFkM2IwOTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTE5ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IExheW91dFRlc3RzXGFjY2Vzc2liaWxp
dHlcbWFjXHRyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MpOgorCiAyMDIxLTExLTE5ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIGNvbnZl
cnRlcnMgZnJvbSBzZXJpYWxpemFibGUgZGVzY3JpcHRvcnMgdG8gaW50ZXJmYWNlIGRlc2NyaXB0
b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAppbmRleCA5Mzg0OGUxY2FiNzZkNzk4NzYzOGRiOGYzZGFhNjM4Zjk5OTBmZTA5
Li5jYmE4NTY2ZDc4Zjg2YjM2MzU1NTM0YmQ2Yjg2ZDcxMDExODIxMTRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTE4MjQsMTggKzE4MjQsNDMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9i
amVjdDo6aGVhZGluZ0VsZW1lbnRGb3JOb2RlKE5vZGUqIG5vZGUpCiAKIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQogewotICAgIC8vIElmIHRoZSBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHJlZSByb3dzIHRo
cm91Z2ggYXJpYS1vd25zLCByZXR1cm4gdGhhdCBmaXJzdC4KICAgICBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3IgYXJpYU93bnM7CiAgICAgYXJpYU93bnNFbGVtZW50cyhhcmlhT3ducyk7Ci0g
ICAgaWYgKGFyaWFPd25zLnNpemUoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGFy
aWFPd25zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKKworICAgIC8vIFRoZSBvcmRl
cmluZyBvZiByb3dzIGlzIGZpcnN0IERPTSBjaGlsZHJlbiAqbm90KiBpbiBhcmlhLW93bnMsIGZv
bGxvd2VkIGJ5IGFsbCBzcGVjaWZpZWQKKyAgICAvLyBpbiBhcmlhLW93bnMuCiAgICAgZm9yIChj
b25zdCBhdXRvJiBjaGlsZCA6IGNoaWxkcmVuKCkpIHsKICAgICAgICAgLy8gQWRkIHRyZWUgaXRl
bXMgYXMgdGhlIHJvd3MuCi0gICAgICAgIGlmIChjaGlsZC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNz
aWJpbGl0eVJvbGU6OlRyZWVJdGVtKQorICAgICAgICBpZiAoY2hpbGQtPnJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpUcmVlSXRlbSkgeworICAgICAgICAgICAgLy8gQ2hpbGQgYXBw
ZWFycyBib3RoIGFzIGEgZGlyZWN0IGNoaWxkIGFuZCBhcmlhLW93bnMsIHdlIHNob3VsZCB1c2Ug
dGhlIG9yZGVyaW5nIGFzCisgICAgICAgICAgICAvLyBkZXNjcmliZWQgaW4gYXJpYS1vd25zIGZv
ciB0aGlzIGNoaWxkLgorICAgICAgICAgICAgaWYgKGFyaWFPd25zLmNvbnRhaW5zKGNoaWxkKSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8g
VGhlIHJlc3VsdCBzZXQgbWF5IGFscmVhZHkgY29udGFpbiB0aGUgY2hpbGQgdGhyb3VnaCBhcmlh
LW93bnMuIEZvciBleGFtcGxlLAorICAgICAgICAgICAgLy8gYSB0cmVlaXRlbSBzaXR0aW5nIHVu
ZGVyIHRoZSB0cmVlIHJvb3QsIHdoaWNoIGlzIG93bmVkIGVsc2V3aGVyZSBpbiB0aGUgdHJlZS4K
KyAgICAgICAgICAgIGlmIChyZXN1bHQuY29udGFpbnMoY2hpbGQpKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGNoaWxkKTsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIE5vdyBzZWUgaWYgdGhpcyBpdGVtIGFsc28gaGFzIHJvd3MgaGlkaW5n
IGluc2lkZSBvZiBpdC4KKyAgICAgICAgY2hpbGQtPmFyaWFUcmVlUm93cyhyZXN1bHQpOworICAg
IH0KKworICAgIC8vIE5vdyBnbyB0aHJvdWdoIHRoZSBhcmlhLW93bnMgZWxlbWVudHMuCisgICAg
Zm9yIChjb25zdCBhdXRvJiBjaGlsZCA6IGFyaWFPd25zKSB7CisgICAgICAgIC8vIEFkZCB0cmVl
IGl0ZW1zIGFzIHRoZSByb3dzLgorICAgICAgICBpZiAoY2hpbGQtPnJvbGVWYWx1ZSgpID09IEFj
Y2Vzc2liaWxpdHlSb2xlOjpUcmVlSXRlbSkgeworICAgICAgICAgICAgLy8gSG9wZWZ1bGx5IGEg
ZmxvdyB0aGF0IGRvZXMgbm90IG9jY3VyIG9mdGVuIGluIHByYWN0aWNlLCBidXQgaWYgc29tZW9u
ZSB3ZXJlIHRvIGluY2x1ZGUKKyAgICAgICAgICAgIC8vIHRoZSBvd25lZCBjaGlsZCBlYWxpZXIg
aW4gdGhlIHRvcCBsZXZlbCBvZiB0aGUgdHJlZSwgdGhlbiByZWZlcmVuY2UgdmlhIGFyaWEtb3du
cyBsYXRlciwKKyAgICAgICAgICAgIC8vIG1vdmUgaXQgdG8gdGhlIHJpZ2h0IHBsYWNlLgorICAg
ICAgICAgICAgaWYgKHJlc3VsdC5jb250YWlucyhjaGlsZCkpCisgICAgICAgICAgICAgICAgcmVz
dWx0LnJlbW92ZUZpcnN0KGNoaWxkKTsKKyAgICAgICAgICAgIAogICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZChjaGlsZCk7CisgICAgICAgIH0KIAogICAgICAgICAvLyBOb3cgc2VlIGlmIHRoaXMg
aXRlbSBhbHNvIGhhcyByb3dzIGhpZGluZyBpbnNpZGUgb2YgaXQuCiAgICAgICAgIGNoaWxkLT5h
cmlhVHJlZVJvd3MocmVzdWx0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOTEwMjQwNjVkZmUyZjIyY2YwNTgwZGUyMjEx
NTE4OTFhMzdhOWIwLi4wYjJhZGNjNGU1NGZmNWUyYWZiZjBiM2JkMTNmZmRlZWEwMzliYjllIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTEtMTkgIFNlcGFuZCBQYXJoYW1pICA8c3Bhcmhh
bWlAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbXByb3ZlIHN1cHBvcnQgZm9yIGFyaWEtb3du
cyBpbiBhcmlhIHRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzMzODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdh
dGlvbi5odG1sOgorCiAyMDIxLTExLTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ1NTIENhc2NhZGUgTGF5ZXJzXSBbRGVidWddIEFTU0VSVElPTiBGQUlM
RUQ6IG1fY2hpbGRSdWxlcy5pc0VtcHR5KCkgd2hlbiB1c2luZyBAaW1wb3J0IHdpdGggbGF5ZXIg
bmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0t
cm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGI0NDRjNzcwMzBm
ZDgxOGMzNDkwNDQ2YzlkNjMyNTEzNDAwNmU2NTkuLmY4YjA2NjM1MmE3NGZlOTdiNGYzM2EzN2My
ZjM0NTIyMTRiMWNlNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3RlZC50eHQKQEAg
LTEsMTEgKzEsMjMgQEAKLVRoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdhcyBhIGdyb3VwIHRo
YXQgdXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Nsb3NlZCByb3dzIGNvcnJlY3Rs
eS4KK1RoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91cCB0aGF0IHVzZXMgYXJp
YS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuCiAKIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHRyZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIGlz
IHRydWUKK1BBU1MgdHJlZS5jaGlsZHJlbkNvdW50IGlzIDcKK1BBU1MgdHJlZWl0ZW0xLmlzRXF1
YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdpdGVtLTEn
KSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIGlzIHRydWUKK1BBU1Mg
dHJlZWl0ZW0xXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ2dyb3VwMS1pdGVtMicpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8zLmlzRXF1
YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEt
aXRlbTMnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMl8xLmlzRXF1YWwoYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTEnKSkgaXMgdHJ1
ZQorUEFTUyB0cmVlaXRlbTFfMl8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTInKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRl
bTIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
J2l0ZW0tMicpKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKK0phZ3VhcgogSnVuZ2xlIEFuaW1hbHMKLUxpb25zCitCaXJkcworUmVwdGls
ZXMKK0NhdHMKK0xpb24KK0RvbWVzdGljIEFuaW1hbHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sCmluZGV4
IGExYjkxMTNjMjUwYzg5NjQ3NGIxMDhhZThkMjYzYTFiYWQwNjAzMWQuLjhmMWJhODVkOGUyYzE4
ZWI5NzA0MDI4NDEyYzM4NmRkNDM1NDQyYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbApAQCAtOCwx
OSArOCw0MCBAQAogPGJvZHkgaWQ9ImJvZHkiPgogCiA8ZGl2IGlkPSJ0cmVlIiByb2xlPSJ0cmVl
Ij4KKyAgICA8ZGl2IGlkPSJncm91cDItaXRlbTIiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVs
PSIzIiBhcmlhLXNldHNpemU9IjIiIGFyaWEtcG9zaW5zZXQ9IjIiIGFyaWEtY3VycmVudD0icGFn
ZSI+SmFndWFyPC9kaXY+CiAgICAgPGRpdiBpZD0iaXRlbS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJp
YS1sZXZlbD0iMSIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgdGFiaW5kZXg9IjAiPkp1bmdsZSBBbmlt
YWxzCi0gICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAxLWl0ZW0xIGdy
b3VwMS1pdGVtMiBncm91cDEtaXRlbTMiPjwvZGl2PgorICAgICAgICA8ZGl2IHJvbGU9Imdyb3Vw
IiBhcmlhLW93bnM9Imdyb3VwMS1pdGVtMiBncm91cDEtaXRlbTMgbm9uLWV4aXN0ZW50LWl0ZW0x
Ij4KKyAgICAgICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTMiIHJvbGU9InRyZWVpdGVtIiBhcmlh
LWxldmVsPSIyIiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9IjMiIGFyaWEtY3VycmVu
dD0icGFnZSI+QmlyZHM8L2Rpdj4KKyAgICAgICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTEiIHJv
bGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5z
ZXQ9IjEiIGFyaWEtY3VycmVudD0icGFnZSI+UmVwdGlsZXM8L2Rpdj4KKyAgICAgICAgPC9kaXY+
CiAgICAgPC9kaXY+Ci0gICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIg
YXJpYS1sZXZlbD0iMiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLWN1
cnJlbnQ9InBhZ2UiPkxpb25zPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0yIiByb2xl
PSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1zZXRz
aXplPSIxIiBhcmlhLXBvc2luc2V0PSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkNhdHMKKyAgICAg
ICAgPGRpdiByb2xlPSJncm91cCIgYXJpYS1vd25zPSJncm91cDItaXRlbTEgZ3JvdXAyLWl0ZW0y
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJncm91cDItaXRlbTEiIHJvbGU9InRy
ZWVpdGVtIiBhcmlhLWxldmVsPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLXNldHNpemU9IjIi
IGFyaWEtY3VycmVudD0icGFnZSI+TGlvbjwvZGl2PgorICAgIDxkaXYgaWQ9Iml0ZW0tMiIgcm9s
ZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRl
eD0iLTEiPkRvbWVzdGljIEFuaW1hbHM8L2Rpdj4KIDwvZGl2PgogCiA8c2NyaXB0PgotICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYSB0cmVlaXRlbSB3YXMgYSBncm91cCB0aGF0IHVz
ZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuIik7
CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91
cCB0aGF0IHVzZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3Jy
ZWN0bHkuIik7CiAKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0g
ICAgICAgdmFyIHRyZWVpdGVtID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCJpdGVtLTEiKTsKLSAgICAgICB2YXIgdHJlZWl0ZW0yID0gdHJlZWl0ZW0uZGlz
Y2xvc2VkUm93QXRJbmRleCgwKTsKLSAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMi5pc0Vx
dWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAx
LWl0ZW0xJykpIik7CisgICAgICAgdmFyIHRyZWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRyZWUiKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xID0gdHJl
ZS5yb3dBdEluZGV4KDApOworICAgICAgIHZhciB0cmVlaXRlbTFfMSA9IHRyZWVpdGVtMS5kaXNj
bG9zZWRSb3dBdEluZGV4KDApOworICAgICAgIHZhciB0cmVlaXRlbTFfMiA9IHRyZWVpdGVtMS5k
aXNjbG9zZWRSb3dBdEluZGV4KDEpOworICAgICAgIHZhciB0cmVlaXRlbTFfMyA9IHRyZWVpdGVt
MS5kaXNjbG9zZWRSb3dBdEluZGV4KDQpOworICAgICAgIHZhciB0cmVlaXRlbTFfMl8xID0gdHJl
ZWl0ZW0xXzIuZGlzY2xvc2VkUm93QXRJbmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzJf
MiA9IHRyZWVpdGVtMV8yLmRpc2Nsb3NlZFJvd0F0SW5kZXgoMSk7CisgICAgICAgdmFyIHRyZWVp
dGVtMiA9IHRyZWUucm93QXRJbmRleCg2KTsKKyAgICAgICBzaG91bGRCZSgidHJlZS5jaGlsZHJl
bkNvdW50IiwgIjciKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMS5pc0VxdWFsKGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0xJykpIik7
CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTFfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIik7CisgICAg
ICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTFfMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0yJykpIik7CisgICAgICAgc2hv
dWxkQmVUcnVlKCJ0cmVlaXRlbTFfMy5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0zJykpIik7CisgICAgICAgc2hvdWxkQmVU
cnVlKCJ0cmVlaXRlbTFfMl8xLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTEnKSkiKTsKKyAgICAgICBzaG91bGRCZVRydWUo
InRyZWVpdGVtMV8yXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ2dyb3VwMi1pdGVtMicpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJl
ZWl0ZW0yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCdpdGVtLTInKSkiKTsKICAgICB9CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445795</attachid>
            <date>2021-12-02 17:00:43 -0800</date>
            <delta_ts>2021-12-03 16:57:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211202170042.patch</filename>
            <type>text/plain</type>
            <size>12901</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFlZWI4NDQ4ZGRiOWJl
OTU5YmE2YjFmYmRkM2VhZjkyOWRlMjU3Ni4uNmUzNDAxNDAxMWFhZDU0Njk0MzNhMzBlOGVhODBk
ZTFkM2IwOTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTE5ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IExheW91dFRlc3RzXGFjY2Vzc2liaWxp
dHlcbWFjXHRyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MpOgorCiAyMDIxLTExLTE5ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIGNvbnZl
cnRlcnMgZnJvbSBzZXJpYWxpemFibGUgZGVzY3JpcHRvcnMgdG8gaW50ZXJmYWNlIGRlc2NyaXB0
b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAppbmRleCA5Mzg0OGUxY2FiNzZkNzk4NzYzOGRiOGYzZGFhNjM4Zjk5OTBmZTA5
Li5jNWQxNmIyNTZhNWYyMTE1NTA1MmYyZThjNWVjOTA2NjRkNjNkZTcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTE4MjQsMTUgKzE4MjQsMTAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9i
amVjdDo6aGVhZGluZ0VsZW1lbnRGb3JOb2RlKE5vZGUqIG5vZGUpCiAKIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQogewotICAgIC8vIElmIHRoZSBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHJlZSByb3dzIHRo
cm91Z2ggYXJpYS1vd25zLCByZXR1cm4gdGhhdCBmaXJzdC4KLSAgICBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3IgYXJpYU93bnM7Ci0gICAgYXJpYU93bnNFbGVtZW50cyhhcmlhT3ducyk7Ci0g
ICAgaWYgKGFyaWFPd25zLnNpemUoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGFy
aWFPd25zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRy
ZW5WZWN0b3IgdGFyZ2V0Q2hpbGRyZW47CisgICAgbG9naWNhbENoaWxkcmVuKHRhcmdldENoaWxk
cmVuKTsKICAgICAKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW4oKSkgewor
ICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiB0YXJnZXRDaGlsZHJlbikgewogICAgICAgICAv
LyBBZGQgdHJlZSBpdGVtcyBhcyB0aGUgcm93cy4KICAgICAgICAgaWYgKGNoaWxkLT5yb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW0pCiAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKGNoaWxkKTsKQEAgLTE4NTEsNiArMTg0Niw3NCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmFyaWFUcmVlSXRlbUNvbnRlbnQoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBy
ZXN1bAogICAgIH0KIH0KIAorQVhDb3JlT2JqZWN0KiBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpsb2dp
Y2FsUGFyZW50T2JqZWN0KCkKK3sKKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJp
YU93bmVkQnk7CisgICAgYXJpYU93bnNSZWZlcmVuY2luZ0VsZW1lbnRzKGFyaWFPd25lZEJ5KTsK
KyAgICBpZiAoYXJpYU93bmVkQnkuc2l6ZSgpID09IDEpCisgICAgICAgIHJldHVybiBhcmlhT3du
ZWRCeVswXS5nZXQoKTsKKworICAgIHJldHVybiB0aGlzLT5wYXJlbnRPYmplY3QoKTsKK30KKwor
Ym9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNMb2dpY2FsQW5jZXN0b3IoY29uc3QgQVhDb3Jl
T2JqZWN0JiB0YXJnZXRDaGlsZCkKK3sKKyAgICBBWENvcmVPYmplY3QqIGN1cnJlbnQgPSB0aGlz
OworICAgIAorICAgIHdoaWxlICgoY3VycmVudCA9IGN1cnJlbnQtPmxvZ2ljYWxQYXJlbnRPYmpl
Y3QoKSkgIT0gbnVsbHB0cikgeworICAgICAgICAvLyBJZiBvbmUgb2Ygb3VyIGxvZ2ljYWwgYW5j
ZXN0b3JzIGlzIHRoZSB0YXJnZXQgY2hpbGQsIHdlIGhhdmUgYSBsb29wIHZpYQorICAgICAgICAv
LyBhcmlhLW93bnMuCisgICAgICAgIGlmIChjdXJyZW50ID09ICZ0YXJnZXRDaGlsZCkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bG9naWNhbENoaWxkcmVuKEFjY2Vzc2liaWxpdHlD
aGlsZHJlblZlY3RvciYgcmVzdWx0KQoreworICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3Rv
ciBhcmlhT3duZWRCeTsKKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJpYU93bnM7
CisgICAgYXJpYU93bnNFbGVtZW50cyhhcmlhT3ducyk7CisKKyAgICAvLyBUaGUgb3JkZXJpbmcg
b2YgY2hpbGRyZW4gaXMgZmlyc3QgRE9NIGNoaWxkcmVuICpub3QqIGluIGFyaWEtb3ducywgZm9s
bG93ZWQgYnkgYWxsIHNwZWNpZmllZAorICAgIC8vIGluIGFyaWEtb3ducy4KKyAgICBmb3IgKGNv
bnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW4oKSkgeworICAgICAgICBpZiAoaXM8QWNjZXNzaWJp
bGl0eU9iamVjdD4oKmNoaWxkKSkgeworICAgICAgICAgICAgYXJpYU93bmVkQnkuY2xlYXIoKTsK
KyAgICAgICAgICAgIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KCpjaGlsZCkuYXJpYU93
bnNSZWZlcmVuY2luZ0VsZW1lbnRzKGFyaWFPd25lZEJ5KTsKKworICAgICAgICAgICAgLy8gSWYg
YW4gZWxlbWVudCBpcyBvd25lZCwgc2tpcCBpdCBzaW5jZSBpdCB3aWxsIGJlIGNsYWltZWQgYnkg
dGhlIG93bmVyICh3aGljaCBjb3VsZCBiZQorICAgICAgICAgICAgLy8gdGhpcyBvYmplY3QpIGxh
dGVyIGluIHRoZSByaWdodCBwbGFjZS4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIG93bmVycywgdGhl
IGJlaGF2aW9yIGlzCisgICAgICAgICAgICAvLyBub3Qgc3BlY2lmaWVkLCBidXQgYmVsb3cgd2Ug
aWdub3JlIHRoZSBhcmlhLW93bnMgZm9yIHRob3NlIGVsZW1lbnRzLiBJZiB0aGVyZSBhcmUKKyAg
ICAgICAgICAgIC8vIG11bHRpcGxlIG93bmVycywgd2UganVzdCBpbmNsdWRlIGl0IGhlcmUgc28g
dGhlIGNvbnRlbnQgaXMgYXZhaWxhYmxlIHRvIHRoZSB1c2VyIGluCisgICAgICAgICAgICAvLyBz
b21lIGZvcm0uCisgICAgICAgICAgICBpZiAoYXJpYU93bmVkQnkuc2l6ZSgpID09IDEpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICByZXN1bHQuYXBwZW5k
KGNoaWxkKTsKKyAgICB9CisgICAgCisgICAgLy8gTm93IGdvIHRocm91Z2ggdGhlIGFyaWEtb3du
cyBlbGVtZW50cy4KKyAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogYXJpYU93bnMpIHsKKyAg
ICAgICAgaWYgKGlzPEFjY2Vzc2liaWxpdHlPYmplY3Q+KCpjaGlsZCkpIHsKKyAgICAgICAgICAg
IGFyaWFPd25lZEJ5LmNsZWFyKCk7CisgICAgICAgICAgICBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5
T2JqZWN0PigqY2hpbGQpLmFyaWFPd25zUmVmZXJlbmNpbmdFbGVtZW50cyhhcmlhT3duZWRCeSk7
CisKKyAgICAgICAgICAgIC8vIEF2b2lkIGFueXRoaW5nIG93bmVkIGJ5IG11bHRpcGxlIHBhcmVu
dHMgc2luY2UgaXQgaXMgbm90IHZhbGlkLgorICAgICAgICAgICAgaWYgKGFyaWFPd25lZEJ5LnNp
emUoKSA+IDEpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBBdm9pZCBhIGNpcmN1bGFyIHJlZmVyZW5jZSB2aWEgYXJpYS1vd25zLgorICAgICAgICBp
ZiAoaGFzTG9naWNhbEFuY2VzdG9yKCpjaGlsZCkpCisgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICByZXN1bHQuYXBwZW5kKGNoaWxkKTsKKyAgICB9Cit9CisKIEFYQ29yZU9iamVjdDo6
QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRpc2Nsb3Nl
ZFJvd3MoKQogewogICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciByZXN1bHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmlu
ZGV4IDIxZmY0YTI4YTVhNjRhODE0MTcxMjMzYTgxNjRlYzNhZTU2YzIwOWYuLmQwZjVhMDQ3ZGNk
YzUzNjI0ODNlMWVkODhjNTNlM2M5NGRiZDlmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC02MTgsNiArNjE4LDExIEBA
IHB1YmxpYzoKICAgICBib29sIGlzVmFsdWVBdXRvZmlsbGVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBpc1ZhbHVlQXV0b2ZpbGxBdmFpbGFibGUoKSBjb25zdCBvdmVycmlkZTsKICAgICBB
dXRvRmlsbEJ1dHRvblR5cGUgdmFsdWVBdXRvZmlsbEJ1dHRvblR5cGUoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICAKKyAgICAvLyBUbyBzdXBwb3J0IGFyaWEtb3ducworICAgIEFYQ29yZU9iamVjdCog
bG9naWNhbFBhcmVudE9iamVjdCgpIG92ZXJyaWRlOworICAgIHZvaWQgbG9naWNhbENoaWxkcmVu
KEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVzdWx0KSBvdmVycmlkZTsKKyAgICBib29s
IGhhc0xvZ2ljYWxBbmNlc3Rvcihjb25zdCBBWENvcmVPYmplY3QmIHRhcmdldENoaWxkKTsKIAog
ICAgIC8vIFVzZWQgYnkgYW4gQVJJQSB0cmVlIHRvIGdldCBhbGwgaXRzIHJvd3MuCiAgICAgdm9p
ZCBhcmlhVHJlZVJvd3MoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oCmluZGV4IGUxNTk2MjFjODU0OTZkYmJiN2IyNTc3ZWY2ZWZjNzk0
ZGU1ZDc0ZjQuLjRlMmZjNThiZGYyM2NlMDI5OWViYzBkMDQ3NGIyNmMwYWUwNGEwNWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oCkBAIC0xMTIwLDYgKzExMjAsMTAgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBmaW5kTWF0Y2hpbmdPYmplY3RzKEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJp
YSosIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29s
IGlzRGVzY2VuZGFudE9mUm9sZShBY2Nlc3NpYmlsaXR5Um9sZSkgY29uc3QgPSAwOworICAgIAor
ICAgIC8vIFRvIHN1cHBvcnQgYXJpYS1vd25zCisgICAgdmlydHVhbCBBWENvcmVPYmplY3QqIGxv
Z2ljYWxQYXJlbnRPYmplY3QoKSB7IHJldHVybiBwYXJlbnRPYmplY3QoKTsgfQorICAgIHZpcnR1
YWwgdm9pZCBsb2dpY2FsQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1
bHQpIHsgcmVzdWx0LmFwcGVuZFZlY3RvcihjaGlsZHJlbigpKTsgfQogCiAgICAgdmlydHVhbCBi
b29sIGhhc0RvY3VtZW50Um9sZUFuY2VzdG9yKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9v
bCBoYXNXZWJBcHBsaWNhdGlvbkFuY2VzdG9yKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM5MTAyNDA2
NWRmZTJmMjJjZjA1ODBkZTIyMTE1MTg5MWEzN2E5YjAuLjBiMmFkY2M0ZTU0ZmY1ZTJhZmJmMGIz
YmQxM2ZmZGVlYTAzOWJiOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMS0xOSAgU2Vw
YW5kIFBhcmhhbWkgIDxzcGFyaGFtaUBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEltcHJvdmUg
c3VwcG9ydCBmb3IgYXJpYS1vd25zIGluIGFyaWEgdHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzM4MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0t
cm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFj
L3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWw6CisKIDIwMjEtMTEtMTkgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ2FzY2FkZSBMYXllcnNdIFtE
ZWJ1Z10gQVNTRVJUSU9OIEZBSUxFRDogbV9jaGlsZFJ1bGVzLmlzRW1wdHkoKSB3aGVuIHVzaW5n
IEBpbXBvcnQgd2l0aCBsYXllciBuYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3RlZC50
eHQKaW5kZXggYjQ0NGM3NzAzMGZkODE4YzM0OTA0NDZjOWQ2MzI1MTM0MDA2ZTY1OS4uYmExNDQw
NWQ2MGQwZTg2NmRmN2M5YTI5YTRjOTY2YjQ2MTE0ZGQyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSwyNyBAQAotVGhpcyB0ZXN0cyB0aGF0IGEgdHJl
ZWl0ZW0gd2FzIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEtb3ducyB3aWxsIHJlcG9ydCBpdHMgZGlz
Y2xvc2VkIHJvd3MgY29ycmVjdGx5LgorVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2l0aCBh
IGdyb3VwIHRoYXQgdXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Nsb3NlZCByb3dz
IGNvcnJlY3RseS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgdHJlZWl0
ZW0yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCdncm91cDEtaXRlbTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlLmNoaWxkcmVuQ291bnQgaXMgNwor
UEFTUyB0cmVlaXRlbTEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ2l0ZW0tMScpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8xLmlzRXF1YWwo
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRl
bTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0yJykpIGlzIHRydWUKK1BB
U1MgdHJlZWl0ZW0xXzMuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMycpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8yXzEu
aXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dy
b3VwMi1pdGVtMScpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8yXzIuaXNFcXVhbChhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMi1pdGVtMicpKSBp
cyB0cnVlCitQQVNTIHRyZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0yJykpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQorSmFndWFyCiBKdW5nbGUgQW5pbWFscwot
TGlvbnMKK0JpcmRzCitSZXB0aWxlcworQ2F0cworTGlvbgorRG9tZXN0aWMgQW5pbWFscworQXJj
dGljIEFuaW1hbHMKK01hbW1hbHMKK0JlYXJzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sCmluZGV4IGEx
YjkxMTNjMjUwYzg5NjQ3NGIxMDhhZThkMjYzYTFiYWQwNjAzMWQuLmM3MmQ3ZWZjNTcxMDA3NTUz
MTg5OGZhMmIxZjQ5N2U1MzBlNjYyMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbApAQCAtOCwxOSAr
OCw1MCBAQAogPGJvZHkgaWQ9ImJvZHkiPgogCiA8ZGl2IGlkPSJ0cmVlIiByb2xlPSJ0cmVlIj4K
KyAgICA8ZGl2IGlkPSJncm91cDItaXRlbTIiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIz
IiBhcmlhLXNldHNpemU9IjIiIGFyaWEtcG9zaW5zZXQ9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+
SmFndWFyPC9kaXY+CiAgICAgPGRpdiBpZD0iaXRlbS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1s
ZXZlbD0iMSIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgdGFiaW5kZXg9IjAiPkp1bmdsZSBBbmltYWxz
Ci0gICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAxLWl0ZW0xIGdyb3Vw
MS1pdGVtMiBncm91cDEtaXRlbTMiPjwvZGl2PgorICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBh
cmlhLW93bnM9Imdyb3VwMS1pdGVtMiBncm91cDEtaXRlbTMgbm9uLWV4aXN0ZW50LWl0ZW0xIj4K
KyAgICAgICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTMiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxl
dmVsPSIyIiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9IjMiIGFyaWEtY3VycmVudD0i
cGFnZSI+QmlyZHM8L2Rpdj4KKyAgICAgICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTEiIHJvbGU9
InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9
IjEiIGFyaWEtY3VycmVudD0icGFnZSI+UmVwdGlsZXM8L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0yIiByb2xlPSJ0cmVlaXRlbSIgYXJp
YS1sZXZlbD0iMiIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1zZXRzaXplPSIxIiBhcmlhLXBv
c2luc2V0PSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkNhdHMKKyAgICAgICAgPGRpdiByb2xlPSJn
cm91cCIgYXJpYS1vd25zPSJncm91cDItaXRlbTEgZ3JvdXAyLWl0ZW0yIj48L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGlkPSJncm91cDItaXRlbTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxl
dmVsPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLXNldHNpemU9IjIiIGFyaWEtY3VycmVudD0i
cGFnZSI+TGlvbjwvZGl2PgorICAgIDxkaXYgaWQ9Iml0ZW0tMiIgcm9sZT0idHJlZWl0ZW0iIGFy
aWEtbGV2ZWw9IjEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iLTEiPkRvbWVzdGlj
IEFuaW1hbHM8L2Rpdj4KKyAgIAorICAgIDxkaXYgaWQ9ImNpcmN1bGFyLWlkLTEiIHJvbGU9InRy
ZWVpdGVtIiBhcmlhLWxldmVsPSIxIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIiB0YWJpbmRleD0iLTEi
PkFyY3RpYyBBbmltYWxzCisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3Jv
dXAzLWl0ZW0xIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJncm91cDMtaXRlbTEi
IHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIiBhcmlh
LXBvc2luc2V0PSIxIiBhcmlhLXNldHNpemU9IjEiIGFyaWEtY3VycmVudD0icGFnZSI+TWFtbWFs
cworICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9Imdyb3VwNC1pdGVtMSI+PC9k
aXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXA0LWl0ZW0xIiByb2xlPSJ0cmVlaXRl
bSIgYXJpYS1sZXZlbD0iMyIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1wb3NpbnNldD0iMSIg
YXJpYS1zZXRzaXplPSIxIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkJlYXJzCisgICAgICAgIDxkaXYg
cm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iY2lyY3VsYXItaWQtMSI+PC9kaXY+CiAgICAgPC9kaXY+
Ci0gICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0i
MiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLWN1cnJlbnQ9InBhZ2Ui
Pkxpb25zPC9kaXY+CiA8L2Rpdj4KIAogPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2FzIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEtb3ducyB3aWxs
IHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29ycmVjdGx5LiIpOworICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoYXQgYSB0cmVlaXRlbSB3aXRoIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEt
b3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29ycmVjdGx5LiIpOwogCiAgICAg
aWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAgICAgIHZhciB0cmVlaXRl
bSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiaXRlbS0x
Iik7Ci0gICAgICAgdmFyIHRyZWVpdGVtMiA9IHRyZWVpdGVtLmRpc2Nsb3NlZFJvd0F0SW5kZXgo
MCk7Ci0gICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScpKSIpOworICAg
ICAgIHZhciB0cmVlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCJ0cmVlIik7CisgICAgICAgdmFyIHRyZWVpdGVtMSA9IHRyZWUucm93QXRJbmRleCgwKTsK
KyAgICAgICB2YXIgdHJlZWl0ZW0xXzEgPSB0cmVlaXRlbTEuZGlzY2xvc2VkUm93QXRJbmRleCgw
KTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzIgPSB0cmVlaXRlbTEuZGlzY2xvc2VkUm93QXRJbmRl
eCgxKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzMgPSB0cmVlaXRlbTEuZGlzY2xvc2VkUm93QXRJ
bmRleCg0KTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzJfMSA9IHRyZWVpdGVtMV8yLmRpc2Nsb3Nl
ZFJvd0F0SW5kZXgoMCk7CisgICAgICAgdmFyIHRyZWVpdGVtMV8yXzIgPSB0cmVlaXRlbTFfMi5k
aXNjbG9zZWRSb3dBdEluZGV4KDEpOworICAgICAgIHZhciB0cmVlaXRlbTIgPSB0cmVlLnJvd0F0
SW5kZXgoNik7CisgICAgICAgc2hvdWxkQmUoInRyZWUuY2hpbGRyZW5Db3VudCIsICI3Iik7Cisg
ICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2l0ZW0tMScpKSIpOworICAgICAgIHNob3VsZEJl
VHJ1ZSgidHJlZWl0ZW0xXzEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgi
dHJlZWl0ZW0xXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ2dyb3VwMS1pdGVtMicpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0
ZW0xXzMuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoJ2dyb3VwMS1pdGVtMycpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzJf
MS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
Z3JvdXAyLWl0ZW0xJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTFfMl8yLmlz
RXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91
cDItaXRlbTInKSkiKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMi5pc0VxdWFsKGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0yJykpIik7
CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445919</attachid>
            <date>2021-12-03 16:57:06 -0800</date>
            <delta_ts>2021-12-03 17:02:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211203165705.patch</filename>
            <type>text/plain</type>
            <size>12976</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFlZWI4NDQ4ZGRiOWJl
OTU5YmE2YjFmYmRkM2VhZjkyOWRlMjU3Ni4uNmUzNDAxNDAxMWFhZDU0Njk0MzNhMzBlOGVhODBk
ZTFkM2IwOTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTE5ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IExheW91dFRlc3RzXGFjY2Vzc2liaWxp
dHlcbWFjXHRyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MpOgorCiAyMDIxLTExLTE5ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIGNvbnZl
cnRlcnMgZnJvbSBzZXJpYWxpemFibGUgZGVzY3JpcHRvcnMgdG8gaW50ZXJmYWNlIGRlc2NyaXB0
b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAppbmRleCA5Mzg0OGUxY2FiNzZkNzk4NzYzOGRiOGYzZGFhNjM4Zjk5OTBmZTA5
Li43NzI0MTI0ZGIyNGE5MWQ4NDY2NDRhMDRiNjQ0NjQ0MzkzNDRlODNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTE4MjQsMTUgKzE4MjQsMTAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9i
amVjdDo6aGVhZGluZ0VsZW1lbnRGb3JOb2RlKE5vZGUqIG5vZGUpCiAKIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQogewotICAgIC8vIElmIHRoZSBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHJlZSByb3dzIHRo
cm91Z2ggYXJpYS1vd25zLCByZXR1cm4gdGhhdCBmaXJzdC4KLSAgICBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3IgYXJpYU93bnM7Ci0gICAgYXJpYU93bnNFbGVtZW50cyhhcmlhT3ducyk7Ci0g
ICAgaWYgKGFyaWFPd25zLnNpemUoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGFy
aWFPd25zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRy
ZW5WZWN0b3IgdGFyZ2V0Q2hpbGRyZW47CisgICAgbG9naWNhbENoaWxkcmVuKHRhcmdldENoaWxk
cmVuKTsKICAgICAKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW4oKSkgewor
ICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiB0YXJnZXRDaGlsZHJlbikgewogICAgICAgICAv
LyBBZGQgdHJlZSBpdGVtcyBhcyB0aGUgcm93cy4KICAgICAgICAgaWYgKGNoaWxkLT5yb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW0pCiAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKGNoaWxkKTsKQEAgLTE4NTEsNiArMTg0Niw3MyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmFyaWFUcmVlSXRlbUNvbnRlbnQoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBy
ZXN1bAogICAgIH0KIH0KIAorQVhDb3JlT2JqZWN0KiBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpsb2dp
Y2FsUGFyZW50T2JqZWN0KCkKK3sKKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJp
YU93bmVkQnk7CisgICAgYXJpYU93bnNSZWZlcmVuY2luZ0VsZW1lbnRzKGFyaWFPd25lZEJ5KTsK
KyAgICBpZiAoYXJpYU93bmVkQnkuc2l6ZSgpID09IDEpCisgICAgICAgIHJldHVybiBhcmlhT3du
ZWRCeVswXS5nZXQoKTsKKworICAgIHJldHVybiB0aGlzLT5wYXJlbnRPYmplY3QoKTsKK30KKwor
Ym9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNMb2dpY2FsQW5jZXN0b3IoY29uc3QgQVhDb3Jl
T2JqZWN0JiB0YXJnZXRDaGlsZCkKK3sKKyAgICAvLyBTdGFydCB3aXRoIHRoZSBjdXJyZW50IG5v
ZGUsIHRvIGNoZWNrIGZvciBhIGRpcmVjdCBjeWNsZS4KKyAgICBmb3IgKEFYQ29yZU9iamVjdCog
Y3VycmVudCA9IHRoaXM7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5wYXJlbnRPYmplY3Qo
KSkgeworICAgICAgICAvLyBJZiBvbmUgb2Ygb3VyIGxvZ2ljYWwgYW5jZXN0b3JzIGlzIHRoZSB0
YXJnZXQgY2hpbGQsIHdlIGhhdmUgYSBsb29wIHZpYQorICAgICAgICAvLyBhcmlhLW93bnMuCisg
ICAgICAgIGlmIChjdXJyZW50ID09ICZ0YXJnZXRDaGlsZCkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6bG9naWNhbENoaWxkcmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYg
cmVzdWx0KQoreworICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBhcmlhT3duZWRCeTsK
KyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJpYU93bnM7CisgICAgYXJpYU93bnNF
bGVtZW50cyhhcmlhT3ducyk7CisKKyAgICAvLyBUaGUgb3JkZXJpbmcgb2YgY2hpbGRyZW4gaXMg
Zmlyc3QgRE9NIGNoaWxkcmVuICpub3QqIGluIGFyaWEtb3ducywgZm9sbG93ZWQgYnkgYWxsIHNw
ZWNpZmllZAorICAgIC8vIGluIGFyaWEtb3ducy4KKyAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxk
IDogY2hpbGRyZW4oKSkgeworICAgICAgICBpZiAoaXM8QWNjZXNzaWJpbGl0eU9iamVjdD4oKmNo
aWxkKSkgeworICAgICAgICAgICAgYXJpYU93bmVkQnkuY2xlYXIoKTsKKyAgICAgICAgICAgIGRv
d25jYXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KCpjaGlsZCkuYXJpYU93bnNSZWZlcmVuY2luZ0Vs
ZW1lbnRzKGFyaWFPd25lZEJ5KTsKKworICAgICAgICAgICAgLy8gSWYgYW4gZWxlbWVudCBpcyBv
d25lZCwgc2tpcCBpdCBzaW5jZSBpdCB3aWxsIGJlIGNsYWltZWQgYnkgdGhlIG93bmVyICh3aGlj
aCBjb3VsZCBiZQorICAgICAgICAgICAgLy8gdGhpcyBvYmplY3QpIGxhdGVyIGluIHRoZSByaWdo
dCBwbGFjZS4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIG93bmVycywgdGhlIGJlaGF2aW9yIGlzCisg
ICAgICAgICAgICAvLyBub3Qgc3BlY2lmaWVkLCBidXQgYmVsb3cgd2UgaWdub3JlIHRoZSBhcmlh
LW93bnMgZm9yIHRob3NlIGVsZW1lbnRzLiBJZiB0aGVyZSBhcmUKKyAgICAgICAgICAgIC8vIG11
bHRpcGxlIG93bmVycywgd2UganVzdCBpbmNsdWRlIGl0IGhlcmUgc28gdGhlIGNvbnRlbnQgaXMg
YXZhaWxhYmxlIHRvIHRoZSB1c2VyIGluCisgICAgICAgICAgICAvLyBzb21lIGZvcm0uCisgICAg
ICAgICAgICBpZiAoYXJpYU93bmVkQnkuc2l6ZSgpID09IDEpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgIH0KKworICAgICAgICByZXN1bHQuYXBwZW5kKGNoaWxkKTsKKyAgICB9
CisgICAgCisgICAgLy8gTm93IGdvIHRocm91Z2ggdGhlIGFyaWEtb3ducyBlbGVtZW50cy4KKyAg
ICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogYXJpYU93bnMpIHsKKyAgICAgICAgaWYgKGlzPEFj
Y2Vzc2liaWxpdHlPYmplY3Q+KCpjaGlsZCkpIHsKKyAgICAgICAgICAgIGFyaWFPd25lZEJ5LmNs
ZWFyKCk7CisgICAgICAgICAgICBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0PigqY2hpbGQp
LmFyaWFPd25zUmVmZXJlbmNpbmdFbGVtZW50cyhhcmlhT3duZWRCeSk7CisKKyAgICAgICAgICAg
IC8vIEF2b2lkIGFueXRoaW5nIG93bmVkIGJ5IG11bHRpcGxlIHBhcmVudHMgc2luY2UgaXQgaXMg
bm90IHZhbGlkLgorICAgICAgICAgICAgaWYgKGFyaWFPd25lZEJ5LnNpemUoKSA+IDEpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICAvLyBBdm9pZCBhIGNp
cmN1bGFyIHJlZmVyZW5jZSB2aWEgYXJpYS1vd25zLgorICAgICAgICBpZiAoaGFzTG9naWNhbEFu
Y2VzdG9yKCpjaGlsZCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICByZXN1bHQu
YXBwZW5kKGNoaWxkKTsKKyAgICB9Cit9CisKIEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNo
aWxkcmVuVmVjdG9yIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRpc2Nsb3NlZFJvd3MoKQogewogICAg
IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDIxZmY0YTI4YTVh
NjRhODE0MTcxMjMzYTgxNjRlYzNhZTU2YzIwOWYuLmQwZjVhMDQ3ZGNkYzUzNjI0ODNlMWVkODhj
NTNlM2M5NGRiZDlmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC02MTgsNiArNjE4LDExIEBAIHB1YmxpYzoKICAgICBi
b29sIGlzVmFsdWVBdXRvZmlsbGVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1ZhbHVl
QXV0b2ZpbGxBdmFpbGFibGUoKSBjb25zdCBvdmVycmlkZTsKICAgICBBdXRvRmlsbEJ1dHRvblR5
cGUgdmFsdWVBdXRvZmlsbEJ1dHRvblR5cGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICAKKyAgICAv
LyBUbyBzdXBwb3J0IGFyaWEtb3ducworICAgIEFYQ29yZU9iamVjdCogbG9naWNhbFBhcmVudE9i
amVjdCgpIG92ZXJyaWRlOworICAgIHZvaWQgbG9naWNhbENoaWxkcmVuKEFjY2Vzc2liaWxpdHlD
aGlsZHJlblZlY3RvciYgcmVzdWx0KSBvdmVycmlkZTsKKyAgICBib29sIGhhc0xvZ2ljYWxBbmNl
c3Rvcihjb25zdCBBWENvcmVPYmplY3QmIHRhcmdldENoaWxkKTsKIAogICAgIC8vIFVzZWQgYnkg
YW4gQVJJQSB0cmVlIHRvIGdldCBhbGwgaXRzIHJvd3MuCiAgICAgdm9pZCBhcmlhVHJlZVJvd3Mo
QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFj
ZS5oCmluZGV4IGUxNTk2MjFjODU0OTZkYmJiN2IyNTc3ZWY2ZWZjNzk0ZGU1ZDc0ZjQuLjRlMmZj
NThiZGYyM2NlMDI5OWViYzBkMDQ3NGIyNmMwYWUwNGEwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFj
ZS5oCkBAIC0xMTIwLDYgKzExMjAsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmaW5k
TWF0Y2hpbmdPYmplY3RzKEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSosIEFjY2Vzc2liaWxp
dHlDaGlsZHJlblZlY3RvciYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXNjZW5kYW50T2ZC
YXJyZW5QYXJlbnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzRGVzY2VuZGFudE9m
Um9sZShBY2Nlc3NpYmlsaXR5Um9sZSkgY29uc3QgPSAwOworICAgIAorICAgIC8vIFRvIHN1cHBv
cnQgYXJpYS1vd25zCisgICAgdmlydHVhbCBBWENvcmVPYmplY3QqIGxvZ2ljYWxQYXJlbnRPYmpl
Y3QoKSB7IHJldHVybiBwYXJlbnRPYmplY3QoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBsb2dpY2Fs
Q2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHQpIHsgcmVzdWx0LmFw
cGVuZFZlY3RvcihjaGlsZHJlbigpKTsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc0RvY3VtZW50
Um9sZUFuY2VzdG9yKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBoYXNXZWJBcHBsaWNh
dGlvbkFuY2VzdG9yKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM5MTAyNDA2NWRmZTJmMjJjZjA1ODBk
ZTIyMTE1MTg5MWEzN2E5YjAuLjBiMmFkY2M0ZTU0ZmY1ZTJhZmJmMGIzYmQxM2ZmZGVlYTAzOWJi
OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMS0xOSAgU2VwYW5kIFBhcmhhbWkgIDxz
cGFyaGFtaUBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEltcHJvdmUgc3VwcG9ydCBmb3IgYXJp
YS1vd25zIGluIGFyaWEgdHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMzM4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1k
ZWxlZ2F0aW9uLmh0bWw6CisKIDIwMjEtMTEtMTkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFtDU1MgQ2FzY2FkZSBMYXllcnNdIFtEZWJ1Z10gQVNTRVJUSU9O
IEZBSUxFRDogbV9jaGlsZFJ1bGVzLmlzRW1wdHkoKSB3aGVuIHVzaW5nIEBpbXBvcnQgd2l0aCBs
YXllciBuYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVl
aXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYjQ0NGM3
NzAzMGZkODE4YzM0OTA0NDZjOWQ2MzI1MTM0MDA2ZTY1OS4uYmExNDQwNWQ2MGQwZTg2NmRmN2M5
YTI5YTRjOTY2YjQ2MTE0ZGQyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMSwxMSArMSwyNyBAQAotVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2FzIGEgZ3Jv
dXAgdGhhdCB1c2VzIGFyaWEtb3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29y
cmVjdGx5LgorVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2l0aCBhIGdyb3VwIHRoYXQgdXNl
cyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Nsb3NlZCByb3dzIGNvcnJlY3RseS4KIAog
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgdHJlZWl0ZW0yLmlzRXF1YWwoYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRlbTEn
KSkgaXMgdHJ1ZQorUEFTUyB0cmVlLmNoaWxkcmVuQ291bnQgaXMgNworUEFTUyB0cmVlaXRlbTEu
aXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2l0
ZW0tMScpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8xLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRlbTEnKSkgaXMgdHJ1ZQor
UEFTUyB0cmVlaXRlbTFfMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0yJykpIGlzIHRydWUKK1BBU1MgdHJlZWl0ZW0xXzMu
aXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dy
b3VwMS1pdGVtMycpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8yXzEuaXNFcXVhbChhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMi1pdGVtMScpKSBp
cyB0cnVlCitQQVNTIHRyZWVpdGVtMV8yXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMi1pdGVtMicpKSBpcyB0cnVlCitQQVNTIHRy
ZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgnaXRlbS0yJykpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQorSmFndWFyCiBKdW5nbGUgQW5pbWFscwotTGlvbnMKK0JpcmRzCitS
ZXB0aWxlcworQ2F0cworTGlvbgorRG9tZXN0aWMgQW5pbWFscworQXJjdGljIEFuaW1hbHMKK01h
bW1hbHMKK0JlYXJzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sCmluZGV4IGExYjkxMTNjMjUwYzg5NjQ3
NGIxMDhhZThkMjYzYTFiYWQwNjAzMWQuLjI5NmQwNGUwMWM1NDc3ODY4N2FjYjBhN2Q2MGZkOTI5
YjcwNWE5NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVp
dGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbApAQCAtOCwxOSArOCw1MCBAQAogPGJvZHkg
aWQ9ImJvZHkiPgogCiA8ZGl2IGlkPSJ0cmVlIiByb2xlPSJ0cmVlIj4KKyAgICA8ZGl2IGlkPSJn
cm91cDItaXRlbTIiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIzIiBhcmlhLXNldHNpemU9
IjIiIGFyaWEtcG9zaW5zZXQ9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+SmFndWFyPC9kaXY+CiAg
ICAgPGRpdiBpZD0iaXRlbS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMSIgYXJpYS1l
eHBhbmRlZD0idHJ1ZSIgdGFiaW5kZXg9IjAiPkp1bmdsZSBBbmltYWxzCi0gICAgICAgIDxkaXYg
cm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAxLWl0ZW0xIGdyb3VwMS1pdGVtMiBncm91cDEt
aXRlbTMiPjwvZGl2PgorICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9Imdyb3Vw
MS1pdGVtMiBncm91cDEtaXRlbTMgbm9uLWV4aXN0ZW50LWl0ZW0xIj4KKyAgICAgICAgICA8ZGl2
IGlkPSJncm91cDEtaXRlbTMiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLXNl
dHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9IjMiIGFyaWEtY3VycmVudD0icGFnZSI+QmlyZHM8L2Rp
dj4KKyAgICAgICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTEiIHJvbGU9InRyZWVpdGVtIiBhcmlh
LWxldmVsPSIyIiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9IjEiIGFyaWEtY3VycmVu
dD0icGFnZSI+UmVwdGlsZXM8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0iZ3JvdXAxLWl0ZW0yIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMiIgYXJp
YS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1zZXRzaXplPSIxIiBhcmlhLXBvc2luc2V0PSIyIiBhcmlh
LWN1cnJlbnQ9InBhZ2UiPkNhdHMKKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIgYXJpYS1vd25z
PSJncm91cDItaXRlbTEgZ3JvdXAyLWl0ZW0yIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2
IGlkPSJncm91cDItaXRlbTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIzIiBhcmlhLXBv
c2luc2V0PSIxIiBhcmlhLXNldHNpemU9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+TGlvbjwvZGl2
PgorICAgIDxkaXYgaWQ9Iml0ZW0tMiIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjEiIGFy
aWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iLTEiPkRvbWVzdGljIEFuaW1hbHM8L2Rpdj4K
KyAgIAorICAgIDxkaXYgaWQ9ImNpcmN1bGFyLWlkLTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxl
dmVsPSIxIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIiB0YWJpbmRleD0iLTEiPkFyY3RpYyBBbmltYWxz
CisgICAgICAgIDxkaXYgaWQ9ImNpcmN1bGFyLWlkLTIiIHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9
Imdyb3VwMy1pdGVtMSBjaXJjdWxhci1pZC0yIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2
IGlkPSJncm91cDMtaXRlbTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLWV4
cGFuZGVkPSJ0cnVlIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLXNldHNpemU9IjEiIGFyaWEtY3Vy
cmVudD0icGFnZSI+TWFtbWFscworICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9
Imdyb3VwNC1pdGVtMSI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXA0LWl0
ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMyIgYXJpYS1leHBhbmRlZD0idHJ1ZSIg
YXJpYS1wb3NpbnNldD0iMSIgYXJpYS1zZXRzaXplPSIxIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkJl
YXJzCisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iY2lyY3VsYXItaWQtMSI+
PC9kaXY+CiAgICAgPC9kaXY+Ci0gICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVl
aXRlbSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBh
cmlhLWN1cnJlbnQ9InBhZ2UiPkxpb25zPC9kaXY+CiA8L2Rpdj4KIAogPHNjcmlwdD4KLSAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2FzIGEgZ3JvdXAgdGhhdCB1
c2VzIGFyaWEtb3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29ycmVjdGx5LiIp
OworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYSB0cmVlaXRlbSB3aXRoIGEgZ3Jv
dXAgdGhhdCB1c2VzIGFyaWEtb3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29y
cmVjdGx5LiIpOwogCiAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewot
ICAgICAgIHZhciB0cmVlaXRlbSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgiaXRlbS0xIik7Ci0gICAgICAgdmFyIHRyZWVpdGVtMiA9IHRyZWVpdGVtLmRp
c2Nsb3NlZFJvd0F0SW5kZXgoMCk7Ci0gICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTIuaXNF
cXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3Vw
MS1pdGVtMScpKSIpOworICAgICAgIHZhciB0cmVlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0cmVlIik7CisgICAgICAgdmFyIHRyZWVpdGVtMSA9IHRy
ZWUucm93QXRJbmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzEgPSB0cmVlaXRlbTEuZGlz
Y2xvc2VkUm93QXRJbmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzIgPSB0cmVlaXRlbTEu
ZGlzY2xvc2VkUm93QXRJbmRleCgxKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzMgPSB0cmVlaXRl
bTEuZGlzY2xvc2VkUm93QXRJbmRleCg0KTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzJfMSA9IHRy
ZWVpdGVtMV8yLmRpc2Nsb3NlZFJvd0F0SW5kZXgoMCk7CisgICAgICAgdmFyIHRyZWVpdGVtMV8y
XzIgPSB0cmVlaXRlbTFfMi5kaXNjbG9zZWRSb3dBdEluZGV4KDEpOworICAgICAgIHZhciB0cmVl
aXRlbTIgPSB0cmVlLnJvd0F0SW5kZXgoNik7CisgICAgICAgc2hvdWxkQmUoInRyZWUuY2hpbGRy
ZW5Db3VudCIsICI3Iik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTEuaXNFcXVhbChh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2l0ZW0tMScpKSIp
OworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScpKSIpOworICAg
ICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMicpKSIpOworICAgICAgIHNo
b3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzMuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMycpKSIpOworICAgICAgIHNob3VsZEJl
VHJ1ZSgidHJlZWl0ZW0xXzJfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vz
c2libGVFbGVtZW50QnlJZCgnZ3JvdXAyLWl0ZW0xJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVl
KCJ0cmVlaXRlbTFfMl8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTInKSkiKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRy
ZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgnaXRlbS0yJykpIik7CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445924</attachid>
            <date>2021-12-03 17:02:40 -0800</date>
            <delta_ts>2021-12-08 15:46:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211203170239.patch</filename>
            <type>text/plain</type>
            <size>12983</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFlZWI4NDQ4ZGRiOWJl
OTU5YmE2YjFmYmRkM2VhZjkyOWRlMjU3Ni4uNmUzNDAxNDAxMWFhZDU0Njk0MzNhMzBlOGVhODBk
ZTFkM2IwOTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTE5ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IExheW91dFRlc3RzXGFjY2Vzc2liaWxp
dHlcbWFjXHRyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MpOgorCiAyMDIxLTExLTE5ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIGNvbnZl
cnRlcnMgZnJvbSBzZXJpYWxpemFibGUgZGVzY3JpcHRvcnMgdG8gaW50ZXJmYWNlIGRlc2NyaXB0
b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAppbmRleCA5Mzg0OGUxY2FiNzZkNzk4NzYzOGRiOGYzZGFhNjM4Zjk5OTBmZTA5
Li42OWQwYzg5NDExZWRmMTI5M2VjY2M2MjFlZDYyMjg1ZDFlZWRiMWMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTE4MjQsMTUgKzE4MjQsMTAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9i
amVjdDo6aGVhZGluZ0VsZW1lbnRGb3JOb2RlKE5vZGUqIG5vZGUpCiAKIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQogewotICAgIC8vIElmIHRoZSBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHJlZSByb3dzIHRo
cm91Z2ggYXJpYS1vd25zLCByZXR1cm4gdGhhdCBmaXJzdC4KLSAgICBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3IgYXJpYU93bnM7Ci0gICAgYXJpYU93bnNFbGVtZW50cyhhcmlhT3ducyk7Ci0g
ICAgaWYgKGFyaWFPd25zLnNpemUoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGFy
aWFPd25zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRy
ZW5WZWN0b3IgdGFyZ2V0Q2hpbGRyZW47CisgICAgbG9naWNhbENoaWxkcmVuKHRhcmdldENoaWxk
cmVuKTsKICAgICAKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW4oKSkgewor
ICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiB0YXJnZXRDaGlsZHJlbikgewogICAgICAgICAv
LyBBZGQgdHJlZSBpdGVtcyBhcyB0aGUgcm93cy4KICAgICAgICAgaWYgKGNoaWxkLT5yb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW0pCiAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKGNoaWxkKTsKQEAgLTE4NTEsNiArMTg0Niw3MyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmFyaWFUcmVlSXRlbUNvbnRlbnQoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBy
ZXN1bAogICAgIH0KIH0KIAorQVhDb3JlT2JqZWN0KiBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpsb2dp
Y2FsUGFyZW50T2JqZWN0KCkKK3sKKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJp
YU93bmVkQnk7CisgICAgYXJpYU93bnNSZWZlcmVuY2luZ0VsZW1lbnRzKGFyaWFPd25lZEJ5KTsK
KyAgICBpZiAoYXJpYU93bmVkQnkuc2l6ZSgpID09IDEpCisgICAgICAgIHJldHVybiBhcmlhT3du
ZWRCeVswXS5nZXQoKTsKKworICAgIHJldHVybiB0aGlzLT5wYXJlbnRPYmplY3QoKTsKK30KKwor
Ym9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNMb2dpY2FsQW5jZXN0b3IoY29uc3QgQVhDb3Jl
T2JqZWN0JiB0YXJnZXRDaGlsZCkKK3sKKyAgICAvLyBTdGFydCB3aXRoIHRoZSBjdXJyZW50IG5v
ZGUsIHRvIGNoZWNrIGZvciBhIGRpcmVjdCBjeWNsZS4KKyAgICBmb3IgKEFYQ29yZU9iamVjdCog
Y3VycmVudCA9IHRoaXM7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5sb2dpY2FsUGFyZW50
T2JqZWN0KCkpIHsKKyAgICAgICAgLy8gSWYgb25lIG9mIG91ciBsb2dpY2FsIGFuY2VzdG9ycyBp
cyB0aGUgdGFyZ2V0IGNoaWxkLCB3ZSBoYXZlIGEgbG9vcCB2aWEKKyAgICAgICAgLy8gYXJpYS1v
d25zLgorICAgICAgICBpZiAoY3VycmVudCA9PSAmdGFyZ2V0Q2hpbGQpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmxvZ2ljYWxDaGlsZHJlbihBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5W
ZWN0b3ImIHJlc3VsdCkKK3sKKyAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJpYU93
bmVkQnk7CisgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFPd25zOworICAgIGFy
aWFPd25zRWxlbWVudHMoYXJpYU93bnMpOworCisgICAgLy8gVGhlIG9yZGVyaW5nIG9mIGNoaWxk
cmVuIGlzIGZpcnN0IERPTSBjaGlsZHJlbiAqbm90KiBpbiBhcmlhLW93bnMsIGZvbGxvd2VkIGJ5
IGFsbCBzcGVjaWZpZWQKKyAgICAvLyBpbiBhcmlhLW93bnMuCisgICAgZm9yIChjb25zdCBhdXRv
JiBjaGlsZCA6IGNoaWxkcmVuKCkpIHsKKyAgICAgICAgaWYgKGlzPEFjY2Vzc2liaWxpdHlPYmpl
Y3Q+KCpjaGlsZCkpIHsKKyAgICAgICAgICAgIGFyaWFPd25lZEJ5LmNsZWFyKCk7CisgICAgICAg
ICAgICBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0PigqY2hpbGQpLmFyaWFPd25zUmVmZXJl
bmNpbmdFbGVtZW50cyhhcmlhT3duZWRCeSk7CisKKyAgICAgICAgICAgIC8vIElmIGFuIGVsZW1l
bnQgaXMgb3duZWQsIHNraXAgaXQgc2luY2UgaXQgd2lsbCBiZSBjbGFpbWVkIGJ5IHRoZSBvd25l
ciAod2hpY2ggY291bGQgYmUKKyAgICAgICAgICAgIC8vIHRoaXMgb2JqZWN0KSBsYXRlciBpbiB0
aGUgcmlnaHQgcGxhY2UuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBvd25lcnMsIHRoZSBiZWhhdmlv
ciBpcworICAgICAgICAgICAgLy8gbm90IHNwZWNpZmllZCwgYnV0IGJlbG93IHdlIGlnbm9yZSB0
aGUgYXJpYS1vd25zIGZvciB0aG9zZSBlbGVtZW50cy4gSWYgdGhlcmUgYXJlCisgICAgICAgICAg
ICAvLyBtdWx0aXBsZSBvd25lcnMsIHdlIGp1c3QgaW5jbHVkZSBpdCBoZXJlIHNvIHRoZSBjb250
ZW50IGlzIGF2YWlsYWJsZSB0byB0aGUgdXNlciBpbgorICAgICAgICAgICAgLy8gc29tZSBmb3Jt
LgorICAgICAgICAgICAgaWYgKGFyaWFPd25lZEJ5LnNpemUoKSA9PSAxKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgcmVzdWx0LmFwcGVuZChjaGlsZCk7
CisgICAgfQorICAgIAorICAgIC8vIE5vdyBnbyB0aHJvdWdoIHRoZSBhcmlhLW93bnMgZWxlbWVu
dHMuCisgICAgZm9yIChjb25zdCBhdXRvJiBjaGlsZCA6IGFyaWFPd25zKSB7CisgICAgICAgIGlm
IChpczxBY2Nlc3NpYmlsaXR5T2JqZWN0PigqY2hpbGQpKSB7CisgICAgICAgICAgICBhcmlhT3du
ZWRCeS5jbGVhcigpOworICAgICAgICAgICAgZG93bmNhc3Q8QWNjZXNzaWJpbGl0eU9iamVjdD4o
KmNoaWxkKS5hcmlhT3duc1JlZmVyZW5jaW5nRWxlbWVudHMoYXJpYU93bmVkQnkpOworCisgICAg
ICAgICAgICAvLyBBdm9pZCBhbnl0aGluZyBvd25lZCBieSBtdWx0aXBsZSBwYXJlbnRzIHNpbmNl
IGl0IGlzIG5vdCB2YWxpZC4KKyAgICAgICAgICAgIGlmIChhcmlhT3duZWRCeS5zaXplKCkgPiAx
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgLy8gQXZv
aWQgYSBjaXJjdWxhciByZWZlcmVuY2UgdmlhIGFyaWEtb3ducy4KKyAgICAgICAgaWYgKGhhc0xv
Z2ljYWxBbmNlc3RvcigqY2hpbGQpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
cmVzdWx0LmFwcGVuZChjaGlsZCk7CisgICAgfQorfQorCiBBWENvcmVPYmplY3Q6OkFjY2Vzc2li
aWxpdHlDaGlsZHJlblZlY3RvciBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkaXNjbG9zZWRSb3dzKCkK
IHsKICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgcmVzdWx0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCAyMWZm
NGEyOGE1YTY0YTgxNDE3MTIzM2E4MTY0ZWMzYWU1NmMyMDlmLi5kMGY1YTA0N2RjZGM1MzYyNDgz
ZTFlZDg4YzUzZTNjOTRkYmQ5ZmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNjE4LDYgKzYxOCwxMSBAQCBwdWJsaWM6
CiAgICAgYm9vbCBpc1ZhbHVlQXV0b2ZpbGxlZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wg
aXNWYWx1ZUF1dG9maWxsQXZhaWxhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQXV0b0ZpbGxC
dXR0b25UeXBlIHZhbHVlQXV0b2ZpbGxCdXR0b25UeXBlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
CisgICAgLy8gVG8gc3VwcG9ydCBhcmlhLW93bnMKKyAgICBBWENvcmVPYmplY3QqIGxvZ2ljYWxQ
YXJlbnRPYmplY3QoKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvZ2ljYWxDaGlsZHJlbihBY2Nlc3Np
YmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHJlc3VsdCkgb3ZlcnJpZGU7CisgICAgYm9vbCBoYXNMb2dp
Y2FsQW5jZXN0b3IoY29uc3QgQVhDb3JlT2JqZWN0JiB0YXJnZXRDaGlsZCk7CiAKICAgICAvLyBV
c2VkIGJ5IGFuIEFSSUEgdHJlZSB0byBnZXQgYWxsIGl0cyByb3dzLgogICAgIHZvaWQgYXJpYVRy
ZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaAppbmRleCBlMTU5NjIxYzg1NDk2ZGJiYjdiMjU3N2VmNmVmYzc5NGRlNWQ3NGY0
Li40ZTJmYzU4YmRmMjNjZTAyOTllYmMwZDA0NzRiMjZjMGFlMDRhMDVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJ
bnRlcmZhY2UuaApAQCAtMTEyMCw2ICsxMTIwLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgZmluZE1hdGNoaW5nT2JqZWN0cyhBY2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWEqLCBBY2Nl
c3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzRGVzY2Vu
ZGFudE9mQmFycmVuUGFyZW50KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0Rlc2Nl
bmRhbnRPZlJvbGUoQWNjZXNzaWJpbGl0eVJvbGUpIGNvbnN0ID0gMDsKKyAgICAKKyAgICAvLyBU
byBzdXBwb3J0IGFyaWEtb3ducworICAgIHZpcnR1YWwgQVhDb3JlT2JqZWN0KiBsb2dpY2FsUGFy
ZW50T2JqZWN0KCkgeyByZXR1cm4gcGFyZW50T2JqZWN0KCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
bG9naWNhbENoaWxkcmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVzdWx0KSB7IHJl
c3VsdC5hcHBlbmRWZWN0b3IoY2hpbGRyZW4oKSk7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBoYXNE
b2N1bWVudFJvbGVBbmNlc3RvcigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzV2Vi
QXBwbGljYXRpb25BbmNlc3RvcigpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOTEwMjQwNjVkZmUyZjIy
Y2YwNTgwZGUyMjExNTE4OTFhMzdhOWIwLi4wYjJhZGNjNGU1NGZmNWUyYWZiZjBiM2JkMTNmZmRl
ZWEwMzliYjllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTEtMTkgIFNlcGFuZCBQYXJo
YW1pICA8c3BhcmhhbWlAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBJbXByb3ZlIHN1cHBvcnQg
Zm9yIGFyaWEtb3ducyBpbiBhcmlhIHRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxl
Z2F0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRl
bS1yb3ctZGVsZWdhdGlvbi5odG1sOgorCiAyMDIxLTExLTE5ICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENhc2NhZGUgTGF5ZXJzXSBbRGVidWddIEFT
U0VSVElPTiBGQUlMRUQ6IG1fY2hpbGRSdWxlcy5pc0VtcHR5KCkgd2hlbiB1c2luZyBAaW1wb3J0
IHdpdGggbGF5ZXIgbmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4
IGI0NDRjNzcwMzBmZDgxOGMzNDkwNDQ2YzlkNjMyNTEzNDAwNmU2NTkuLmJhMTQ0MDVkNjBkMGU4
NjZkZjdjOWEyOWE0Yzk2NmI0NjExNGRkMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTEsMTEgKzEsMjcgQEAKLVRoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdh
cyBhIGdyb3VwIHRoYXQgdXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Nsb3NlZCBy
b3dzIGNvcnJlY3RseS4KK1RoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91cCB0
aGF0IHVzZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0
bHkuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHRyZWVpdGVtMi5pc0Vx
dWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAx
LWl0ZW0xJykpIGlzIHRydWUKK1BBU1MgdHJlZS5jaGlsZHJlbkNvdW50IGlzIDcKK1BBU1MgdHJl
ZWl0ZW0xLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCdpdGVtLTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMS5pc0VxdWFsKGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIGlz
IHRydWUKK1BBU1MgdHJlZWl0ZW0xXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMicpKSBpcyB0cnVlCitQQVNTIHRyZWVp
dGVtMV8zLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCdncm91cDEtaXRlbTMnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMl8xLmlzRXF1YWwo
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRl
bTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMl8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTInKSkgaXMgdHJ1ZQor
UEFTUyB0cmVlaXRlbTIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ2l0ZW0tMicpKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKK0phZ3VhcgogSnVuZ2xlIEFuaW1hbHMKLUxpb25zCitC
aXJkcworUmVwdGlsZXMKK0NhdHMKK0xpb24KK0RvbWVzdGljIEFuaW1hbHMKK0FyY3RpYyBBbmlt
YWxzCitNYW1tYWxzCitCZWFycworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbAppbmRleCBhMWI5MTEzYzI1
MGM4OTY0NzRiMTA4YWU4ZDI2M2ExYmFkMDYwMzFkLi4yOTZkMDRlMDFjNTQ3Nzg2ODdhY2IwYTdk
NjBmZDkyOWI3MDVhOTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21h
Yy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKQEAgLTgsMTkgKzgsNTAgQEAK
IDxib2R5IGlkPSJib2R5Ij4KIAogPGRpdiBpZD0idHJlZSIgcm9sZT0idHJlZSI+CisgICAgPGRp
diBpZD0iZ3JvdXAyLWl0ZW0yIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMyIgYXJpYS1z
ZXRzaXplPSIyIiBhcmlhLXBvc2luc2V0PSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkphZ3Vhcjwv
ZGl2PgogICAgIDxkaXYgaWQ9Iml0ZW0tMSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjEi
IGFyaWEtZXhwYW5kZWQ9InRydWUiIHRhYmluZGV4PSIwIj5KdW5nbGUgQW5pbWFscwotICAgICAg
ICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9Imdyb3VwMS1pdGVtMSBncm91cDEtaXRlbTIg
Z3JvdXAxLWl0ZW0zIj48L2Rpdj4KKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIgYXJpYS1vd25z
PSJncm91cDEtaXRlbTIgZ3JvdXAxLWl0ZW0zIG5vbi1leGlzdGVudC1pdGVtMSI+CisgICAgICAg
ICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0zIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMiIg
YXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIzIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkJp
cmRzPC9kaXY+CisgICAgICAgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVlaXRl
bSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlh
LWN1cnJlbnQ9InBhZ2UiPlJlcHRpbGVzPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2
PgorICAgIDxkaXYgaWQ9Imdyb3VwMS1pdGVtMiIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9
IjIiIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtc2V0c2l6ZT0iMSIgYXJpYS1wb3NpbnNldD0i
MiIgYXJpYS1jdXJyZW50PSJwYWdlIj5DYXRzCisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFy
aWEtb3ducz0iZ3JvdXAyLWl0ZW0xIGdyb3VwMi1pdGVtMiI+PC9kaXY+CisgICAgPC9kaXY+Cisg
ICAgPGRpdiBpZD0iZ3JvdXAyLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMyIg
YXJpYS1wb3NpbnNldD0iMSIgYXJpYS1zZXRzaXplPSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkxp
b248L2Rpdj4KKyAgICA8ZGl2IGlkPSJpdGVtLTIiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVs
PSIxIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgdGFiaW5kZXg9Ii0xIj5Eb21lc3RpYyBBbmltYWxz
PC9kaXY+CisgICAKKyAgICA8ZGl2IGlkPSJjaXJjdWxhci1pZC0xIiByb2xlPSJ0cmVlaXRlbSIg
YXJpYS1sZXZlbD0iMSIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgdGFiaW5kZXg9Ii0xIj5BcmN0aWMg
QW5pbWFscworICAgICAgICA8ZGl2IGlkPSJjaXJjdWxhci1pZC0yIiByb2xlPSJncm91cCIgYXJp
YS1vd25zPSJncm91cDMtaXRlbTEgY2lyY3VsYXItaWQtMiI+PC9kaXY+CisgICAgPC9kaXY+Cisg
ICAgPGRpdiBpZD0iZ3JvdXAzLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMiIg
YXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1wb3NpbnNldD0iMSIgYXJpYS1zZXRzaXplPSIxIiBh
cmlhLWN1cnJlbnQ9InBhZ2UiPk1hbW1hbHMKKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIgYXJp
YS1vd25zPSJncm91cDQtaXRlbTEiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9Imdy
b3VwNC1pdGVtMSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjMiIGFyaWEtZXhwYW5kZWQ9
InRydWUiIGFyaWEtcG9zaW5zZXQ9IjEiIGFyaWEtc2V0c2l6ZT0iMSIgYXJpYS1jdXJyZW50PSJw
YWdlIj5CZWFycworICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9ImNpcmN1bGFy
LWlkLTEiPjwvZGl2PgogICAgIDwvZGl2PgotICAgIDxkaXYgaWQ9Imdyb3VwMS1pdGVtMSIgcm9s
ZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjIiIGFyaWEtc2V0c2l6ZT0iMyIgYXJpYS1wb3NpbnNl
dD0iMSIgYXJpYS1jdXJyZW50PSJwYWdlIj5MaW9uczwvZGl2PgogPC9kaXY+CiAKIDxzY3JpcHQ+
Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdhcyBhIGdyb3Vw
IHRoYXQgdXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Nsb3NlZCByb3dzIGNvcnJl
Y3RseS4iKTsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2l0
aCBhIGdyb3VwIHRoYXQgdXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Nsb3NlZCBy
b3dzIGNvcnJlY3RseS4iKTsKIAogICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKLSAgICAgICB2YXIgdHJlZWl0ZW0gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoIml0ZW0tMSIpOwotICAgICAgIHZhciB0cmVlaXRlbTIgPSB0cmVl
aXRlbS5kaXNjbG9zZWRSb3dBdEluZGV4KDApOwotICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0
ZW0yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCdncm91cDEtaXRlbTEnKSkiKTsKKyAgICAgICB2YXIgdHJlZSA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidHJlZSIpOworICAgICAgIHZhciB0cmVlaXRl
bTEgPSB0cmVlLnJvd0F0SW5kZXgoMCk7CisgICAgICAgdmFyIHRyZWVpdGVtMV8xID0gdHJlZWl0
ZW0xLmRpc2Nsb3NlZFJvd0F0SW5kZXgoMCk7CisgICAgICAgdmFyIHRyZWVpdGVtMV8yID0gdHJl
ZWl0ZW0xLmRpc2Nsb3NlZFJvd0F0SW5kZXgoMSk7CisgICAgICAgdmFyIHRyZWVpdGVtMV8zID0g
dHJlZWl0ZW0xLmRpc2Nsb3NlZFJvd0F0SW5kZXgoNCk7CisgICAgICAgdmFyIHRyZWVpdGVtMV8y
XzEgPSB0cmVlaXRlbTFfMi5kaXNjbG9zZWRSb3dBdEluZGV4KDApOworICAgICAgIHZhciB0cmVl
aXRlbTFfMl8yID0gdHJlZWl0ZW0xXzIuZGlzY2xvc2VkUm93QXRJbmRleCgxKTsKKyAgICAgICB2
YXIgdHJlZWl0ZW0yID0gdHJlZS5yb3dBdEluZGV4KDYpOworICAgICAgIHNob3VsZEJlKCJ0cmVl
LmNoaWxkcmVuQ291bnQiLCAiNyIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xLmlz
RXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdpdGVt
LTEnKSkiKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMV8xLmlzRXF1YWwoYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRlbTEnKSki
KTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMV8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRlbTInKSkiKTsKKyAg
ICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMV8zLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRlbTMnKSkiKTsKKyAgICAgICBz
aG91bGRCZVRydWUoInRyZWVpdGVtMV8yXzEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMi1pdGVtMScpKSIpOworICAgICAgIHNob3Vs
ZEJlVHJ1ZSgidHJlZWl0ZW0xXzJfMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAyLWl0ZW0yJykpIik7CisgICAgICAgc2hvdWxkQmVU
cnVlKCJ0cmVlaXRlbTIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ2l0ZW0tMicpKSIpOwogICAgIH0KIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446445</attachid>
            <date>2021-12-08 15:46:25 -0800</date>
            <delta_ts>2021-12-09 14:23:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211208154624.patch</filename>
            <type>text/plain</type>
            <size>14391</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVkODQ3ZGVkNGEzYTc1
OTkxYmZkMDQ3YWUzNjRlYWMxODIyOWE5Yi4uZWQwYmJjNjg2NmRhODhjNWI4M2JmMDY5N2E3ZDI2
NWJiYmYxZDZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEyLTA4ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGFjY2Vzc2liaWxpdHkvbWFjL3RyZWVp
dGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvbWFj
L3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLXBvb3JseS1mb3JtZWQuaHRtbAorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFUcmVlUm93cyk6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisKIDIwMjEtMTItMDggIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01TRV0gQWRkIGEgTW9kdWxlcy9tZWRpYXNv
dXJjZS9SRUFETUUubWQgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggZDY0OWYxY2QyY2VjN2E4ZGE2ZjA0ZGVi
ZTU1MjRhNzcwZDA5YjlmNS4uNzRmNjQxY2YzYWJlNDUyNmE1MDI2ZGU0ODA1YzQzZjVmMDJmMmJj
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCkBAIC0xODgwLDI0ICsxODgwLDY3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3Qq
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmhlYWRpbmdFbGVtZW50Rm9yTm9kZShOb2RlKiBub2RlKQog
ICAgIH0pOwogfQogCi12b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFUcmVlUm93cyhBY2Nl
c3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHJlc3VsdCkKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVzdWx0LCBBY2Nl
c3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHBhcmVudFBhdGgpCiB7Ci0gICAgLy8gSWYgdGhlIGVs
ZW1lbnQgc3BlY2lmaWVzIGl0cyB0cmVlIHJvd3MgdGhyb3VnaCBhcmlhLW93bnMsIHJldHVybiB0
aGF0IGZpcnN0LgogICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBhcmlhT3duczsKICAg
ICBhcmlhT3duc0VsZW1lbnRzKGFyaWFPd25zKTsKLSAgICBpZiAoYXJpYU93bnMuc2l6ZSgpKSB7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmRWZWN0b3IoYXJpYU93bnMpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQogICAgIAorICAgIHBhcmVudFBhdGguYXBwZW5kKHRoaXMpOworCisgICAgLy8gVGhl
IG9yZGVyaW5nIG9mIHJvd3MgaXMgZmlyc3QgRE9NIGNoaWxkcmVuICpub3QqIGluIGFyaWEtb3du
cywgZm9sbG93ZWQgYnkgYWxsIHNwZWNpZmllZAorICAgIC8vIGluIGFyaWEtb3ducy4KICAgICBm
b3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW4oKSkgewogICAgICAgICAvLyBBZGQgdHJl
ZSBpdGVtcyBhcyB0aGUgcm93cy4KLSAgICAgICAgaWYgKGNoaWxkLT5yb2xlVmFsdWUoKSA9PSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW0pCisgICAgICAgIGlmIChjaGlsZC0+cm9sZVZhbHVl
KCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVJdGVtKSB7CisgICAgICAgICAgICAvLyBDaGls
ZCBhcHBlYXJzIGJvdGggYXMgYSBkaXJlY3QgY2hpbGQgYW5kIGFyaWEtb3ducywgd2Ugc2hvdWxk
IHVzZSB0aGUgb3JkZXJpbmcgYXMKKyAgICAgICAgICAgIC8vIGRlc2NyaWJlZCBpbiBhcmlhLW93
bnMgZm9yIHRoaXMgY2hpbGQuCisgICAgICAgICAgICBpZiAoYXJpYU93bnMuY29udGFpbnMoY2hp
bGQpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAg
ICAvLyBUaGUgcmVzdWx0IHNldCBtYXkgYWxyZWFkeSBjb250YWluIHRoZSBjaGlsZCB0aHJvdWdo
IGFyaWEtb3ducy4gRm9yIGV4YW1wbGUsCisgICAgICAgICAgICAvLyBhIHRyZWVpdGVtIHNpdHRp
bmcgdW5kZXIgdGhlIHRyZWUgcm9vdCwgd2hpY2ggaXMgb3duZWQgZWxzZXdoZXJlIGluIHRoZSB0
cmVlLgorICAgICAgICAgICAgaWYgKHJlc3VsdC5jb250YWlucyhjaGlsZCkpCisgICAgICAgICAg
ICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoY2hpbGQpOworICAg
ICAgICB9CisKKyAgICAgICAgLy8gTm93IHNlZSBpZiB0aGlzIGl0ZW0gYWxzbyBoYXMgcm93cyBo
aWRpbmcgaW5zaWRlIG9mIGl0LgorICAgICAgICBpZiAoaXM8QWNjZXNzaWJpbGl0eU9iamVjdD4o
KmNoaWxkKSkKKyAgICAgICAgICAgIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KCpjaGls
ZCkuYXJpYVRyZWVSb3dzKHJlc3VsdCwgcGFyZW50UGF0aCk7CisgICAgfQorCisgICAgLy8gTm93
IGdvIHRocm91Z2ggdGhlIGFyaWEtb3ducyBlbGVtZW50cy4KKyAgICBmb3IgKGNvbnN0IGF1dG8m
IGNoaWxkIDogYXJpYU93bnMpIHsKKyAgICAgICAgLy8gQXZvaWQgYSBjaXJjdWxhciByZWZlcmVu
Y2UgdmlhIGFyaWEtb3ducyBieSBjaGVja2luZyBpZiBvdXIgcGFyZW50CisgICAgICAgIC8vIHBh
dGggaW5jbHVkZXMgdGhpcyBjaGlsZC4gQ3VycmVudGx5LCBsb29raW5nIHVwIHRoZSBhcmlhLW93
bnMgcGFyZW50CisgICAgICAgIC8vIHBhdGggaXRzZWxmIGNvdWxkIGJlIGV4cGVuc2l2ZSwgc28g
d2UgdHJhY2sgaXQgc2VwYXJhdGVseS4KKyAgICAgICAgaWYgKHBhcmVudFBhdGguY29udGFpbnMo
Y2hpbGQpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIAorICAgICAgICAvLyBBZGQg
dHJlZSBpdGVtcyBhcyB0aGUgcm93cy4KKyAgICAgICAgaWYgKGNoaWxkLT5yb2xlVmFsdWUoKSA9
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW0pIHsKKyAgICAgICAgICAgIC8vIEhvcGVmdWxs
eSBhIGZsb3cgdGhhdCBkb2VzIG5vdCBvY2N1ciBvZnRlbiBpbiBwcmFjdGljZSwgYnV0IGlmIHNv
bWVvbmUgd2VyZSB0byBpbmNsdWRlCisgICAgICAgICAgICAvLyB0aGUgb3duZWQgY2hpbGQgZWFs
aWVyIGluIHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHRyZWUsIHRoZW4gcmVmZXJlbmNlIHZpYSBhcmlh
LW93bnMgbGF0ZXIsCisgICAgICAgICAgICAvLyBtb3ZlIGl0IHRvIHRoZSByaWdodCBwbGFjZS4K
KyAgICAgICAgICAgIGlmIChyZXN1bHQuY29udGFpbnMoY2hpbGQpKQorICAgICAgICAgICAgICAg
IHJlc3VsdC5yZW1vdmVGaXJzdChjaGlsZCk7CisgICAgICAgICAgICAKICAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoY2hpbGQpOworICAgICAgICB9CiAKICAgICAgICAgLy8gTm93IHNlZSBpZiB0
aGlzIGl0ZW0gYWxzbyBoYXMgcm93cyBoaWRpbmcgaW5zaWRlIG9mIGl0LgotICAgICAgICBjaGls
ZC0+YXJpYVRyZWVSb3dzKHJlc3VsdCk7CisgICAgICAgIGlmIChpczxBY2Nlc3NpYmlsaXR5T2Jq
ZWN0PigqY2hpbGQpKQorICAgICAgICAgICAgZG93bmNhc3Q8QWNjZXNzaWJpbGl0eU9iamVjdD4o
KmNoaWxkKS5hcmlhVHJlZVJvd3MocmVzdWx0LCBwYXJlbnRQYXRoKTsKICAgICB9CisgICAgCisg
ICAgcGFyZW50UGF0aC5yZW1vdmVMYXN0KCk7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVzdWx0KQorewor
ICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBwYXJlbnRQYXRoOworICAgIGFyaWFUcmVl
Um93cyhyZXN1bHQsIHBhcmVudFBhdGgpOwogfQogICAgIAogdm9pZCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjphcmlhVHJlZUl0ZW1Db250ZW50KEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaAppbmRleCA2OWQzYmMzMTMwMTUyM2NiYWIxN2UxZWQ5ZDRmMTMwYWE4MjNmODhhLi4y
NjI1MDBmZmYxYjNmMmY2OGRmMDBiNDcyMDZmMWNjZDgzNWE4YzU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtODIzLDYg
KzgyMyw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxTaW1wbGVSYW5nZT4gZmluZFRl
eHRSYW5nZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2VhcmNoU3RyaW5ncywgY29uc3QgU2ltcGxl
UmFuZ2UmIHN0YXJ0LCBBY2Nlc3NpYmlsaXR5U2VhcmNoVGV4dERpcmVjdGlvbikgY29uc3Q7CiAg
ICAgc3RkOjpvcHRpb25hbDxTaW1wbGVSYW5nZT4gdmlzaWJsZUNoYXJhY3RlclJhbmdlKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGFyaWFUcmVlUm93cyhBY2Nlc3NpYmlsaXR5Q2hpbGRy
ZW5WZWN0b3ImIHJlc3VsdCwgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBwYXJlbnRQYXRo
KTsKKyAgICAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCiAg
ICAgVmVjdG9yPFJldGFpblB0cjxpZD4+IG1vZGVsRWxlbWVudENoaWxkcmVuKCkgb3ZlcnJpZGU7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAwN2NiMTk4Mzg2YTQzMGI2MzI0NTY1MzMxZTA3Y2QxODM3MTljNTBm
Li41YzczODY1ZmZlYjkwOWU4MmYwNzA1NmU5Y2E3MGU1ZTU1OTE4ZTRiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjEtMTItMDggIFNlcGFuZCBQYXJoYW1pICA8c3BhcmhhbWlAYXBwbGUuY29t
PgorCisgICAgICAgIEFYOiBJbXByb3ZlIHN1cHBvcnQgZm9yIGFyaWEtb3ducyBpbiBhcmlhIHRy
ZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMz
ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1wb29ybHkt
Zm9ybWVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMv
dHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9vcmx5LWZvcm1lZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sOgorCiAy
MDIxLTEyLTA4ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1j
b250YWluXSBQcmV2ZW50IHZhcmlvdXMga2luZHMgb2YgcHJvcGFnYXRpb24gdG8gUmVuZGVyVmll
dwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93
LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMv
dHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGI0NDRjNzcwMzBmZDgx
OGMzNDkwNDQ2YzlkNjMyNTEzNDAwNmU2NTkuLmY4YjA2NjM1MmE3NGZlOTdiNGYzM2EzN2MyZjM0
NTIyMTRiMWNlNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3Ry
ZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEs
MTEgKzEsMjMgQEAKLVRoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdhcyBhIGdyb3VwIHRoYXQg
dXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Nsb3NlZCByb3dzIGNvcnJlY3RseS4K
K1RoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91cCB0aGF0IHVzZXMgYXJpYS1v
d25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuCiAKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHRyZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIGlzIHRy
dWUKK1BBU1MgdHJlZS5jaGlsZHJlbkNvdW50IGlzIDcKK1BBU1MgdHJlZWl0ZW0xLmlzRXF1YWwo
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdpdGVtLTEnKSkg
aXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIGlzIHRydWUKK1BBU1MgdHJl
ZWl0ZW0xXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoJ2dyb3VwMS1pdGVtMicpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8zLmlzRXF1YWwo
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRl
bTMnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMl8xLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTEnKSkgaXMgdHJ1ZQor
UEFTUyB0cmVlaXRlbTFfMl8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTInKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTIu
aXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2l0
ZW0tMicpKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1Qg
Q09NUExFVEUKK0phZ3VhcgogSnVuZ2xlIEFuaW1hbHMKLUxpb25zCitCaXJkcworUmVwdGlsZXMK
K0NhdHMKK0xpb24KK0RvbWVzdGljIEFuaW1hbHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLXBvb3JseS1mb3JtZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRl
bGVnYXRpb24tcG9vcmx5LWZvcm1lZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJhZjlhZWYz
MGEzZmNjZGFkOWE5NmI5ZWI0NmRiZWEwMGQ3NTI5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLXBvb3JseS1m
b3JtZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RoaXMgdGVzdHMgdGhhdCBhIHRy
ZWVpdGVtIHdpdGggYSBncm91cCB0aGF0IHVzZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0IGl0cyBk
aXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHRyZWUuY2hpbGRyZW5Db3VudCBpcyA3CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK0p1bmdsZSBBbmltYWxzCitDYXRzCitMaW9ucworRG9t
ZXN0aWMgQW5pbWFscworQXJjdGljIEFuaW1hbHMKK1NlYSBBbmltYWxzCitPcmNhCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlv
bi1wb29ybHktZm9ybWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVl
aXRlbS1yb3ctZGVsZWdhdGlvbi1wb29ybHktZm9ybWVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y3ZjFm
NjJjMTM4OGJmZGZmNjBmN2FjYTI5YzlhOGJmYTJjMGM3MQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLXBvb3Js
eS1mb3JtZWQuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2IGlkPSJ0cmVlIiByb2xlPSJ0cmVlIj4KKyAgICA8IS0t
IFJlZmVyZW5jZSBieSBhIGdyYW5kY2hpbGQgdGhyb3VnaCBhIHRyZWUgaXRlbSAtLT4KKyAgICA8
ZGl2IGlkPSJjaXJjdWxhci1yZWYtMSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjEiIGFy
aWEtZXhwYW5kZWQ9InRydWUiIHRhYmluZGV4PSIwIj5KdW5nbGUgQW5pbWFscworICAgICAgICA8
ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9Imdyb3VwMS1pdGVtMiI+PC9kaXY+CisgICAgPC9k
aXY+CisgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0yIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZl
bD0iMiIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1zZXRzaXplPSIxIiBhcmlhLXBvc2luc2V0
PSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkNhdHMKKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIg
YXJpYS1vd25zPSJncm91cDItaXRlbTEiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
Imdyb3VwMi1pdGVtMSIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjMiIGFyaWEtcG9zaW5z
ZXQ9IjEiIGFyaWEtc2V0c2l6ZT0iMiIgYXJpYS1jdXJyZW50PSJwYWdlIj5MaW9ucworICAgICAg
ICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9ImNpcmN1bGFyLXJlZi0xIj48L2Rpdj4KKyAg
ICA8L2Rpdj4KKworICAgIDwhLS0gUmVmZXJlbmNlIGxvb3Agd2l0aCBhIHBsYWluIGRpdiAtLT4K
KyAgICA8ZGl2IHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIxIiBhcmlhLWV4cGFuZGVkPSJm
YWxzZSIgdGFiaW5kZXg9Ii0xIj5Eb21lc3RpYyBBbmltYWxzCisJPGRpdiBpZD0iY2lyY3VsYXIt
cmVmLTIiIHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9InBsYWluLWRpdiI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9InBsYWluLWRpdiIgYXJpYS1vd25zPSJjaXJjdWxhci1yZWYtMiI+PC9kaXY+Cisg
ICAgPC9kaXY+CisKKyAgICA8IS0tIE11bHRpcGxlIGFyaWEtb3duaW5nIGVsZW1lbnRzIC0tPiAK
KyAgICA8ZGl2IHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIxIiBhcmlhLWV4cGFuZGVkPSJm
YWxzZSIgdGFiaW5kZXg9Ii0xIj5BcmN0aWMgQW5pbWFscworICAgICAgICA8ZGl2IHJvbGU9Imdy
b3VwIiBhcmlhLW93bnM9ImRvdWJseS1yZWZlcmVuY2VkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIxIiBhcmlhLWV4cGFuZGVkPSJmYWxz
ZSIgdGFiaW5kZXg9Ii0xIj5TZWEgQW5pbWFscworICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBh
cmlhLW93bnM9ImRvdWJseS1yZWZlcmVuY2VkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2
IGlkPSJkb3VibHktcmVmZXJlbmNlZCIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjIiIHRh
YmluZGV4PSItMSI+T3JjYTwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91cCB0aGF0IHVzZXMgYXJp
YS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuIik7CisKKyAg
ICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgdmFyIHRyZWUg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRyZWUiKTsK
KyAgICAgICBzaG91bGRCZSgidHJlZS5jaGlsZHJlbkNvdW50IiwgIjciKTsKKyAgICB9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sCmluZGV4IGExYjkxMTNj
MjUwYzg5NjQ3NGIxMDhhZThkMjYzYTFiYWQwNjAzMWQuLjhmMWJhODVkOGUyYzE4ZWI5NzA0MDI4
NDEyYzM4NmRkNDM1NDQyYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbApAQCAtOCwxOSArOCw0MCBA
QAogPGJvZHkgaWQ9ImJvZHkiPgogCiA8ZGl2IGlkPSJ0cmVlIiByb2xlPSJ0cmVlIj4KKyAgICA8
ZGl2IGlkPSJncm91cDItaXRlbTIiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIzIiBhcmlh
LXNldHNpemU9IjIiIGFyaWEtcG9zaW5zZXQ9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+SmFndWFy
PC9kaXY+CiAgICAgPGRpdiBpZD0iaXRlbS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0i
MSIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgdGFiaW5kZXg9IjAiPkp1bmdsZSBBbmltYWxzCi0gICAg
ICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAxLWl0ZW0xIGdyb3VwMS1pdGVt
MiBncm91cDEtaXRlbTMiPjwvZGl2PgorICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93
bnM9Imdyb3VwMS1pdGVtMiBncm91cDEtaXRlbTMgbm9uLWV4aXN0ZW50LWl0ZW0xIj4KKyAgICAg
ICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTMiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIy
IiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9IjMiIGFyaWEtY3VycmVudD0icGFnZSI+
QmlyZHM8L2Rpdj4KKyAgICAgICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTEiIHJvbGU9InRyZWVp
dGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9IjEiIGFy
aWEtY3VycmVudD0icGFnZSI+UmVwdGlsZXM8L2Rpdj4KKyAgICAgICAgPC9kaXY+CiAgICAgPC9k
aXY+Ci0gICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZl
bD0iMiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLWN1cnJlbnQ9InBh
Z2UiPkxpb25zPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0yIiByb2xlPSJ0cmVlaXRl
bSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1zZXRzaXplPSIxIiBh
cmlhLXBvc2luc2V0PSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkNhdHMKKyAgICAgICAgPGRpdiBy
b2xlPSJncm91cCIgYXJpYS1vd25zPSJncm91cDItaXRlbTEgZ3JvdXAyLWl0ZW0yIj48L2Rpdj4K
KyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJncm91cDItaXRlbTEiIHJvbGU9InRyZWVpdGVtIiBh
cmlhLWxldmVsPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLXNldHNpemU9IjIiIGFyaWEtY3Vy
cmVudD0icGFnZSI+TGlvbjwvZGl2PgorICAgIDxkaXYgaWQ9Iml0ZW0tMiIgcm9sZT0idHJlZWl0
ZW0iIGFyaWEtbGV2ZWw9IjEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iLTEiPkRv
bWVzdGljIEFuaW1hbHM8L2Rpdj4KIDwvZGl2PgogCiA8c2NyaXB0PgotICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoYXQgYSB0cmVlaXRlbSB3YXMgYSBncm91cCB0aGF0IHVzZXMgYXJpYS1v
d25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuIik7CisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91cCB0aGF0IHVz
ZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuIik7
CiAKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAgdmFy
IHRyZWVpdGVtID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCJpdGVtLTEiKTsKLSAgICAgICB2YXIgdHJlZWl0ZW0yID0gdHJlZWl0ZW0uZGlzY2xvc2VkUm93
QXRJbmRleCgwKTsKLSAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMi5pc0VxdWFsKGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykp
Iik7CisgICAgICAgdmFyIHRyZWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoInRyZWUiKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xID0gdHJlZS5yb3dBdElu
ZGV4KDApOworICAgICAgIHZhciB0cmVlaXRlbTFfMSA9IHRyZWVpdGVtMS5kaXNjbG9zZWRSb3dB
dEluZGV4KDApOworICAgICAgIHZhciB0cmVlaXRlbTFfMiA9IHRyZWVpdGVtMS5kaXNjbG9zZWRS
b3dBdEluZGV4KDEpOworICAgICAgIHZhciB0cmVlaXRlbTFfMyA9IHRyZWVpdGVtMS5kaXNjbG9z
ZWRSb3dBdEluZGV4KDQpOworICAgICAgIHZhciB0cmVlaXRlbTFfMl8xID0gdHJlZWl0ZW0xXzIu
ZGlzY2xvc2VkUm93QXRJbmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzJfMiA9IHRyZWVp
dGVtMV8yLmRpc2Nsb3NlZFJvd0F0SW5kZXgoMSk7CisgICAgICAgdmFyIHRyZWVpdGVtMiA9IHRy
ZWUucm93QXRJbmRleCg2KTsKKyAgICAgICBzaG91bGRCZSgidHJlZS5jaGlsZHJlbkNvdW50Iiwg
IjciKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMS5pc0VxdWFsKGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0xJykpIik7CisgICAgICAg
c2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTFfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIik7CisgICAgICAgc2hvdWxk
QmVUcnVlKCJ0cmVlaXRlbTFfMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vz
c2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0yJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVl
KCJ0cmVlaXRlbTFfMy5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0zJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVl
aXRlbTFfMl8xLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCdncm91cDItaXRlbTEnKSkiKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVt
MV8yXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoJ2dyb3VwMi1pdGVtMicpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0yLmlz
RXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdpdGVt
LTInKSkiKTsKICAgICB9CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446606</attachid>
            <date>2021-12-09 14:23:21 -0800</date>
            <delta_ts>2021-12-13 12:11:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211209142320.patch</filename>
            <type>text/plain</type>
            <size>15100</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVkODQ3ZGVkNGEzYTc1
OTkxYmZkMDQ3YWUzNjRlYWMxODIyOWE5Yi4uMDhkMGM0MGNkYmQzYWZiZTE5MmVlNzllZDYwYTk1
ZDZjYzgxZDBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEyLTA4ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmV0dGVyIHN1cHBvcnRzIGFyaWEtb3ducyBpbiB0
cmVlcyBieSBmb2xsb3dpbmcgY2hpbGRyZW4gc3BlY2lmaWVkIHRocm91Z2ggb3duZXJzaGlwIHNp
bWlsYXIKKyAgICAgICAgdG8gaG93IERPTSBjaGlsZHJlbiBhcmUgaGFuZGxlZC4gUHJldmlvdXNs
eSwgeW91IGNvdWxkIHVzZSBhcmlhLW93bnMgZm9yIG9ubHkgb25lIGxldmVsIG9mCisgICAgICAg
IG93bmVyc2hpcC4gVGhpcyBjaGFuZ2UgYWxzbyBmaXhlcyB0cmVlIGl0ZW1zIGJlaW5nIGluY2x1
ZGVkIHR3aWNlIChvbmNlIGFzIGEgRE9NIGNoaWxkIGFuZAorICAgICAgICBhbm90aGVyIHRpbWUg
dmlhIGFyaWEtb3ducykgYW5kIHN1cHBvcnRzIHVzaW5nIGJvdGggRE9NIGNoaWxkcmVuIGFuZCBh
cmlhLW93bnMgb24gYSBzaW5nbGUKKyAgICAgICAgZWxlbWVudC4gVGhpcyBjaGFuZ2Ugb25seSBh
ZmZlY3RzIHRyZWVzIHZpYSBhIGNoYW5nZSB0byBhcmlhVHJlZVJvd3MgYW5kIGRvZXMgbm90IGNo
YW5nZQorICAgICAgICBhcmlhLW93bnMgYmVoYXZpb3IgaW4gZ2VuZXJhbC4KKworICAgICAgICBU
ZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbAorICAg
ICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9v
cmx5LWZvcm1lZC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYVRy
ZWVSb3dzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoK
KwogMjAyMS0xMi0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTVNFXSBBZGQgYSBNb2R1bGVzL21lZGlhc291cmNlL1JFQURNRS5tZCBmaWxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApp
bmRleCBkNjQ5ZjFjZDJjZWM3YThkYTZmMDRkZWJlNTUyNGE3NzBkMDliOWY1Li4xMWUxMTUwODI3
OGQ4ZmM0YThkMjU2YzhmYmY5Y2I4ZGRkMzA4YzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTE4ODAsMjQgKzE4
ODAsNjcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9iamVjdDo6aGVhZGlu
Z0VsZW1lbnRGb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgfSk7CiB9CiAKLXZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQordm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MoQWNjZXNzaWJpbGl0
eUNoaWxkcmVuVmVjdG9yJiByZXN1bHQsIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgYW5j
ZXN0b3JzKQogewotICAgIC8vIElmIHRoZSBlbGVtZW50IHNwZWNpZmllcyBpdHMgdHJlZSByb3dz
IHRocm91Z2ggYXJpYS1vd25zLCByZXR1cm4gdGhhdCBmaXJzdC4KICAgICBBY2Nlc3NpYmlsaXR5
Q2hpbGRyZW5WZWN0b3IgYXJpYU93bnM7CiAgICAgYXJpYU93bnNFbGVtZW50cyhhcmlhT3ducyk7
Ci0gICAgaWYgKGFyaWFPd25zLnNpemUoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9y
KGFyaWFPd25zKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICAgICAKKyAgICBhbmNlc3RvcnMu
YXBwZW5kKHRoaXMpOworCisgICAgLy8gVGhlIG9yZGVyaW5nIG9mIHJvd3MgaXMgZmlyc3QgRE9N
IGNoaWxkcmVuICpub3QqIGluIGFyaWEtb3ducywgZm9sbG93ZWQgYnkgYWxsIHNwZWNpZmllZAor
ICAgIC8vIGluIGFyaWEtb3ducy4KICAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRy
ZW4oKSkgewogICAgICAgICAvLyBBZGQgdHJlZSBpdGVtcyBhcyB0aGUgcm93cy4KLSAgICAgICAg
aWYgKGNoaWxkLT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW0pCisg
ICAgICAgIGlmIChjaGlsZC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVJ
dGVtKSB7CisgICAgICAgICAgICAvLyBDaGlsZCBhcHBlYXJzIGJvdGggYXMgYSBkaXJlY3QgY2hp
bGQgYW5kIGFyaWEtb3ducywgd2Ugc2hvdWxkIHVzZSB0aGUgb3JkZXJpbmcgYXMKKyAgICAgICAg
ICAgIC8vIGRlc2NyaWJlZCBpbiBhcmlhLW93bnMgZm9yIHRoaXMgY2hpbGQuCisgICAgICAgICAg
ICBpZiAoYXJpYU93bnMuY29udGFpbnMoY2hpbGQpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBUaGUgcmVzdWx0IHNldCBtYXkgYWxyZWFk
eSBjb250YWluIHRoZSBjaGlsZCB0aHJvdWdoIGFyaWEtb3ducy4gRm9yIGV4YW1wbGUsCisgICAg
ICAgICAgICAvLyBhIHRyZWVpdGVtIHNpdHRpbmcgdW5kZXIgdGhlIHRyZWUgcm9vdCwgd2hpY2gg
aXMgb3duZWQgZWxzZXdoZXJlIGluIHRoZSB0cmVlLgorICAgICAgICAgICAgaWYgKHJlc3VsdC5j
b250YWlucyhjaGlsZCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoY2hpbGQpOworICAgICAgICB9CisKKyAgICAgICAgLy8gTm93IHNlZSBp
ZiB0aGlzIGl0ZW0gYWxzbyBoYXMgcm93cyBoaWRpbmcgaW5zaWRlIG9mIGl0LgorICAgICAgICBp
ZiAoaXM8QWNjZXNzaWJpbGl0eU9iamVjdD4oKmNoaWxkKSkKKyAgICAgICAgICAgIGRvd25jYXN0
PEFjY2Vzc2liaWxpdHlPYmplY3Q+KCpjaGlsZCkuYXJpYVRyZWVSb3dzKHJlc3VsdCwgYW5jZXN0
b3JzKTsKKyAgICB9CisKKyAgICAvLyBOb3cgZ28gdGhyb3VnaCB0aGUgYXJpYS1vd25zIGVsZW1l
bnRzLgorICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiBhcmlhT3ducykgeworICAgICAgICAv
LyBBdm9pZCBhIGNpcmN1bGFyIHJlZmVyZW5jZSB2aWEgYXJpYS1vd25zIGJ5IGNoZWNraW5nIGlm
IG91ciBwYXJlbnQKKyAgICAgICAgLy8gcGF0aCBpbmNsdWRlcyB0aGlzIGNoaWxkLiBDdXJyZW50
bHksIGxvb2tpbmcgdXAgdGhlIGFyaWEtb3ducyBwYXJlbnQKKyAgICAgICAgLy8gcGF0aCBpdHNl
bGYgY291bGQgYmUgZXhwZW5zaXZlLCBzbyB3ZSB0cmFjayBpdCBzZXBhcmF0ZWx5LgorICAgICAg
ICBpZiAoYW5jZXN0b3JzLmNvbnRhaW5zKGNoaWxkKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAKKyAgICAgICAgLy8gQWRkIHRyZWUgaXRlbXMgYXMgdGhlIHJvd3MuCisgICAgICAg
IGlmIChjaGlsZC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVJdGVtKSB7
CisgICAgICAgICAgICAvLyBIb3BlZnVsbHkgYSBmbG93IHRoYXQgZG9lcyBub3Qgb2NjdXIgb2Z0
ZW4gaW4gcHJhY3RpY2UsIGJ1dCBpZiBzb21lb25lIHdlcmUgdG8gaW5jbHVkZQorICAgICAgICAg
ICAgLy8gdGhlIG93bmVkIGNoaWxkIGVhbGllciBpbiB0aGUgdG9wIGxldmVsIG9mIHRoZSB0cmVl
LCB0aGVuIHJlZmVyZW5jZSB2aWEgYXJpYS1vd25zIGxhdGVyLAorICAgICAgICAgICAgLy8gbW92
ZSBpdCB0byB0aGUgcmlnaHQgcGxhY2UuCisgICAgICAgICAgICBpZiAocmVzdWx0LmNvbnRhaW5z
KGNoaWxkKSkKKyAgICAgICAgICAgICAgICByZXN1bHQucmVtb3ZlRmlyc3QoY2hpbGQpOworICAg
ICAgICAgICAgCiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGNoaWxkKTsKKyAgICAgICAgfQog
CiAgICAgICAgIC8vIE5vdyBzZWUgaWYgdGhpcyBpdGVtIGFsc28gaGFzIHJvd3MgaGlkaW5nIGlu
c2lkZSBvZiBpdC4KLSAgICAgICAgY2hpbGQtPmFyaWFUcmVlUm93cyhyZXN1bHQpOworICAgICAg
ICBpZiAoaXM8QWNjZXNzaWJpbGl0eU9iamVjdD4oKmNoaWxkKSkKKyAgICAgICAgICAgIGRvd25j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KCpjaGlsZCkuYXJpYVRyZWVSb3dzKHJlc3VsdCwgYW5j
ZXN0b3JzKTsKICAgICB9CisgICAgCisgICAgYW5jZXN0b3JzLnJlbW92ZUxhc3QoKTsKK30KKwor
dm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MoQWNjZXNzaWJpbGl0eUNoaWxk
cmVuVmVjdG9yJiByZXN1bHQpCit7CisgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFu
Y2VzdG9yczsKKyAgICBhcmlhVHJlZVJvd3MocmVzdWx0LCBhbmNlc3RvcnMpOwogfQogICAgIAog
dm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhVHJlZUl0ZW1Db250ZW50KEFjY2Vzc2liaWxp
dHlDaGlsZHJlblZlY3RvciYgcmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA2OWQzYmMzMTMwMTUyM2NiYWIxN2Ux
ZWQ5ZDRmMTMwYWE4MjNmODhhLi42NzUzNGZmODI3Mzc1NGY2YTIyODZiZjcwY2UwNjliNTEwZGQw
ZjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaApAQCAtODIzLDYgKzgyMyw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25h
bDxTaW1wbGVSYW5nZT4gZmluZFRleHRSYW5nZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2VhcmNo
U3RyaW5ncywgY29uc3QgU2ltcGxlUmFuZ2UmIHN0YXJ0LCBBY2Nlc3NpYmlsaXR5U2VhcmNoVGV4
dERpcmVjdGlvbikgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxTaW1wbGVSYW5nZT4gdmlzaWJs
ZUNoYXJhY3RlclJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGFyaWFUcmVlUm93
cyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHJlc3VsdCwgQWNjZXNzaWJpbGl0eUNoaWxk
cmVuVmVjdG9yJiBhbmNlc3RvcnMpOworICAgIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoTU9ERUxfRUxFTUVOVCkKICAgICBWZWN0b3I8UmV0YWluUHRyPGlkPj4gbW9kZWxFbGVtZW50
Q2hpbGRyZW4oKSBvdmVycmlkZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA3Y2IxOTgzODZhNDMwYjYzMjQ1
NjUzMzFlMDdjZDE4MzcxOWM1MGYuLmU0YzhhOGQ3ODcyNmI3NWFiMWUzZGRkN2NiZWRmYjVhM2Mw
OTg1OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0xMi0wOCAgU2VwYW5kIFBhcmhhbWkg
IDxzcGFyaGFtaUBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEltcHJvdmUgc3VwcG9ydCBmb3Ig
YXJpYS1vd25zIGluIGFyaWEgdHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMzM4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgdGVzdCBjYXNlcyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpZWQg
YmVoYXZpb3Igb2YgYXJpYS1vd25zIGluIHRyZWVzIGFzIHdlbGwgYXMgdGVzdHMgdG8KKyAgICAg
ICAgbWFrZSBzdXJlIGluY29ycmVjdCBhcmlhLW93bnMgdXNhZ2UgZG9lcyBub3QgY2F1c2UgY3Jh
c2hlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1y
b3ctZGVsZWdhdGlvbi1wb29ybHktZm9ybWVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9vcmx5LWZvcm1l
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ct
ZGVsZWdhdGlvbi5odG1sOgorCiAyMDIxLTEyLTA4ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1jb250YWluXSBQcmV2ZW50IHZhcmlvdXMga2luZHMgb2YgcHJv
cGFnYXRpb24gdG8gUmVuZGVyVmlldwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IGI0NDRjNzcwMzBmZDgxOGMzNDkwNDQ2YzlkNjMyNTEzNDAwNmU2NTkuLmY4YjA2NjM1
MmE3NGZlOTdiNGYzM2EzN2MyZjM0NTIyMTRiMWNlNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlv
bi1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMjMgQEAKLVRoaXMgdGVzdHMgdGhhdCBhIHRyZWVp
dGVtIHdhcyBhIGdyb3VwIHRoYXQgdXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRzIGRpc2Ns
b3NlZCByb3dzIGNvcnJlY3RseS4KK1RoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBn
cm91cCB0aGF0IHVzZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBj
b3JyZWN0bHkuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHRyZWVpdGVt
Mi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgn
Z3JvdXAxLWl0ZW0xJykpIGlzIHRydWUKK1BBU1MgdHJlZS5jaGlsZHJlbkNvdW50IGlzIDcKK1BB
U1MgdHJlZWl0ZW0xLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCdpdGVtLTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMS5pc0VxdWFsKGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0x
JykpIGlzIHRydWUKK1BBU1MgdHJlZWl0ZW0xXzIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMicpKSBpcyB0cnVlCitQQVNT
IHRyZWVpdGVtMV8zLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCdncm91cDEtaXRlbTMnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMl8xLmlz
RXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91
cDItaXRlbTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMl8yLmlzRXF1YWwoYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTInKSkgaXMg
dHJ1ZQorUEFTUyB0cmVlaXRlbTIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoJ2l0ZW0tMicpKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKK0phZ3VhcgogSnVuZ2xlIEFuaW1hbHMKLUxp
b25zCitCaXJkcworUmVwdGlsZXMKK0NhdHMKK0xpb24KK0RvbWVzdGljIEFuaW1hbHMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0
aW9uLXBvb3JseS1mb3JtZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9vcmx5LWZvcm1lZC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2ZlMjI1NTVkMWRiOTVjNmUzZTliZGQ2Njg2MzE1YmRiNTAwNmE0YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJv
dy1kZWxlZ2F0aW9uLXBvb3JseS1mb3JtZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAK
K1RoaXMgdGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91cCB0aGF0IHVzZXMgYXJpYS1v
d25zIGRvZXMgbm90IGNhdXNlIHByb2JsZW1zIHdoZW4gcG9vcmx5IGZvcm1lZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHJlZS5jaGlsZHJlbkNvdW50IGlzIDcKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorSnVuZ2xlIEFu
aW1hbHMKK0NhdHMKK0xpb25zCitEb21lc3RpYyBBbmltYWxzCitBcmN0aWMgQW5pbWFscworU2Vh
IEFuaW1hbHMKK09yY2EKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLXBvb3JseS1mb3JtZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLXBvb3JseS1mb3JtZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMWZiZTBhMmE0YWQ5MTQ0NzhhY2E3NTNmY2U2NGZmYzE2ZjRkYTQ5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0
ZW0tcm93LWRlbGVnYXRpb24tcG9vcmx5LWZvcm1lZC5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBpZD0iYm9keSI+CisKKzxkaXYgaWQ9InRyZWUi
IHJvbGU9InRyZWUiPgorICAgIDwhLS0gUmVmZXJlbmNlIGJ5IGEgZ3JhbmRjaGlsZCB0aHJvdWdo
IGEgdHJlZSBpdGVtIC0tPgorICAgIDxkaXYgaWQ9ImNpcmN1bGFyLXJlZi0xIiByb2xlPSJ0cmVl
aXRlbSIgYXJpYS1sZXZlbD0iMSIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgdGFiaW5kZXg9IjAiPkp1
bmdsZSBBbmltYWxzCisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAx
LWl0ZW0yIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTIiIHJv
bGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIiBhcmlhLXNl
dHNpemU9IjEiIGFyaWEtcG9zaW5zZXQ9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+Q2F0cworICAg
ICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9Imdyb3VwMi1pdGVtMSI+PC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXAyLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJp
YS1sZXZlbD0iMyIgYXJpYS1wb3NpbnNldD0iMSIgYXJpYS1zZXRzaXplPSIyIiBhcmlhLWN1cnJl
bnQ9InBhZ2UiPkxpb25zCisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iY2ly
Y3VsYXItcmVmLTEiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPCEtLSBSZWZlcmVuY2UgbG9v
cCB3aXRoIGEgcGxhaW4gZGl2IC0tPgorICAgIDxkaXYgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2
ZWw9IjEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iLTEiPkRvbWVzdGljIEFuaW1h
bHMKKwk8ZGl2IGlkPSJjaXJjdWxhci1yZWYtMiIgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0icGxh
aW4tZGl2Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icGxhaW4tZGl2IiBhcmlhLW93bnM9ImNp
cmN1bGFyLXJlZi0yIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDwhLS0gTXVsdGlwbGUgYXJp
YS1vd25pbmcgZWxlbWVudHMgLS0+IAorICAgIDxkaXYgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2
ZWw9IjEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iLTEiPkFyY3RpYyBBbmltYWxz
CisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZG91Ymx5LXJlZmVyZW5jZWQi
PjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9
IjEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iLTEiPlNlYSBBbmltYWxzCisgICAg
ICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZG91Ymx5LXJlZmVyZW5jZWQiPjwvZGl2
PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImRvdWJseS1yZWZlcmVuY2VkIiByb2xlPSJ0cmVl
aXRlbSIgYXJpYS1sZXZlbD0iMiIgdGFiaW5kZXg9Ii0xIj5PcmNhPC9kaXY+Cis8L2Rpdj4KKwor
PHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2l0
aCBhIGdyb3VwIHRoYXQgdXNlcyBhcmlhLW93bnMgZG9lcyBub3QgY2F1c2UgcHJvYmxlbXMgd2hl
biBwb29ybHkgZm9ybWVkLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgeworICAgICAgIHZhciB0cmVlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCJ0cmVlIik7CisgICAgICAgc2hvdWxkQmUoInRyZWUuY2hpbGRyZW5D
b3VudCIsICI3Iik7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVn
YXRpb24uaHRtbAppbmRleCBhMWI5MTEzYzI1MGM4OTY0NzRiMTA4YWU4ZDI2M2ExYmFkMDYwMzFk
Li44ZjFiYTg1ZDhlMmMxOGViOTcwNDAyODQxMmMzODZkZDQzNTQ0MmI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0
aW9uLmh0bWwKQEAgLTgsMTkgKzgsNDAgQEAKIDxib2R5IGlkPSJib2R5Ij4KIAogPGRpdiBpZD0i
dHJlZSIgcm9sZT0idHJlZSI+CisgICAgPGRpdiBpZD0iZ3JvdXAyLWl0ZW0yIiByb2xlPSJ0cmVl
aXRlbSIgYXJpYS1sZXZlbD0iMyIgYXJpYS1zZXRzaXplPSIyIiBhcmlhLXBvc2luc2V0PSIyIiBh
cmlhLWN1cnJlbnQ9InBhZ2UiPkphZ3VhcjwvZGl2PgogICAgIDxkaXYgaWQ9Iml0ZW0tMSIgcm9s
ZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjEiIGFyaWEtZXhwYW5kZWQ9InRydWUiIHRhYmluZGV4
PSIwIj5KdW5nbGUgQW5pbWFscwotICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9
Imdyb3VwMS1pdGVtMSBncm91cDEtaXRlbTIgZ3JvdXAxLWl0ZW0zIj48L2Rpdj4KKyAgICAgICAg
PGRpdiByb2xlPSJncm91cCIgYXJpYS1vd25zPSJncm91cDEtaXRlbTIgZ3JvdXAxLWl0ZW0zIG5v
bi1leGlzdGVudC1pdGVtMSI+CisgICAgICAgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0zIiByb2xl
PSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1zZXRzaXplPSIzIiBhcmlhLXBvc2luc2V0
PSIzIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkJpcmRzPC9kaXY+CisgICAgICAgICAgPGRpdiBpZD0i
Z3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1zZXRzaXpl
PSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPlJlcHRpbGVzPC9kaXY+
CisgICAgICAgIDwvZGl2PgogICAgIDwvZGl2PgotICAgIDxkaXYgaWQ9Imdyb3VwMS1pdGVtMSIg
cm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjIiIGFyaWEtc2V0c2l6ZT0iMyIgYXJpYS1wb3Np
bnNldD0iMSIgYXJpYS1jdXJyZW50PSJwYWdlIj5MaW9uczwvZGl2PgorICAgIDxkaXYgaWQ9Imdy
b3VwMS1pdGVtMiIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjIiIGFyaWEtZXhwYW5kZWQ9
InRydWUiIGFyaWEtc2V0c2l6ZT0iMSIgYXJpYS1wb3NpbnNldD0iMiIgYXJpYS1jdXJyZW50PSJw
YWdlIj5DYXRzCisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAyLWl0
ZW0xIGdyb3VwMi1pdGVtMiI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZ3JvdXAy
LWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMyIgYXJpYS1wb3NpbnNldD0iMSIg
YXJpYS1zZXRzaXplPSIyIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkxpb248L2Rpdj4KKyAgICA8ZGl2
IGlkPSJpdGVtLTIiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIxIiBhcmlhLWV4cGFuZGVk
PSJmYWxzZSIgdGFiaW5kZXg9Ii0xIj5Eb21lc3RpYyBBbmltYWxzPC9kaXY+CiA8L2Rpdj4KIAog
PHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2Fz
IGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEtb3ducyB3aWxsIHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJv
d3MgY29ycmVjdGx5LiIpOworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYSB0cmVl
aXRlbSB3aXRoIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEtb3ducyB3aWxsIHJlcG9ydCBpdHMgZGlz
Y2xvc2VkIHJvd3MgY29ycmVjdGx5LiIpOwogCiAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcikgewotICAgICAgIHZhciB0cmVlaXRlbSA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiaXRlbS0xIik7Ci0gICAgICAgdmFyIHRyZWVpdGVt
MiA9IHRyZWVpdGVtLmRpc2Nsb3NlZFJvd0F0SW5kZXgoMCk7Ci0gICAgICAgc2hvdWxkQmVUcnVl
KCJ0cmVlaXRlbTIuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoJ2dyb3VwMS1pdGVtMScpKSIpOworICAgICAgIHZhciB0cmVlID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0cmVlIik7CisgICAgICAgdmFy
IHRyZWVpdGVtMSA9IHRyZWUucm93QXRJbmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzEg
PSB0cmVlaXRlbTEuZGlzY2xvc2VkUm93QXRJbmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0x
XzIgPSB0cmVlaXRlbTEuZGlzY2xvc2VkUm93QXRJbmRleCgxKTsKKyAgICAgICB2YXIgdHJlZWl0
ZW0xXzMgPSB0cmVlaXRlbTEuZGlzY2xvc2VkUm93QXRJbmRleCg0KTsKKyAgICAgICB2YXIgdHJl
ZWl0ZW0xXzJfMSA9IHRyZWVpdGVtMV8yLmRpc2Nsb3NlZFJvd0F0SW5kZXgoMCk7CisgICAgICAg
dmFyIHRyZWVpdGVtMV8yXzIgPSB0cmVlaXRlbTFfMi5kaXNjbG9zZWRSb3dBdEluZGV4KDEpOwor
ICAgICAgIHZhciB0cmVlaXRlbTIgPSB0cmVlLnJvd0F0SW5kZXgoNik7CisgICAgICAgc2hvdWxk
QmUoInRyZWUuY2hpbGRyZW5Db3VudCIsICI3Iik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVl
aXRlbTEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoJ2l0ZW0tMScpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzEuaXNFcXVh
bChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1p
dGVtMScpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzIuaXNFcXVhbChhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMicp
KSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzMuaXNFcXVhbChhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMycpKSIpOwor
ICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0xXzJfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAyLWl0ZW0xJykpIik7CisgICAg
ICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTFfMl8yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDItaXRlbTInKSkiKTsKKyAgICAgICBz
aG91bGRCZVRydWUoInRyZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0yJykpIik7CiAgICAgfQogPC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447043</attachid>
            <date>2021-12-13 12:11:54 -0800</date>
            <delta_ts>2022-01-18 08:46:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233383-20211213121153.patch</filename>
            <type>text/plain</type>
            <size>15117</size>
            <attacher name="Sepand Parhami">sparhami</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVkODQ3ZGVkNGEzYTc1
OTkxYmZkMDQ3YWUzNjRlYWMxODIyOWE5Yi4uMDhkMGM0MGNkYmQzYWZiZTE5MmVlNzllZDYwYTk1
ZDZjYzgxZDBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEyLTA4ICBTZXBh
bmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wcm92ZSBz
dXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmV0dGVyIHN1cHBvcnRzIGFyaWEtb3ducyBpbiB0
cmVlcyBieSBmb2xsb3dpbmcgY2hpbGRyZW4gc3BlY2lmaWVkIHRocm91Z2ggb3duZXJzaGlwIHNp
bWlsYXIKKyAgICAgICAgdG8gaG93IERPTSBjaGlsZHJlbiBhcmUgaGFuZGxlZC4gUHJldmlvdXNs
eSwgeW91IGNvdWxkIHVzZSBhcmlhLW93bnMgZm9yIG9ubHkgb25lIGxldmVsIG9mCisgICAgICAg
IG93bmVyc2hpcC4gVGhpcyBjaGFuZ2UgYWxzbyBmaXhlcyB0cmVlIGl0ZW1zIGJlaW5nIGluY2x1
ZGVkIHR3aWNlIChvbmNlIGFzIGEgRE9NIGNoaWxkIGFuZAorICAgICAgICBhbm90aGVyIHRpbWUg
dmlhIGFyaWEtb3ducykgYW5kIHN1cHBvcnRzIHVzaW5nIGJvdGggRE9NIGNoaWxkcmVuIGFuZCBh
cmlhLW93bnMgb24gYSBzaW5nbGUKKyAgICAgICAgZWxlbWVudC4gVGhpcyBjaGFuZ2Ugb25seSBh
ZmZlY3RzIHRyZWVzIHZpYSBhIGNoYW5nZSB0byBhcmlhVHJlZVJvd3MgYW5kIGRvZXMgbm90IGNo
YW5nZQorICAgICAgICBhcmlhLW93bnMgYmVoYXZpb3IgaW4gZ2VuZXJhbC4KKworICAgICAgICBU
ZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbAorICAg
ICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9v
cmx5LWZvcm1lZC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYVRy
ZWVSb3dzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoK
KwogMjAyMS0xMi0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTVNFXSBBZGQgYSBNb2R1bGVzL21lZGlhc291cmNlL1JFQURNRS5tZCBmaWxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApp
bmRleCBkNjQ5ZjFjZDJjZWM3YThkYTZmMDRkZWJlNTUyNGE3NzBkMDliOWY1Li4zZjYwYjVlODM3
YWQwZGQ2NmMxZjZkMmRjNGYwY2YzOGIxMmZhYTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTE4ODAsMjQgKzE4
ODAsNjcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU9iamVjdDo6aGVhZGlu
Z0VsZW1lbnRGb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgfSk7CiB9CiAKLXZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVz
dWx0KQordm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhVHJlZVJvd3MoQWNjZXNzaWJpbGl0
eUNoaWxkcmVuVmVjdG9yJiByb3dzLCBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIGFuY2Vz
dG9ycykKIHsKLSAgICAvLyBJZiB0aGUgZWxlbWVudCBzcGVjaWZpZXMgaXRzIHRyZWUgcm93cyB0
aHJvdWdoIGFyaWEtb3ducywgcmV0dXJuIHRoYXQgZmlyc3QuCiAgICAgQWNjZXNzaWJpbGl0eUNo
aWxkcmVuVmVjdG9yIGFyaWFPd25zOwogICAgIGFyaWFPd25zRWxlbWVudHMoYXJpYU93bnMpOwot
ICAgIGlmIChhcmlhT3ducy5zaXplKCkpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZFZlY3Rvcihh
cmlhT3ducyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgCisgICAgYW5jZXN0b3JzLmFw
cGVuZCh0aGlzKTsKKworICAgIC8vIFRoZSBvcmRlcmluZyBvZiByb3dzIGlzIGZpcnN0IERPTSBj
aGlsZHJlbiAqbm90KiBpbiBhcmlhLW93bnMsIGZvbGxvd2VkIGJ5IGFsbCBzcGVjaWZpZWQKKyAg
ICAvLyBpbiBhcmlhLW93bnMuCiAgICAgZm9yIChjb25zdCBhdXRvJiBjaGlsZCA6IGNoaWxkcmVu
KCkpIHsKICAgICAgICAgLy8gQWRkIHRyZWUgaXRlbXMgYXMgdGhlIHJvd3MuCi0gICAgICAgIGlm
IChjaGlsZC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVJdGVtKQotICAg
ICAgICAgICAgcmVzdWx0LmFwcGVuZChjaGlsZCk7CisgICAgICAgIGlmIChjaGlsZC0+cm9sZVZh
bHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVJdGVtKSB7CisgICAgICAgICAgICAvLyBD
aGlsZCBhcHBlYXJzIGJvdGggYXMgYSBkaXJlY3QgY2hpbGQgYW5kIGFyaWEtb3ducywgd2Ugc2hv
dWxkIHVzZSB0aGUgb3JkZXJpbmcgYXMKKyAgICAgICAgICAgIC8vIGRlc2NyaWJlZCBpbiBhcmlh
LW93bnMgZm9yIHRoaXMgY2hpbGQuCisgICAgICAgICAgICBpZiAoYXJpYU93bnMuY29udGFpbnMo
Y2hpbGQpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAg
ICAgICAvLyBUaGUgcmVzdWx0IHNldCBtYXkgYWxyZWFkeSBjb250YWluIHRoZSBjaGlsZCB0aHJv
dWdoIGFyaWEtb3ducy4gRm9yIGV4YW1wbGUsCisgICAgICAgICAgICAvLyBhIHRyZWVpdGVtIHNp
dHRpbmcgdW5kZXIgdGhlIHRyZWUgcm9vdCwgd2hpY2ggaXMgb3duZWQgZWxzZXdoZXJlIGluIHRo
ZSB0cmVlLgorICAgICAgICAgICAgaWYgKHJvd3MuY29udGFpbnMoY2hpbGQpKQorICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICByb3dzLmFwcGVuZChjaGlsZCk7CisgICAg
ICAgIH0KKworICAgICAgICAvLyBOb3cgc2VlIGlmIHRoaXMgaXRlbSBhbHNvIGhhcyByb3dzIGhp
ZGluZyBpbnNpZGUgb2YgaXQuCisgICAgICAgIGlmIChpczxBY2Nlc3NpYmlsaXR5T2JqZWN0Pigq
Y2hpbGQpKQorICAgICAgICAgICAgZG93bmNhc3Q8QWNjZXNzaWJpbGl0eU9iamVjdD4oKmNoaWxk
KS5hcmlhVHJlZVJvd3Mocm93cywgYW5jZXN0b3JzKTsKKyAgICB9CisKKyAgICAvLyBOb3cgZ28g
dGhyb3VnaCB0aGUgYXJpYS1vd25zIGVsZW1lbnRzLgorICAgIGZvciAoY29uc3QgYXV0byYgY2hp
bGQgOiBhcmlhT3ducykgeworICAgICAgICAvLyBBdm9pZCBhIGNpcmN1bGFyIHJlZmVyZW5jZSB2
aWEgYXJpYS1vd25zIGJ5IGNoZWNraW5nIGlmIG91ciBwYXJlbnQKKyAgICAgICAgLy8gcGF0aCBp
bmNsdWRlcyB0aGlzIGNoaWxkLiBDdXJyZW50bHksIGxvb2tpbmcgdXAgdGhlIGFyaWEtb3ducyBw
YXJlbnQKKyAgICAgICAgLy8gcGF0aCBpdHNlbGYgY291bGQgYmUgZXhwZW5zaXZlLCBzbyB3ZSB0
cmFjayBpdCBzZXBhcmF0ZWx5LgorICAgICAgICBpZiAoYW5jZXN0b3JzLmNvbnRhaW5zKGNoaWxk
KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgLy8gQWRkIHRyZWUg
aXRlbXMgYXMgdGhlIHJvd3MuCisgICAgICAgIGlmIChjaGlsZC0+cm9sZVZhbHVlKCkgPT0gQWNj
ZXNzaWJpbGl0eVJvbGU6OlRyZWVJdGVtKSB7CisgICAgICAgICAgICAvLyBIb3BlZnVsbHkgYSBm
bG93IHRoYXQgZG9lcyBub3Qgb2NjdXIgb2Z0ZW4gaW4gcHJhY3RpY2UsIGJ1dCBpZiBzb21lb25l
IHdlcmUgdG8gaW5jbHVkZQorICAgICAgICAgICAgLy8gdGhlIG93bmVkIGNoaWxkIGVhbGllciBp
biB0aGUgdG9wIGxldmVsIG9mIHRoZSB0cmVlLCB0aGVuIHJlZmVyZW5jZSB2aWEgYXJpYS1vd25z
IGxhdGVyLAorICAgICAgICAgICAgLy8gbW92ZSBpdCB0byB0aGUgcmlnaHQgcGxhY2UuCisgICAg
ICAgICAgICBpZiAocm93cy5jb250YWlucyhjaGlsZCkpCisgICAgICAgICAgICAgICAgcm93cy5y
ZW1vdmVGaXJzdChjaGlsZCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJvd3MuYXBwZW5k
KGNoaWxkKTsKKyAgICAgICAgfQogCiAgICAgICAgIC8vIE5vdyBzZWUgaWYgdGhpcyBpdGVtIGFs
c28gaGFzIHJvd3MgaGlkaW5nIGluc2lkZSBvZiBpdC4KLSAgICAgICAgY2hpbGQtPmFyaWFUcmVl
Um93cyhyZXN1bHQpOworICAgICAgICBpZiAoaXM8QWNjZXNzaWJpbGl0eU9iamVjdD4oKmNoaWxk
KSkKKyAgICAgICAgICAgIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KCpjaGlsZCkuYXJp
YVRyZWVSb3dzKHJvd3MsIGFuY2VzdG9ycyk7CiAgICAgfQorICAgIAorICAgIGFuY2VzdG9ycy5y
ZW1vdmVMYXN0KCk7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYVRyZWVSb3dz
KEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcm93cyAgICApCit7CisgICAgQWNjZXNzaWJp
bGl0eUNoaWxkcmVuVmVjdG9yIGFuY2VzdG9yczsKKyAgICBhcmlhVHJlZVJvd3Mocm93cywgYW5j
ZXN0b3JzKTsKIH0KICAgICAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYVRyZWVJdGVt
Q29udGVudChBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHJlc3VsdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggNjlk
M2JjMzEzMDE1MjNjYmFiMTdlMWVkOWQ0ZjEzMGFhODIzZjg4YS4uMTlmNjYyYTk5ZDc2NjcyYWJj
N2Q3ZTkyZGI5MDUzNzVlMmU5ODM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTgyMyw2ICs4MjMsOCBAQCBwcml2YXRl
OgogICAgIHN0ZDo6b3B0aW9uYWw8U2ltcGxlUmFuZ2U+IGZpbmRUZXh0UmFuZ2UoY29uc3QgVmVj
dG9yPFN0cmluZz4mIHNlYXJjaFN0cmluZ3MsIGNvbnN0IFNpbXBsZVJhbmdlJiBzdGFydCwgQWNj
ZXNzaWJpbGl0eVNlYXJjaFRleHREaXJlY3Rpb24pIGNvbnN0OwogICAgIHN0ZDo6b3B0aW9uYWw8
U2ltcGxlUmFuZ2U+IHZpc2libGVDaGFyYWN0ZXJSYW5nZSgpIGNvbnN0IG92ZXJyaWRlOwogCisg
ICAgdm9pZCBhcmlhVHJlZVJvd3MoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByb3dzLCBB
Y2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIGFuY2VzdG9ycyk7CisgICAgCiAjaWYgUExBVEZP
Uk0oQ09DT0EpICYmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQogICAgIFZlY3RvcjxSZXRhaW5QdHI8
aWQ+PiBtb2RlbEVsZW1lbnRDaGlsZHJlbigpIG92ZXJyaWRlOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDdj
YjE5ODM4NmE0MzBiNjMyNDU2NTMzMWUwN2NkMTgzNzE5YzUwZi4uZTRjOGE4ZDc4NzI2Yjc1YWIx
ZTNkZGQ3Y2JlZGZiNWEzYzA5ODU5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTEyLTA4
ICBTZXBhbmQgUGFyaGFtaSAgPHNwYXJoYW1pQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1w
cm92ZSBzdXBwb3J0IGZvciBhcmlhLW93bnMgaW4gYXJpYSB0cmVlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyB0ZXN0IGNhc2VzIGZvciBhZGRp
dGlvbmFsIHNwZWNpZmllZCBiZWhhdmlvciBvZiBhcmlhLW93bnMgaW4gdHJlZXMgYXMgd2VsbCBh
cyB0ZXN0cyB0bworICAgICAgICBtYWtlIHN1cmUgaW5jb3JyZWN0IGFyaWEtb3ducyB1c2FnZSBk
b2VzIG5vdCBjYXVzZSBjcmFzaGVzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvdHJl
ZWl0ZW0tcm93LWRlbGVnYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvbWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLXBvb3JseS1mb3JtZWQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdh
dGlvbi1wb29ybHktZm9ybWVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
bWFjL3RyZWVpdGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWw6CisKIDIwMjEtMTItMDggIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWNvbnRhaW5dIFByZXZlbnQgdmFy
aW91cyBraW5kcyBvZiBwcm9wYWdhdGlvbiB0byBSZW5kZXJWaWV3CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdh
dGlvbi1leHBlY3RlZC50eHQKaW5kZXggYjQ0NGM3NzAzMGZkODE4YzM0OTA0NDZjOWQ2MzI1MTM0
MDA2ZTY1OS4uZjhiMDY2MzUyYTc0ZmU5N2I0ZjMzYTM3YzJmMzQ1MjIxNGIxY2U3MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRp
b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVp
dGVtLXJvdy1kZWxlZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSwyMyBAQAotVGhpcyB0
ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2FzIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEtb3ducyB3aWxs
IHJlcG9ydCBpdHMgZGlzY2xvc2VkIHJvd3MgY29ycmVjdGx5LgorVGhpcyB0ZXN0cyB0aGF0IGEg
dHJlZWl0ZW0gd2l0aCBhIGdyb3VwIHRoYXQgdXNlcyBhcmlhLW93bnMgd2lsbCByZXBvcnQgaXRz
IGRpc2Nsb3NlZCByb3dzIGNvcnJlY3RseS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgog
CiAKLVBBU1MgdHJlZWl0ZW0yLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCdncm91cDEtaXRlbTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlLmNoaWxk
cmVuQ291bnQgaXMgNworUEFTUyB0cmVlaXRlbTEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2l0ZW0tMScpKSBpcyB0cnVlCitQQVNTIHRyZWVp
dGVtMV8xLmlzRXF1YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCdncm91cDEtaXRlbTEnKSkgaXMgdHJ1ZQorUEFTUyB0cmVlaXRlbTFfMi5pc0VxdWFsKGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0y
JykpIGlzIHRydWUKK1BBU1MgdHJlZWl0ZW0xXzMuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMS1pdGVtMycpKSBpcyB0cnVlCitQQVNT
IHRyZWVpdGVtMV8yXzEuaXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoJ2dyb3VwMi1pdGVtMScpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMV8yXzIu
aXNFcXVhbChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dy
b3VwMi1pdGVtMicpKSBpcyB0cnVlCitQQVNTIHRyZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0yJykpIGlzIHRydWUKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQorSmFndWFyCiBK
dW5nbGUgQW5pbWFscwotTGlvbnMKK0JpcmRzCitSZXB0aWxlcworQ2F0cworTGlvbgorRG9tZXN0
aWMgQW5pbWFscwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJl
ZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9vcmx5LWZvcm1lZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1wb29ybHktZm9y
bWVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmUyMjU1NWQxZGI5NWM2ZTNlOWJkZDY2ODYz
MTViZGI1MDA2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9vcmx5LWZvcm1lZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNiBAQAorVGhpcyB0ZXN0cyB0aGF0IGEgdHJlZWl0ZW0gd2l0aCBhIGdyb3Vw
IHRoYXQgdXNlcyBhcmlhLW93bnMgZG9lcyBub3QgY2F1c2UgcHJvYmxlbXMgd2hlbiBwb29ybHkg
Zm9ybWVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0cmVlLmNoaWxk
cmVuQ291bnQgaXMgNworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCitKdW5nbGUgQW5pbWFscworQ2F0cworTGlvbnMKK0RvbWVzdGljIEFuaW1hbHMKK0Fy
Y3RpYyBBbmltYWxzCitTZWEgQW5pbWFscworT3JjYQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRpb24tcG9vcmx5LWZvcm1lZC5o
dG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJlZWl0ZW0tcm93LWRlbGVnYXRp
b24tcG9vcmx5LWZvcm1lZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxZmJlMGEyYTRhZDkxNDQ3OGFjYTc1
M2ZjZTY0ZmZjMTZmNGRhNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L21hYy90cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi1wb29ybHktZm9ybWVkLmh0bWwKQEAg
LTAsMCArMSw0OCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3Np
YmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IGlkPSJib2R5Ij4K
KworPGRpdiBpZD0idHJlZSIgcm9sZT0idHJlZSI+CisgICAgPCEtLSBSZWZlcmVuY2UgYnkgYSBn
cmFuZGNoaWxkIHRocm91Z2ggYSB0cmVlIGl0ZW0gLS0+CisgICAgPGRpdiBpZD0iY2lyY3VsYXIt
cmVmLTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIxIiBhcmlhLWV4cGFuZGVkPSJ0cnVl
IiB0YWJpbmRleD0iMCI+SnVuZ2xlIEFuaW1hbHMKKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIg
YXJpYS1vd25zPSJncm91cDEtaXRlbTIiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
Imdyb3VwMS1pdGVtMiIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9IjIiIGFyaWEtZXhwYW5k
ZWQ9InRydWUiIGFyaWEtc2V0c2l6ZT0iMSIgYXJpYS1wb3NpbnNldD0iMiIgYXJpYS1jdXJyZW50
PSJwYWdlIj5DYXRzCisgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAy
LWl0ZW0xIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJncm91cDItaXRlbTEiIHJv
bGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLXNldHNp
emU9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+TGlvbnMKKyAgICAgICAgPGRpdiByb2xlPSJncm91
cCIgYXJpYS1vd25zPSJjaXJjdWxhci1yZWYtMSI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8
IS0tIFJlZmVyZW5jZSBsb29wIHdpdGggYSBwbGFpbiBkaXYgLS0+CisgICAgPGRpdiByb2xlPSJ0
cmVlaXRlbSIgYXJpYS1sZXZlbD0iMSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIHRhYmluZGV4PSIt
MSI+RG9tZXN0aWMgQW5pbWFscworCTxkaXYgaWQ9ImNpcmN1bGFyLXJlZi0yIiByb2xlPSJncm91
cCIgYXJpYS1vd25zPSJwbGFpbi1kaXYiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJwbGFpbi1k
aXYiIGFyaWEtb3ducz0iY2lyY3VsYXItcmVmLTIiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAg
PCEtLSBNdWx0aXBsZSBhcmlhLW93bmluZyBlbGVtZW50cyAtLT4gCisgICAgPGRpdiByb2xlPSJ0
cmVlaXRlbSIgYXJpYS1sZXZlbD0iMSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIHRhYmluZGV4PSIt
MSI+QXJjdGljIEFuaW1hbHMKKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIgYXJpYS1vd25zPSJk
b3VibHktcmVmZXJlbmNlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiByb2xlPSJ0cmVl
aXRlbSIgYXJpYS1sZXZlbD0iMSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIHRhYmluZGV4PSItMSI+
U2VhIEFuaW1hbHMKKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIgYXJpYS1vd25zPSJkb3VibHkt
cmVmZXJlbmNlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZG91Ymx5LXJlZmVy
ZW5jZWQiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiB0YWJpbmRleD0iLTEiPk9yY2E8
L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRo
YXQgYSB0cmVlaXRlbSB3aXRoIGEgZ3JvdXAgdGhhdCB1c2VzIGFyaWEtb3ducyBkb2VzIG5vdCBj
YXVzZSBwcm9ibGVtcyB3aGVuIHBvb3JseSBmb3JtZWQuIik7CisKKyAgICBpZiAod2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgdmFyIHRyZWUgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRyZWUiKTsKKyAgICAgICBzaG91bGRC
ZSgidHJlZS5jaGlsZHJlbkNvdW50IiwgIjciKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVp
dGVtLXJvdy1kZWxlZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy90
cmVlaXRlbS1yb3ctZGVsZWdhdGlvbi5odG1sCmluZGV4IGExYjkxMTNjMjUwYzg5NjQ3NGIxMDhh
ZThkMjYzYTFiYWQwNjAzMWQuLjhmMWJhODVkOGUyYzE4ZWI5NzA0MDI4NDEyYzM4NmRkNDM1NDQy
YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3RyZWVpdGVtLXJv
dy1kZWxlZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdHJl
ZWl0ZW0tcm93LWRlbGVnYXRpb24uaHRtbApAQCAtOCwxOSArOCw0MCBAQAogPGJvZHkgaWQ9ImJv
ZHkiPgogCiA8ZGl2IGlkPSJ0cmVlIiByb2xlPSJ0cmVlIj4KKyAgICA8ZGl2IGlkPSJncm91cDIt
aXRlbTIiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIzIiBhcmlhLXNldHNpemU9IjIiIGFy
aWEtcG9zaW5zZXQ9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+SmFndWFyPC9kaXY+CiAgICAgPGRp
diBpZD0iaXRlbS0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMSIgYXJpYS1leHBhbmRl
ZD0idHJ1ZSIgdGFiaW5kZXg9IjAiPkp1bmdsZSBBbmltYWxzCi0gICAgICAgIDxkaXYgcm9sZT0i
Z3JvdXAiIGFyaWEtb3ducz0iZ3JvdXAxLWl0ZW0xIGdyb3VwMS1pdGVtMiBncm91cDEtaXRlbTMi
PjwvZGl2PgorICAgICAgICA8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLW93bnM9Imdyb3VwMS1pdGVt
MiBncm91cDEtaXRlbTMgbm9uLWV4aXN0ZW50LWl0ZW0xIj4KKyAgICAgICAgICA8ZGl2IGlkPSJn
cm91cDEtaXRlbTMiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIyIiBhcmlhLXNldHNpemU9
IjMiIGFyaWEtcG9zaW5zZXQ9IjMiIGFyaWEtY3VycmVudD0icGFnZSI+QmlyZHM8L2Rpdj4KKyAg
ICAgICAgICA8ZGl2IGlkPSJncm91cDEtaXRlbTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVs
PSIyIiBhcmlhLXNldHNpemU9IjMiIGFyaWEtcG9zaW5zZXQ9IjEiIGFyaWEtY3VycmVudD0icGFn
ZSI+UmVwdGlsZXM8L2Rpdj4KKyAgICAgICAgPC9kaXY+CiAgICAgPC9kaXY+Ci0gICAgPGRpdiBp
ZD0iZ3JvdXAxLWl0ZW0xIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0iMiIgYXJpYS1zZXRz
aXplPSIzIiBhcmlhLXBvc2luc2V0PSIxIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkxpb25zPC9kaXY+
CisgICAgPGRpdiBpZD0iZ3JvdXAxLWl0ZW0yIiByb2xlPSJ0cmVlaXRlbSIgYXJpYS1sZXZlbD0i
MiIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1zZXRzaXplPSIxIiBhcmlhLXBvc2luc2V0PSIy
IiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkNhdHMKKyAgICAgICAgPGRpdiByb2xlPSJncm91cCIgYXJp
YS1vd25zPSJncm91cDItaXRlbTEgZ3JvdXAyLWl0ZW0yIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJncm91cDItaXRlbTEiIHJvbGU9InRyZWVpdGVtIiBhcmlhLWxldmVsPSIzIiBh
cmlhLXBvc2luc2V0PSIxIiBhcmlhLXNldHNpemU9IjIiIGFyaWEtY3VycmVudD0icGFnZSI+TGlv
bjwvZGl2PgorICAgIDxkaXYgaWQ9Iml0ZW0tMiIgcm9sZT0idHJlZWl0ZW0iIGFyaWEtbGV2ZWw9
IjEiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiB0YWJpbmRleD0iLTEiPkRvbWVzdGljIEFuaW1hbHM8
L2Rpdj4KIDwvZGl2PgogCiA8c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRo
YXQgYSB0cmVlaXRlbSB3YXMgYSBncm91cCB0aGF0IHVzZXMgYXJpYS1vd25zIHdpbGwgcmVwb3J0
IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuIik7CisgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdHMgdGhhdCBhIHRyZWVpdGVtIHdpdGggYSBncm91cCB0aGF0IHVzZXMgYXJpYS1vd25zIHdp
bGwgcmVwb3J0IGl0cyBkaXNjbG9zZWQgcm93cyBjb3JyZWN0bHkuIik7CiAKICAgICBpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAgdmFyIHRyZWVpdGVtID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJpdGVtLTEiKTsKLSAg
ICAgICB2YXIgdHJlZWl0ZW0yID0gdHJlZWl0ZW0uZGlzY2xvc2VkUm93QXRJbmRleCgwKTsKLSAg
ICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIik7CisgICAgICAgdmFy
IHRyZWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRy
ZWUiKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xID0gdHJlZS5yb3dBdEluZGV4KDApOworICAgICAg
IHZhciB0cmVlaXRlbTFfMSA9IHRyZWVpdGVtMS5kaXNjbG9zZWRSb3dBdEluZGV4KDApOworICAg
ICAgIHZhciB0cmVlaXRlbTFfMiA9IHRyZWVpdGVtMS5kaXNjbG9zZWRSb3dBdEluZGV4KDEpOwor
ICAgICAgIHZhciB0cmVlaXRlbTFfMyA9IHRyZWVpdGVtMS5kaXNjbG9zZWRSb3dBdEluZGV4KDQp
OworICAgICAgIHZhciB0cmVlaXRlbTFfMl8xID0gdHJlZWl0ZW0xXzIuZGlzY2xvc2VkUm93QXRJ
bmRleCgwKTsKKyAgICAgICB2YXIgdHJlZWl0ZW0xXzJfMiA9IHRyZWVpdGVtMV8yLmRpc2Nsb3Nl
ZFJvd0F0SW5kZXgoMSk7CisgICAgICAgdmFyIHRyZWVpdGVtMiA9IHRyZWUucm93QXRJbmRleCg2
KTsKKyAgICAgICBzaG91bGRCZSgidHJlZS5jaGlsZHJlbkNvdW50IiwgIjciKTsKKyAgICAgICBz
aG91bGRCZVRydWUoInRyZWVpdGVtMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgnaXRlbS0xJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0
cmVlaXRlbTFfMS5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgnZ3JvdXAxLWl0ZW0xJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRl
bTFfMi5pc0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgnZ3JvdXAxLWl0ZW0yJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTFfMy5p
c0VxdWFsKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgnZ3Jv
dXAxLWl0ZW0zJykpIik7CisgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmVlaXRlbTFfMl8xLmlzRXF1
YWwoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdncm91cDIt
aXRlbTEnKSkiKTsKKyAgICAgICBzaG91bGRCZVRydWUoInRyZWVpdGVtMV8yXzIuaXNFcXVhbChh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoJ2dyb3VwMi1pdGVt
MicpKSIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgidHJlZWl0ZW0yLmlzRXF1YWwoYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCdpdGVtLTInKSkiKTsKICAgICB9
CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>