<?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>262733</bug_id>
          
          <creation_ts>2023-10-05 14:10:21 -0700</creation_ts>
          <short_desc>AX: optimize accessibilityIsIgnored computation</short_desc>
          <delta_ts>2023-10-13 12:03:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Hoffman">jhoffman23</reporter>
          <assigned_to name="Joshua Hoffman">jhoffman23</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>1982970</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-05 14:10:21 -0700</bug_when>
    <thetext>We currently traverse the ancestor hierarchy three times to compute isAXHidden, isPresentationalChildOfAriaRole, and isDescendantOfBarrenParent—all of which we need to compute accessibility is ignored. This should happen in the same traversal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1982971</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-10-05 14:10:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/116541936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1982972</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-10-05 14:10:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/116541943&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983082</commentid>
    <comment_count>3</comment_count>
      <attachid>468087</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-05 20:25:10 -0700</bug_when>
    <thetext>Created attachment 468087
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983261</commentid>
    <comment_count>4</comment_count>
      <attachid>468093</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-06 10:57:47 -0700</bug_when>
    <thetext>Created attachment 468093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983309</commentid>
    <comment_count>5</comment_count>
      <attachid>468095</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-06 13:05:04 -0700</bug_when>
    <thetext>Created attachment 468095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983313</commentid>
    <comment_count>6</comment_count>
      <attachid>468096</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-06 13:13:35 -0700</bug_when>
    <thetext>Created attachment 468096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983335</commentid>
    <comment_count>7</comment_count>
      <attachid>468098</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-06 14:34:32 -0700</bug_when>
    <thetext>Created attachment 468098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983351</commentid>
    <comment_count>8</comment_count>
      <attachid>468100</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-06 15:28:43 -0700</bug_when>
    <thetext>Created attachment 468100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983873</commentid>
    <comment_count>9</comment_count>
      <attachid>468138</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-09 17:13:44 -0700</bug_when>
    <thetext>Created attachment 468138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1983932</commentid>
    <comment_count>10</comment_count>
      <attachid>468138</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2023-10-09 23:22:29 -0700</bug_when>
    <thetext>Comment on attachment 468138
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3967
&gt; +    for (auto* object = this; object; object = object-&gt;parentObject()) {

this code looks identical to generateIsIgnoredFromParentData. can we re-use it somehow?

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:4337
&gt; +    AccessibilityIsIgnoredFromParentData result = AccessibilityIsIgnoredFromParentData(this);

auto

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:4338
&gt; +    for (AccessibilityObject* object = child; object; object = object-&gt;parentObject()) {

auto*

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:-1070
&gt; -    if (isDescendantOfBarrenParent())

how come we can remove this one now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984031</commentid>
    <comment_count>11</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-10 10:13:52 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #10)
&gt; Comment on attachment 468138 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=468138&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3967
&gt; &gt; +    for (auto* object = this; object; object = object-&gt;parentObject()) {
&gt; 
&gt; this code looks identical to generateIsIgnoredFromParentData. can we re-use
&gt; it somehow?

I would ideally like to abstract these as well, but since generateIsIgnoredFromParentData is modifying a struct and the defaultObjectInclusion needs to return early (to maximize the optimization), I am unsure how a lambda could accomplish this. Do you have any suggestions?

&gt; &gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:-1070
&gt; &gt; -    if (isDescendantOfBarrenParent())
&gt; 
&gt; how come we can remove this one now?

The barren parent check was moved inside the unified iteration (`!object-&gt;canHaveChildren()`), so we will already have this case covered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984053</commentid>
    <comment_count>12</comment_count>
      <attachid>468138</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-10-10 10:45:11 -0700</bug_when>
    <thetext>Comment on attachment 468138
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:592
&gt; +#if !USE(ATSPI)

Maybe we should add a comment stating GTK / ATSPI layout tests expect popup buttons to be capable of having children?

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3968
&gt; +        if (equalLettersIgnoringASCIICase(object-&gt;getAttribute(aria_hiddenAttr), &quot;true&quot;_s) &amp;&amp; !object-&gt;isFocused() &amp;&amp; !isFocused())

Do we need to check isFocused() every iteration? Presumably that wouldn&apos;t change.

&gt; Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp:647
&gt; +    { AccessibilityRole::ListBox, { &quot;list box&quot;, N_(&quot;list box&quot;) } },

Maybe we should undo this change in case it is intentional? I&apos;m guessing this wasn&apos;t the reason the GTK tests were failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984105</commentid>
    <comment_count>13</comment_count>
      <attachid>468159</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-10 13:26:34 -0700</bug_when>
    <thetext>Created attachment 468159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984127</commentid>
    <comment_count>14</comment_count>
      <attachid>468159</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-10-10 14:31:12 -0700</bug_when>
    <thetext>Comment on attachment 468159
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:593
&gt; +// GTK/ATSPI layout tests expect popup buttons to be capable of having children.

I think this comment should be indented one more level in (unless the style checker expects the current form).

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3969
&gt; +        if (equalLettersIgnoringASCIICase(object-&gt;getAttribute(aria_hiddenAttr), &quot;true&quot;_s) &amp;&amp; !object-&gt;isFocused() &amp;&amp; !selfIsFocused)

selfIsFocused is the cheapest bit of work here, so we should front-load it to avoid unnecessary work.

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:4340
&gt; +        if (equalLettersIgnoringASCIICase(object-&gt;getAttribute(aria_hiddenAttr), &quot;true&quot;_s) &amp;&amp; !object-&gt;isFocused() &amp;&amp; !child-&gt;isFocused())

Do we need to check that child-&gt;isFocused() every iteration?

Can we avoid doing:

equalLettersIgnoringASCIICase(object-&gt;getAttribute(aria_hiddenAttr), &quot;true&quot;_s)

If result.isAXHidden is already true? Same question for the other fields, and the code in AccessibilityObject::defaultObjectInclusion().

&gt; Source/WebCore/accessibility/AccessibilityObject.h:830
&gt; +    AccessibilityIsIgnoredFromParentData generateIsIgnoredFromParentData(AccessibilityObject*);

Can this take a reference? The only callsite already does a null-check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984137</commentid>
    <comment_count>15</comment_count>
      <attachid>468159</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-10 14:57:15 -0700</bug_when>
    <thetext>Comment on attachment 468159
Patch

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

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3969
&gt;&gt; +        if (equalLettersIgnoringASCIICase(object-&gt;getAttribute(aria_hiddenAttr), &quot;true&quot;_s) &amp;&amp; !object-&gt;isFocused() &amp;&amp; !selfIsFocused)
&gt; 
&gt; selfIsFocused is the cheapest bit of work here, so we should front-load it to avoid unnecessary work.

Ah yes, will move that.

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:4340
&gt;&gt; +        if (equalLettersIgnoringASCIICase(object-&gt;getAttribute(aria_hiddenAttr), &quot;true&quot;_s) &amp;&amp; !object-&gt;isFocused() &amp;&amp; !child-&gt;isFocused())
&gt; 
&gt; Do we need to check that child-&gt;isFocused() every iteration?
&gt; 
&gt; Can we avoid doing:
&gt; 
&gt; equalLettersIgnoringASCIICase(object-&gt;getAttribute(aria_hiddenAttr), &quot;true&quot;_s)
&gt; 
&gt; If result.isAXHidden is already true? Same question for the other fields, and the code in AccessibilityObject::defaultObjectInclusion().

Thinking about it, we can just check child-&gt;isFocused after the entire iteration and set result.isAXHidden there. 

For your other question, checking result.isAXHidden and other fields does make sense inside this traversal, so I can include that.

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.h:830
&gt;&gt; +    AccessibilityIsIgnoredFromParentData generateIsIgnoredFromParentData(AccessibilityObject*);
&gt; 
&gt; Can this take a reference? The only callsite already does a null-check.

Yep!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984160</commentid>
    <comment_count>16</comment_count>
      <attachid>468161</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-10 16:26:24 -0700</bug_when>
    <thetext>Created attachment 468161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984363</commentid>
    <comment_count>17</comment_count>
      <attachid>468176</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-11 12:09:43 -0700</bug_when>
    <thetext>Created attachment 468176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984437</commentid>
    <comment_count>18</comment_count>
      <attachid>468176</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-10-11 15:58:30 -0700</bug_when>
    <thetext>Comment on attachment 468176
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3913
&gt; +};

I forgot to remove this semicolon, I don&apos;t think it should be there after a method implementation. My fault :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984440</commentid>
    <comment_count>19</comment_count>
      <attachid>468176</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-10-11 16:03:09 -0700</bug_when>
    <thetext>Comment on attachment 468176
Patch

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

&gt; COMMIT_MESSAGE:13
&gt; +generateIsIgnoredFromParentData. This saves up to roughly 20% of samples for

Also I think this function is gone in the latest revisions of the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984442</commentid>
    <comment_count>20</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-10-11 16:03:50 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #19)
&gt; Comment on attachment 468176 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=468176&amp;action=review
&gt; 
&gt; &gt; COMMIT_MESSAGE:13
&gt; &gt; +generateIsIgnoredFromParentData. This saves up to roughly 20% of samples for
&gt; 
&gt; Also I think this function is gone in the latest revisions of the patch
(generateIsIgnoredFromParentData that is)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984449</commentid>
    <comment_count>21</comment_count>
      <attachid>468179</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-11 16:13:13 -0700</bug_when>
    <thetext>Created attachment 468179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984474</commentid>
    <comment_count>22</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2023-10-11 17:24:41 -0700</bug_when>
    <thetext>(In reply to Joshua Hoffman from comment #21)
&gt; Created attachment 468179 [details]
&gt; Patch

diff --git a/Source/WebCore/accessibility/AccessibilityNodeObject.cpp b/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
index 171cae482834..ea25c95e3742 100644
--- a/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
+++ b/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
@@ -589,7 +589,10 @@ bool AccessibilityNodeObject::canHaveChildren() const
     // Elements that should not have children.
     switch (roleValue()) {
     case AccessibilityRole::Button:
+#if !USE(ATSPI)
+    // GTK/ATSPI layout tests expect popup buttons to be capable of having children.

AG: to be capable of having --&gt; to have.

     case AccessibilityRole::PopUpButton:
+#endif
     case AccessibilityRole::CheckBox:
     case AccessibilityRole::RadioButton:
     case AccessibilityRole::Tab:
@@ -653,9 +656,6 @@ bool AccessibilityNodeObject::computeAccessibilityIsIgnored() const
         return false;
     if (decision == AccessibilityObjectInclusion::IgnoreObject)
         return true;
-    // If this element is within a parent that cannot have children, it should not be exposed.
-    if (isDescendantOfBarrenParent())
-        return true;

     auto role = roleValue();
     return role == AccessibilityRole::Ignored || role == AccessibilityRole::Unknown;
diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp
index 94eab10dc42e..93a17e66dfe7 100644
--- a/Source/WebCore/accessibility/AccessibilityObject.cpp
+++ b/Source/WebCore/accessibility/AccessibilityObject.cpp
@@ -3907,6 +3907,11 @@ bool AccessibilityObject::accessibilityIsIgnoredByDefault() const
     return defaultObjectInclusion() == AccessibilityObjectInclusion::IgnoreObject;
 }

+static bool isARIAHidden(const AccessibilityObject&amp; object)
+{
+    return equalLettersIgnoringASCIICase(object.getAttribute(aria_hiddenAttr), &quot;true&quot;_s) &amp;&amp; !object.isFocused();
+}
+

AG: shouldn&apos;t this be a class method?

 // ARIA component of hidden definition.
 // https://www.w3.org/TR/wai-aria/#dfn-hidden
 bool AccessibilityObject::isAXHidden() const
@@ -3915,7 +3920,7 @@ bool AccessibilityObject::isAXHidden() const
         return false;

     return Accessibility::findAncestor&lt;AccessibilityObject&gt;(*this, true, [] (const AccessibilityObject&amp; object) {
-        return equalLettersIgnoringASCIICase(object.getAttribute(aria_hiddenAttr), &quot;true&quot;_s) &amp;&amp; !object.isFocused();
+        return isARIAHidden(object);
     }) != nullptr;
 }

@@ -3961,10 +3966,16 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const
     }

     bool useParentData = !m_isIgnoredFromParentData.isNull();
-    if (useParentData ? m_isIgnoredFromParentData.isAXHidden : isAXHidden())
+    if (useParentData &amp;&amp; (m_isIgnoredFromParentData.isAXHidden || m_isIgnoredFromParentData.isPresentationalChildOfAriaRole))
         return AccessibilityObjectInclusion::IgnoreObject;

-    if (useParentData ? m_isIgnoredFromParentData.isPresentationalChildOfAriaRole : isPresentationalChildOfAriaRole())
+    if (isARIAHidden(*this))
+        return AccessibilityObjectInclusion::IgnoreObject;
+
+    bool ignoreARIAHidden = isFocused();
+    if (Accessibility::findAncestor&lt;AccessibilityObject&gt;(*this, false, [&amp;] (const auto&amp; object) {
+        return (!ignoreARIAHidden &amp;&amp; isARIAHidden(object)) || object.ariaRoleHasPresentationalChildren() || !object.canHaveChildren();
+    }))
         return AccessibilityObjectInclusion::IgnoreObject;

     // Include &lt;dialog&gt; elements and elements with role=&quot;dialog&quot;.
@@ -4324,13 +4335,6 @@ bool AccessibilityObject::ariaRoleHasPresentationalChildren() const
     }
 }

-bool AccessibilityObject::isPresentationalChildOfAriaRole() const
-{
-    return Accessibility::findAncestor(*this, false, [] (const auto&amp; ancestor) {
-        return ancestor.ariaRoleHasPresentationalChildren();
-    });
-}
-
 void AccessibilityObject::setIsIgnoredFromParentDataForChild(AccessibilityObject* child)
 {
     if (!child)
@@ -4342,9 +4346,20 @@ void AccessibilityObject::setIsIgnoredFromParentDataForChild(AccessibilityObject
         result.isPresentationalChildOfAriaRole = m_isIgnoredFromParentData.isPresentationalChildOfAriaRole || ariaRoleHasPresentationalChildren();
         result.isDescendantOfBarrenParent = m_isIgnoredFromParentData.isDescendantOfBarrenParent || !canHaveChildren();
     } else {
-        result.isAXHidden = child-&gt;isAXHidden();
-        result.isPresentationalChildOfAriaRole = child-&gt;isPresentationalChildOfAriaRole();
-        result.isDescendantOfBarrenParent = child-&gt;isDescendantOfBarrenParent();
+        if (isARIAHidden(*child))
+            result.isAXHidden = true;
+
+        bool ignoreARIAHidden = child-&gt;isFocused();
+        for (auto* object = child-&gt;parentObject(); object; object = object-&gt;parentObject()) {
+            if (!result.isAXHidden &amp;&amp; !ignoreARIAHidden &amp;&amp; isARIAHidden(*object))
+                result.isAXHidden = true;
+
+            if (!result.isPresentationalChildOfAriaRole &amp;&amp; object-&gt;ariaRoleHasPresentationalChildren())
+                result.isPresentationalChildOfAriaRole = true;
+
+            if (!result.isDescendantOfBarrenParent &amp;&amp; !object-&gt;canHaveChildren())
+                result.isDescendantOfBarrenParent = true;
+        }
     }

     child-&gt;setIsIgnoredFromParentData(result);
diff --git a/Source/WebCore/accessibility/AccessibilityObject.h b/Source/WebCore/accessibility/AccessibilityObject.h
index 1908086ceb53..ba1b43900105 100644
--- a/Source/WebCore/accessibility/AccessibilityObject.h
+++ b/Source/WebCore/accessibility/AccessibilityObject.h
@@ -361,7 +361,6 @@ public:
     virtual AccessibilityRole ariaRoleAttribute() const { return AccessibilityRole::Unknown; }
     bool hasExplicitGenericRole() const { return ariaRoleAttribute() == AccessibilityRole::Generic; }
     bool hasImplicitGenericRole() const { return roleValue() == AccessibilityRole::Generic &amp;&amp; !hasExplicitGenericRole(); }
-    bool isPresentationalChildOfAriaRole() const;
     bool ariaRoleHasPresentationalChildren() const;
     bool inheritsPresentationalRole() const override { return false; }

diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
index a84865fec244..cc75cf754d70 100644
--- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -1066,10 +1066,6 @@ bool AccessibilityRenderObject::computeAccessibilityIsIgnored() const
     if (decision == AccessibilityObjectInclusion::IgnoreObject)
         return true;

-    // If this element is within a parent that cannot have children, it should not be exposed.
-    if (isDescendantOfBarrenParent())
-        return true;
-
     if (roleValue() == AccessibilityRole::Ignored)
         return true;

AG: Do we use the individual fields of the struct m_isIgnoredFromParentData? Or could we have a single bool m_ignoredByHeritage?

AG: Still seems fairly complex, wish there were a single walk up the hierachy where we determine isIgnored. Can we combine with the other walk up we do to collect flags from ancestors?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984496</commentid>
    <comment_count>23</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-10-11 18:20:31 -0700</bug_when>
    <thetext>&gt; diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
&gt; b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
&gt; index a84865fec244..cc75cf754d70 100644
&gt; --- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
&gt; +++ b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
&gt; @@ -1066,10 +1066,6 @@ bool
&gt; AccessibilityRenderObject::computeAccessibilityIsIgnored() const
&gt;      if (decision == AccessibilityObjectInclusion::IgnoreObject)
&gt;          return true;
&gt; 
&gt; -    // If this element is within a parent that cannot have children, it
&gt; should not be exposed.
&gt; -    if (isDescendantOfBarrenParent())
&gt; -        return true;
&gt; -
&gt;      if (roleValue() == AccessibilityRole::Ignored)
&gt;          return true;
&gt; 
&gt; AG: Do we use the individual fields of the struct m_isIgnoredFromParentData?
&gt; Or could we have a single bool m_ignoredByHeritage?
m_isIgnoredFromParentData.isDescendantOfBarrenParent is used in an individual way, so in order to have a unified m_ignoredByHeritage field we&apos;d have to change that usage.

&gt; AG: Still seems fairly complex, wish there were a single walk up the
&gt; hierachy where we determine isIgnored. Can we combine with the other walk up
&gt; we do to collect flags from ancestors?
Good idea on using AXAncestorFlags! Those are built on the way down through the tree as children are inserted, rather than on the way up through an explicit traversal. accessibilityIsIgnored() itself is a component of building the tree, which could complicate this approach, but I think it&apos;s still possible to make it work. And doing so could be a good performance win as it would preclude the need for any traversal at all here in accessibilityIsIgnored(), one of our hottest functions.

We&apos;d have to make sure the flags are updated at all the appropriate levels when aria-hidden changes, and when roles change (i.e. an object dynamically becomes something that matches ariaRoleHasPresentationalChildren()). That might already happen inherently by how we invalidate the hierarchy when aria-hidden and roles change, but would take some experimenting to be sure.

Because this patch is a solid performance win on its own, my opinion is that we should take it and explore further potential improvements via the AXAncestorFlags in a future patch. What do y&apos;all think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984497</commentid>
    <comment_count>24</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-10-11 18:23:58 -0700</bug_when>
    <thetext>&gt; Because this patch is a solid performance win on its own, my opinion is that
&gt; we should take it and explore further potential improvements via the
&gt; AXAncestorFlags in a future patch. What do y&apos;all think?
(The suggestions regarding making isARIAHidden a class method and the code comment change can be part of this patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984504</commentid>
    <comment_count>25</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-11 19:27:30 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #23) 
&gt; Because this patch is a solid performance win on its own, my opinion is that
&gt; we should take it and explore further potential improvements via the
&gt; AXAncestorFlags in a future patch. What do y&apos;all think?

I agree with both ideas. The ancestor flags are definitely worth exploring in a follow up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984505</commentid>
    <comment_count>26</comment_count>
      <attachid>468183</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-11 19:39:23 -0700</bug_when>
    <thetext>Created attachment 468183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984814</commentid>
    <comment_count>27</comment_count>
      <attachid>468198</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2023-10-12 22:17:01 -0700</bug_when>
    <thetext>Created attachment 468198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984952</commentid>
    <comment_count>28</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-10-13 12:03:50 -0700</bug_when>
    <thetext>Committed 269313@main (c24f056ed7c1): &lt;https://commits.webkit.org/269313@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 468198.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468087</attachid>
            <date>2023-10-05 20:25:10 -0700</date>
            <delta_ts>2023-10-06 10:57:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231005202509.patch</filename>
            <type>text/plain</type>
            <size>8263</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBiODVkODA0OTk1ZGZkNjE5OGVlZDI3ZTMxNzI1NmUwMGI0NmQ4MGI3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gIHJv
dWdobHkgMjAlIG9mIHNhbXBsZXMgZm9yCmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgYWNyb3NzIHZh
cmlvdXMgc2l0ZXMuCgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNvbXB1
dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lvbiBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjpnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKToKKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQpOgoo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlh
Um9sZSBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0Lmg6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNJbXBs
aWNpdEdlbmVyaWNSb2xlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgotLS0KIC4uLi9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCB8ICAzIC0tCiAuLi4vYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAgICAgfCA0MiArKysrKysrKysrKysr
LS0tLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggICAgICAgfCAg
MyArLQogLi4uL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgICAgICAgICAgIHwgIDQg
LS0KIDQgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcAppbmRleCBhOTUwYmYzYjc2MmQuLmU3YmUwZTAzOTA0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdC5jcHAKQEAgLTY1NSw5ICs2NTUsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6
SWdub3JlT2JqZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAvLyBJZiB0aGlzIGVsZW1l
bnQgaXMgd2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRyZW4sIGl0IHNob3Vs
ZCBub3QgYmUgZXhwb3NlZC4KLSAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQoKSkK
LSAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBhdXRvIHJvbGUgPSByb2xlVmFsdWUoKTsKICAg
ICByZXR1cm4gcm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZCB8fCByb2xlID09IEFj
Y2Vzc2liaWxpdHlSb2xlOjpVbmtub3duOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggYzNhOWJlNWYzNjkyLi5jMjU4
YWQ0Y2EwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMzk2MSwxMSArMzk2MSwxOSBAQCBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNp
b24oKSBjb25zdAogICAgIH0KIAogICAgIGJvb2wgdXNlUGFyZW50RGF0YSA9ICFtX2lzSWdub3Jl
ZEZyb21QYXJlbnREYXRhLmlzTnVsbCgpOwotICAgIGlmICh1c2VQYXJlbnREYXRhID8gbV9pc0ln
bm9yZWRGcm9tUGFyZW50RGF0YS5pc0FYSGlkZGVuIDogaXNBWEhpZGRlbigpKQorICAgIGlmICh1
c2VQYXJlbnREYXRhICYmIChtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gfHwg
bV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xl
KSkKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9i
amVjdDsKIAotICAgIGlmICh1c2VQYXJlbnREYXRhID8gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0
YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIDogaXNQcmVzZW50YXRpb25hbENoaWxk
T2ZBcmlhUm9sZSgpKQotICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lv
bjo6SWdub3JlT2JqZWN0OworICAgIGZvciAoYXV0byogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBv
YmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7CisgICAgICAgIGlmIChvYmplY3QgIT0g
dGhpcyAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJldHVybiBB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CisKKyAgICAgICAgaWYg
KG9iamVjdCAhPSB0aGlzICYmIG9iamVjdC0+YXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxk
cmVuKCkpCisgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6
SWdub3JlT2JqZWN0OworCisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShvYmplY3QtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9i
amVjdC0+aXNGb2N1c2VkKCkgJiYgIWlzRm9jdXNlZCgpKQorICAgICAgICAgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKyAgICB9CiAKICAgICAv
LyBJbmNsdWRlIDxkaWFsb2c+IGVsZW1lbnRzIGFuZCBlbGVtZW50cyB3aXRoIHJvbGU9ImRpYWxv
ZyIuCiAgICAgaWYgKHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlv
bkRpYWxvZykKQEAgLTQzMjQsMTEgKzQzMzIsMjQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0
OjphcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdAogICAgIH0KIH0KIAot
Ym9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xl
KCkgY29uc3QKK0FjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBBY2Nlc3NpYmls
aXR5T2JqZWN0OjpnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlP
YmplY3QqIGNoaWxkKQogewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3Io
KnRoaXMsIGZhbHNlLCBbXSAoY29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJu
IGFuY2VzdG9yLmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOwor
ICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSByZXN1bHQgPSBBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEodGhpcyk7CisgICAgZm9yIChBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3QgPSBjaGlsZDsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnBhcmVu
dE9iamVjdCgpKSB7CisgICAgICAgIGlmIChvYmplY3QgIT0gY2hpbGQgJiYgIW9iamVjdC0+Y2Fu
SGF2ZUNoaWxkcmVuKCkpCisgICAgICAgICAgICByZXN1bHQuaXNEZXNjZW5kYW50T2ZCYXJyZW5Q
YXJlbnQgPSB0cnVlOworCisgICAgICAgIGlmIChvYmplY3QgIT0gY2hpbGQgJiYgb2JqZWN0LT5h
cmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJlc3VsdC5p
c1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gdHJ1ZTsKKworICAgICAgICBpZiAoZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uob2JqZWN0LT5nZXRBdHRyaWJ1dGUoYXJpYV9oaWRk
ZW5BdHRyKSwgInRydWUiX3MpICYmICFvYmplY3QtPmlzRm9jdXNlZCgpICYmICFjaGlsZC0+aXNG
b2N1c2VkKCkpCisgICAgICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IHRydWU7CisKKyAgICAg
ICAgaWYgKHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCAmJiByZXN1bHQuaXNQcmVz
ZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSAmJiByZXN1bHQuaXNBWEhpZGRlbikKKyAgICAgICAg
ICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgQWNjZXNz
aWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBjaGlsZCkKQEAgLTQzNDEsMTEgKzQzNjIsOCBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJp
bGl0eU9iamVjdAogICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IChtX2lzSWdub3JlZEZyb21Q
YXJlbnREYXRhLmlzQVhIaWRkZW4gfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoY2hp
bGQtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykpICYmICFjaGlsZC0+
aXNGb2N1c2VkKCk7CiAgICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlID0gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFy
aWFSb2xlIHx8IGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwogICAgICAgICBy
ZXN1bHQuaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgPSBtX2lzSWdub3JlZEZyb21QYXJlbnRE
YXRhLmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50IHx8ICFjYW5IYXZlQ2hpbGRyZW4oKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IGNoaWxkLT5pc0FYSGlkZGVu
KCk7Ci0gICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gY2hp
bGQtPmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKTsKLSAgICAgICAgcmVzdWx0Lmlz
RGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gY2hpbGQtPmlzRGVzY2VuZGFudE9mQmFycmVuUGFy
ZW50KCk7Ci0gICAgfQorICAgIH0gZWxzZQorICAgICAgICByZXN1bHQgPSBnZW5lcmF0ZUlzSWdu
b3JlZEZyb21QYXJlbnREYXRhKGNoaWxkKTsKIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShyZXN1bHQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA5ZDNlYjBhMGFjNjcuLjU5MGM2ZjZjNGZh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKQEAgLTM2MSw3ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3Np
YmlsaXR5Um9sZSBhcmlhUm9sZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxp
dHlSb2xlOjpVbmtub3duOyB9CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29u
c3QgeyByZXR1cm4gYXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2Vu
ZXJpYzsgfQogICAgIGJvb2wgaGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJu
IHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNp
dEdlbmVyaWNSb2xlKCk7IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJv
bGUoKSBjb25zdDsKICAgICBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigp
IGNvbnN0OwogICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQogCkBAIC04MjgsNiArODI3LDggQEAgcHJpdmF0ZToKICAg
ICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVu
KCk7CiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFTZWxlY3RlZFJvd3MoKTsK
IAorICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBnZW5lcmF0ZUlzSWdu
b3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKwogICAgIC8vIFNwZWNp
YWwgaGFuZGxpbmcgb2YgY2xpY2sgcG9pbnQgZm9yIGxpbmtzLgogICAgIEludFBvaW50IGxpbmtD
bGlja1BvaW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDAwYWI1ZjMzNmQxZS4uZjdk
OWY2ODIwZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjYsMTAgKzEwNjYsNiBAQCBi
b29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25v
cmVkKCkgY29uc3QKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1
c2lvbjo6SWdub3JlT2JqZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIHRo
aXMgZWxlbWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwg
aXQgc2hvdWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBh
cmVudCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsgICAgCi0KICAgICBpZiAocm9sZVZhbHVlKCkg
PT0gQWNjZXNzaWJpbGl0eVJvbGU6Oklnbm9yZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468093</attachid>
            <date>2023-10-06 10:57:47 -0700</date>
            <delta_ts>2023-10-06 13:05:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231006105746.patch</filename>
            <type>text/plain</type>
            <size>8989</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSAyMzY4YWRmZWZjMzY3YjBjOWVlMjAwN2FlNWZmNTllMTQ0ODc1NzUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpkZWZhdWx0T2JqZWN0SW5jbHVzaW9uIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEpOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZCk6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc0ltcGxp
Y2l0R2VuZXJpY1JvbGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6Ci0tLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgIDMgLS0KIC4uLi9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8IDUxICsrKysrKysrKysrKysr
LS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICB8ICAz
ICstCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgNCAt
LQogNCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwCmluZGV4IGE5NTBiZjNiNzYyZC4uZTdiZTBlMDM5MDQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcApAQCAtNjU1LDkgKzY1NSw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJ
Z25vcmVPYmplY3QpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIC8vIElmIHRoaXMgZWxlbWVu
dCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxk
IG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGF1dG8gcm9sZSA9IHJvbGVWYWx1ZSgpOwogICAg
IHJldHVybiByb2xlID09IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25vcmVkIHx8IHJvbGUgPT0gQWNj
ZXNzaWJpbGl0eVJvbGU6OlVua25vd247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjM2E5YmU1ZjM2OTIuLjU3NGI4
YzA2ZDkzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCkBAIC0zOTYxLDE3ICszOTYxLDMyIEBAIEFjY2Vzc2liaWxpdHlP
YmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lv
bigpIGNvbnN0CiAgICAgfQogCiAgICAgYm9vbCB1c2VQYXJlbnREYXRhID0gIW1faXNJZ25vcmVk
RnJvbVBhcmVudERhdGEuaXNOdWxsKCk7Ci0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdu
b3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gOiBpc0FYSGlkZGVuKCkpCisgICAgaWYgKHVz
ZVBhcmVudERhdGEgJiYgKG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiB8fCBt
X2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUp
KQogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2Jq
ZWN0OwogCi0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRh
LmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgOiBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRP
ZkFyaWFSb2xlKCkpCi0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
OjpJZ25vcmVPYmplY3Q7CisgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IGZh
bHNlOworICAgIGZvciAoYXV0byogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmpl
Y3QtPnBhcmVudE9iamVjdCgpKSB7CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShvYmplY3QtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykg
JiYgIW9iamVjdC0+aXNGb2N1c2VkKCkgJiYgIWlzRm9jdXNlZCgpKQorICAgICAgICAgICAgcmV0
dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKworICAgICAg
ICBpZiAob2JqZWN0ICE9IHRoaXMgJiYgb2JqZWN0LT5hcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFs
Q2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVz
aW9uOjpJZ25vcmVPYmplY3Q7CisKKyAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBoaWRkZW4gJiBh
cmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4gdGFrZSBwcmVjZWRlbmNlIG92ZXIgaXNE
ZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQsCisgICAgICAgIC8vIGJ1dCB3ZSBzaG91bGQgdGFrZSBh
ZHZhbnRhZ2Ugb2YgdGhpcyB0cmF2ZXJzYWwgYW5kIGNhbGN1bGF0ZSBpdCBhcyB3ZWxsIChidXQg
bm90IHJldHVybiBpbW1lZGlhdGVseSkuCisgICAgICAgIGlmIChvYmplY3QgIT0gdGhpcyAmJiAh
b2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIGlzRGVzY2VuZGFudE9mQmFy
cmVuUGFyZW50ID0gdHJ1ZTsKKyAgICB9CiAKICAgICAvLyBJbmNsdWRlIDxkaWFsb2c+IGVsZW1l
bnRzIGFuZCBlbGVtZW50cyB3aXRoIHJvbGU9ImRpYWxvZyIuCiAgICAgaWYgKHJvbGVWYWx1ZSgp
ID09IEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvbkRpYWxvZykKICAgICAgICAgcmV0dXJu
IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246OkluY2x1ZGVPYmplY3Q7CiAKLSAgICByZXR1
cm4gYWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKTsKKyAgICBhdXRvIHBsYXRm
b3JtSW5jbHVkZXNPYmplY3QgPSBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgp
OworICAgIGlmIChwbGF0Zm9ybUluY2x1ZGVzT2JqZWN0ID09IEFjY2Vzc2liaWxpdHlPYmplY3RJ
bmNsdXNpb246OkRlZmF1bHRCZWhhdmlvciAmJiBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCkK
KyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVj
dDsKKworICAgIHJldHVybiBwbGF0Zm9ybUluY2x1ZGVzT2JqZWN0OwogfQogICAgIAogYm9vbCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKQEAgLTQz
MjQsMTEgKzQzMzksMjQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhUm9sZUhhc1By
ZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdAogICAgIH0KIH0KIAotYm9vbCBBY2Nlc3NpYmls
aXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkgY29uc3QKK0FjY2Vz
c2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpnZW5l
cmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNoaWxkKQog
ewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3IoKnRoaXMsIGZhbHNlLCBb
XSAoY29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmFyaWFS
b2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOworICAgIEFjY2Vzc2liaWxp
dHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSByZXN1bHQgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEodGhpcyk7CisgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QgPSBjaGlsZDsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7Cisg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShvYmplY3QtPmdldEF0dHJp
YnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC0+aXNGb2N1c2VkKCkg
JiYgIWNoaWxkLT5pc0ZvY3VzZWQoKSkKKyAgICAgICAgICAgIHJlc3VsdC5pc0FYSGlkZGVuID0g
dHJ1ZTsKKworICAgICAgICBpZiAob2JqZWN0ICE9IGNoaWxkICYmIG9iamVjdC0+YXJpYVJvbGVI
YXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkpCisgICAgICAgICAgICByZXN1bHQuaXNQcmVzZW50
YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IHRydWU7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSBj
aGlsZCAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJlc3VsdC5p
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IHRydWU7CisKKyAgICAgICAgaWYgKHJlc3VsdC5p
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCAmJiByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxk
T2ZBcmlhUm9sZSAmJiByZXN1bHQuaXNBWEhpZGRlbikKKyAgICAgICAgICAgIGJyZWFrOworICAg
IH0KKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6
c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
aGlsZCkKQEAgLTQzNDEsMTEgKzQzNjksOCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNl
dElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdAogICAg
ICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IChtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhI
aWRkZW4gfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoY2hpbGQtPmdldEF0dHJpYnV0
ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykpICYmICFjaGlsZC0+aXNGb2N1c2VkKCk7CiAg
ICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gbV9pc0lnbm9y
ZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIHx8IGFyaWFS
b2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwogICAgICAgICByZXN1bHQuaXNEZXNjZW5k
YW50T2ZCYXJyZW5QYXJlbnQgPSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzRGVzY2VuZGFu
dE9mQmFycmVuUGFyZW50IHx8ICFjYW5IYXZlQ2hpbGRyZW4oKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IGNoaWxkLT5pc0FYSGlkZGVuKCk7Ci0gICAgICAgIHJl
c3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gY2hpbGQtPmlzUHJlc2VudGF0
aW9uYWxDaGlsZE9mQXJpYVJvbGUoKTsKLSAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFy
cmVuUGFyZW50ID0gY2hpbGQtPmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50KCk7Ci0gICAgfQor
ICAgIH0gZWxzZQorICAgICAgICByZXN1bHQgPSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnRE
YXRhKGNoaWxkKTsKIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShyZXN1
bHQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAppbmRleCA5ZDNlYjBhMGFjNjcuLjU5MGM2ZjZjNGZhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTM2
MSw3ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSBhcmlh
Um9sZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxpdHlSb2xlOjpVbmtub3du
OyB9CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29uc3QgeyByZXR1cm4gYXJp
YVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYzsgfQogICAgIGJv
b2wgaGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCk7
IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdDsKICAg
ICBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0OwogICAgIGJv
b2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQogCkBAIC04MjgsNiArODI3LDggQEAgcHJpdmF0ZToKICAgICBBY2Nlc3NpYmlsaXR5
Q2hpbGRyZW5WZWN0b3IgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVuKCk7CiAgICAgQWNjZXNz
aWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFTZWxlY3RlZFJvd3MoKTsKIAorICAgIEFjY2Vzc2li
aWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnRE
YXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKwogICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgb2Yg
Y2xpY2sgcG9pbnQgZm9yIGxpbmtzLgogICAgIEludFBvaW50IGxpbmtDbGlja1BvaW50KCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDAwYWI1ZjMzNmQxZS4uZjdkOWY2ODIwZWFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjYsMTAgKzEwNjYsNiBAQCBib29sIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAg
ICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2Jq
ZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3
aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBi
ZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsgICAgCi0KICAgICBpZiAocm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0
eVJvbGU6Oklnbm9yZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468095</attachid>
            <date>2023-10-06 13:05:04 -0700</date>
            <delta_ts>2023-10-06 13:13:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231006130503.patch</filename>
            <type>text/plain</type>
            <size>9004</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSA4NWFjMmRjZDE4NWRmZGQyNGY5YTc0ZjhmOTA1NmYwMmRhYmIwMTMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpkZWZhdWx0T2JqZWN0SW5jbHVzaW9uIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEpOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZCk6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc0ltcGxp
Y2l0R2VuZXJpY1JvbGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6Ci0tLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgIDMgLS0KIC4uLi9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8IDUxICsrKysrKysrKysrKysr
LS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICB8ICAz
ICstCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgNCAt
LQogNCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwCmluZGV4IGE5NTBiZjNiNzYyZC4uZTdiZTBlMDM5MDQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcApAQCAtNjU1LDkgKzY1NSw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJ
Z25vcmVPYmplY3QpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIC8vIElmIHRoaXMgZWxlbWVu
dCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxk
IG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGF1dG8gcm9sZSA9IHJvbGVWYWx1ZSgpOwogICAg
IHJldHVybiByb2xlID09IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25vcmVkIHx8IHJvbGUgPT0gQWNj
ZXNzaWJpbGl0eVJvbGU6OlVua25vd247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjM2E5YmU1ZjM2OTIuLjk5MmRm
ZDU3MjBlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCkBAIC0zOTYxLDE3ICszOTYxLDMyIEBAIEFjY2Vzc2liaWxpdHlP
YmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lv
bigpIGNvbnN0CiAgICAgfQogCiAgICAgYm9vbCB1c2VQYXJlbnREYXRhID0gIW1faXNJZ25vcmVk
RnJvbVBhcmVudERhdGEuaXNOdWxsKCk7Ci0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdu
b3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gOiBpc0FYSGlkZGVuKCkpCisgICAgaWYgKHVz
ZVBhcmVudERhdGEgJiYgKG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiB8fCBt
X2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUp
KQogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2Jq
ZWN0OwogCi0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRh
LmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgOiBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRP
ZkFyaWFSb2xlKCkpCi0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
OjpJZ25vcmVPYmplY3Q7CisgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IGZh
bHNlOworICAgIGZvciAoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gdGhpczsgb2JqZWN0
OyBvYmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7CisgICAgICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShvYmplY3QtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0
dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC0+aXNGb2N1c2VkKCkgJiYgIWlzRm9jdXNlZCgpKQor
ICAgICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9i
amVjdDsKKworICAgICAgICBpZiAob2JqZWN0ICE9IHRoaXMgJiYgb2JqZWN0LT5hcmlhUm9sZUhh
c1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CisKKyAgICAgICAgLy8gVGhlIHJlc3Vs
dCBvZiBoaWRkZW4gJiBhcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4gdGFrZSBwcmVj
ZWRlbmNlIG92ZXIgaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQsCisgICAgICAgIC8vIGJ1dCB3
ZSBzaG91bGQgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhpcyB0cmF2ZXJzYWwgYW5kIGNhbGN1bGF0ZSBp
dCBhcyB3ZWxsIChidXQgbm90IHJldHVybiBpbW1lZGlhdGVseSkuCisgICAgICAgIGlmIChvYmpl
Y3QgIT0gdGhpcyAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIGlz
RGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gdHJ1ZTsKKyAgICB9CiAKICAgICAvLyBJbmNsdWRl
IDxkaWFsb2c+IGVsZW1lbnRzIGFuZCBlbGVtZW50cyB3aXRoIHJvbGU9ImRpYWxvZyIuCiAgICAg
aWYgKHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvbkRpYWxvZykK
ICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246OkluY2x1ZGVPYmpl
Y3Q7CiAKLSAgICByZXR1cm4gYWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKTsK
KyAgICBhdXRvIHBsYXRmb3JtSW5jbHVkZXNPYmplY3QgPSBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1J
bmNsdWRlc09iamVjdCgpOworICAgIGlmIChwbGF0Zm9ybUluY2x1ZGVzT2JqZWN0ID09IEFjY2Vz
c2liaWxpdHlPYmplY3RJbmNsdXNpb246OkRlZmF1bHRCZWhhdmlvciAmJiBpc0Rlc2NlbmRhbnRP
ZkJhcnJlblBhcmVudCkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNp
b246Oklnbm9yZU9iamVjdDsKKworICAgIHJldHVybiBwbGF0Zm9ybUluY2x1ZGVzT2JqZWN0Owog
fQogICAgIAogYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkgY29uc3QKQEAgLTQzMjQsMTEgKzQzMzksMjQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0
OjphcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdAogICAgIH0KIH0KIAot
Ym9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xl
KCkgY29uc3QKK0FjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBBY2Nlc3NpYmls
aXR5T2JqZWN0OjpnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlP
YmplY3QqIGNoaWxkKQogewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3Io
KnRoaXMsIGZhbHNlLCBbXSAoY29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJu
IGFuY2VzdG9yLmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOwor
ICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSByZXN1bHQgPSBBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEodGhpcyk7CisgICAgZm9yIChBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3QgPSBjaGlsZDsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnBhcmVu
dE9iamVjdCgpKSB7CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShv
YmplY3QtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVj
dC0+aXNGb2N1c2VkKCkgJiYgIWNoaWxkLT5pc0ZvY3VzZWQoKSkKKyAgICAgICAgICAgIHJlc3Vs
dC5pc0FYSGlkZGVuID0gdHJ1ZTsKKworICAgICAgICBpZiAob2JqZWN0ICE9IGNoaWxkICYmIG9i
amVjdC0+YXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkpCisgICAgICAgICAgICBy
ZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IHRydWU7CisKKyAgICAgICAg
aWYgKG9iamVjdCAhPSBjaGlsZCAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAg
ICAgICAgIHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IHRydWU7CisKKyAgICAg
ICAgaWYgKHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCAmJiByZXN1bHQuaXNQcmVz
ZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSAmJiByZXN1bHQuaXNBWEhpZGRlbikKKyAgICAgICAg
ICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgQWNjZXNz
aWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBjaGlsZCkKQEAgLTQzNDEsMTEgKzQzNjksOCBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJp
bGl0eU9iamVjdAogICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IChtX2lzSWdub3JlZEZyb21Q
YXJlbnREYXRhLmlzQVhIaWRkZW4gfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoY2hp
bGQtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykpICYmICFjaGlsZC0+
aXNGb2N1c2VkKCk7CiAgICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlID0gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFy
aWFSb2xlIHx8IGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwogICAgICAgICBy
ZXN1bHQuaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgPSBtX2lzSWdub3JlZEZyb21QYXJlbnRE
YXRhLmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50IHx8ICFjYW5IYXZlQ2hpbGRyZW4oKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IGNoaWxkLT5pc0FYSGlkZGVu
KCk7Ci0gICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gY2hp
bGQtPmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKTsKLSAgICAgICAgcmVzdWx0Lmlz
RGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gY2hpbGQtPmlzRGVzY2VuZGFudE9mQmFycmVuUGFy
ZW50KCk7Ci0gICAgfQorICAgIH0gZWxzZQorICAgICAgICByZXN1bHQgPSBnZW5lcmF0ZUlzSWdu
b3JlZEZyb21QYXJlbnREYXRhKGNoaWxkKTsKIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShyZXN1bHQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA5ZDNlYjBhMGFjNjcuLjU5MGM2ZjZjNGZh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKQEAgLTM2MSw3ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3Np
YmlsaXR5Um9sZSBhcmlhUm9sZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxp
dHlSb2xlOjpVbmtub3duOyB9CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29u
c3QgeyByZXR1cm4gYXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2Vu
ZXJpYzsgfQogICAgIGJvb2wgaGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJu
IHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNp
dEdlbmVyaWNSb2xlKCk7IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJv
bGUoKSBjb25zdDsKICAgICBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigp
IGNvbnN0OwogICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQogCkBAIC04MjgsNiArODI3LDggQEAgcHJpdmF0ZToKICAg
ICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVu
KCk7CiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFTZWxlY3RlZFJvd3MoKTsK
IAorICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBnZW5lcmF0ZUlzSWdu
b3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKwogICAgIC8vIFNwZWNp
YWwgaGFuZGxpbmcgb2YgY2xpY2sgcG9pbnQgZm9yIGxpbmtzLgogICAgIEludFBvaW50IGxpbmtD
bGlja1BvaW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDAwYWI1ZjMzNmQxZS4uZjdk
OWY2ODIwZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjYsMTAgKzEwNjYsNiBAQCBi
b29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25v
cmVkKCkgY29uc3QKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1
c2lvbjo6SWdub3JlT2JqZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIHRo
aXMgZWxlbWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwg
aXQgc2hvdWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBh
cmVudCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsgICAgCi0KICAgICBpZiAocm9sZVZhbHVlKCkg
PT0gQWNjZXNzaWJpbGl0eVJvbGU6Oklnbm9yZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468096</attachid>
            <date>2023-10-06 13:13:35 -0700</date>
            <delta_ts>2023-10-06 14:34:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231006131334.patch</filename>
            <type>text/plain</type>
            <size>9726</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBkYTk0NTZkNTkzNzNlNjc0NjY2MzkzMjI4NzAxZDhiOGZlYTExYzA5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpkZWZhdWx0T2JqZWN0SW5jbHVzaW9uIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEpOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZCk6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc0ltcGxp
Y2l0R2VuZXJpY1JvbGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6Ci0tLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgIDMgLS0KIC4uLi9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8IDUxICsrKysrKysrKysrKysr
LS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICB8ICAz
ICstCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgNCAt
LQogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCAgICAgICAgIHwgIDEgKwog
NSBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwCmluZGV4IGE5NTBiZjNiNzYyZC4uZTdiZTBlMDM5MDQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmNwcApAQCAtNjU1LDkgKzY1NSw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNv
bXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25v
cmVPYmplY3QpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIC8vIElmIHRoaXMgZWxlbWVudCBp
cyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5v
dCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGF1dG8gcm9sZSA9IHJvbGVWYWx1ZSgpOwogICAgIHJl
dHVybiByb2xlID09IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25vcmVkIHx8IHJvbGUgPT0gQWNjZXNz
aWJpbGl0eVJvbGU6OlVua25vd247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjM2E5YmU1ZjM2OTIuLjU3NGI4YzA2
ZDkzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCkBAIC0zOTYxLDE3ICszOTYxLDMyIEBAIEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lvbigp
IGNvbnN0CiAgICAgfQogCiAgICAgYm9vbCB1c2VQYXJlbnREYXRhID0gIW1faXNJZ25vcmVkRnJv
bVBhcmVudERhdGEuaXNOdWxsKCk7Ci0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3Jl
ZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gOiBpc0FYSGlkZGVuKCkpCisgICAgaWYgKHVzZVBh
cmVudERhdGEgJiYgKG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiB8fCBtX2lz
SWdub3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUpKQog
ICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0
OwogCi0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlz
UHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgOiBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFy
aWFSb2xlKCkpCi0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJ
Z25vcmVPYmplY3Q7CisgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IGZhbHNl
OworICAgIGZvciAoYXV0byogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3Qt
PnBhcmVudE9iamVjdCgpKSB7CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShvYmplY3QtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYg
IW9iamVjdC0+aXNGb2N1c2VkKCkgJiYgIWlzRm9jdXNlZCgpKQorICAgICAgICAgICAgcmV0dXJu
IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKworICAgICAgICBp
ZiAob2JqZWN0ICE9IHRoaXMgJiYgb2JqZWN0LT5hcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hp
bGRyZW4oKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
OjpJZ25vcmVPYmplY3Q7CisKKyAgICAgICAgLy8gVGhlIHJlc3VsdCBvZiBoaWRkZW4gJiBhcmlh
Um9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4gdGFrZSBwcmVjZWRlbmNlIG92ZXIgaXNEZXNj
ZW5kYW50T2ZCYXJyZW5QYXJlbnQsCisgICAgICAgIC8vIGJ1dCB3ZSBzaG91bGQgdGFrZSBhZHZh
bnRhZ2Ugb2YgdGhpcyB0cmF2ZXJzYWwgYW5kIGNhbGN1bGF0ZSBpdCBhcyB3ZWxsIChidXQgbm90
IHJldHVybiBpbW1lZGlhdGVseSkuCisgICAgICAgIGlmIChvYmplY3QgIT0gdGhpcyAmJiAhb2Jq
ZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIGlzRGVzY2VuZGFudE9mQmFycmVu
UGFyZW50ID0gdHJ1ZTsKKyAgICB9CiAKICAgICAvLyBJbmNsdWRlIDxkaWFsb2c+IGVsZW1lbnRz
IGFuZCBlbGVtZW50cyB3aXRoIHJvbGU9ImRpYWxvZyIuCiAgICAgaWYgKHJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvbkRpYWxvZykKICAgICAgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246OkluY2x1ZGVPYmplY3Q7CiAKLSAgICByZXR1cm4g
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKTsKKyAgICBhdXRvIHBsYXRmb3Jt
SW5jbHVkZXNPYmplY3QgPSBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpOwor
ICAgIGlmIChwbGF0Zm9ybUluY2x1ZGVzT2JqZWN0ID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNs
dXNpb246OkRlZmF1bHRCZWhhdmlvciAmJiBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCkKKyAg
ICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsK
KworICAgIHJldHVybiBwbGF0Zm9ybUluY2x1ZGVzT2JqZWN0OwogfQogICAgIAogYm9vbCBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKQEAgLTQzMjQs
MTEgKzQzMzksMjQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhUm9sZUhhc1ByZXNl
bnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdAogICAgIH0KIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5
T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkgY29uc3QKK0FjY2Vzc2li
aWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpnZW5lcmF0
ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNoaWxkKQogewot
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3IoKnRoaXMsIGZhbHNlLCBbXSAo
Y29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmFyaWFSb2xl
SGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOworICAgIEFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWRGcm9tUGFyZW50RGF0YSByZXN1bHQgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJv
bVBhcmVudERhdGEodGhpcyk7CisgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3Qg
PSBjaGlsZDsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7CisgICAg
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShvYmplY3QtPmdldEF0dHJpYnV0
ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC0+aXNGb2N1c2VkKCkgJiYg
IWNoaWxkLT5pc0ZvY3VzZWQoKSkKKyAgICAgICAgICAgIHJlc3VsdC5pc0FYSGlkZGVuID0gdHJ1
ZTsKKworICAgICAgICBpZiAob2JqZWN0ICE9IGNoaWxkICYmIG9iamVjdC0+YXJpYVJvbGVIYXNQ
cmVzZW50YXRpb25hbENoaWxkcmVuKCkpCisgICAgICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRp
b25hbENoaWxkT2ZBcmlhUm9sZSA9IHRydWU7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSBjaGls
ZCAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJlc3VsdC5pc0Rl
c2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IHRydWU7CisKKyAgICAgICAgaWYgKHJlc3VsdC5pc0Rl
c2NlbmRhbnRPZkJhcnJlblBhcmVudCAmJiByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZB
cmlhUm9sZSAmJiByZXN1bHQuaXNBWEhpZGRlbikKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0K
KworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2V0
SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjaGls
ZCkKQEAgLTQzNDEsMTEgKzQzNjksOCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElz
SWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdAogICAgICAg
ICByZXN1bHQuaXNBWEhpZGRlbiA9IChtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRk
ZW4gfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoY2hpbGQtPmdldEF0dHJpYnV0ZShh
cmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykpICYmICFjaGlsZC0+aXNGb2N1c2VkKCk7CiAgICAg
ICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gbV9pc0lnbm9yZWRG
cm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIHx8IGFyaWFSb2xl
SGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwogICAgICAgICByZXN1bHQuaXNEZXNjZW5kYW50
T2ZCYXJyZW5QYXJlbnQgPSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzRGVzY2VuZGFudE9m
QmFycmVuUGFyZW50IHx8ICFjYW5IYXZlQ2hpbGRyZW4oKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICByZXN1bHQuaXNBWEhpZGRlbiA9IGNoaWxkLT5pc0FYSGlkZGVuKCk7Ci0gICAgICAgIHJlc3Vs
dC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gY2hpbGQtPmlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUoKTsKLSAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVu
UGFyZW50ID0gY2hpbGQtPmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50KCk7Ci0gICAgfQorICAg
IH0gZWxzZQorICAgICAgICByZXN1bHQgPSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRh
KGNoaWxkKTsKIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShyZXN1bHQp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaAppbmRleCA5ZDNlYjBhMGFjNjcuLjU5MGM2ZjZjNGZhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTM2MSw3
ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSBhcmlhUm9s
ZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxpdHlSb2xlOjpVbmtub3duOyB9
CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29uc3QgeyByZXR1cm4gYXJpYVJv
bGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYzsgfQogICAgIGJvb2wg
aGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFj
Y2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCk7IH0K
LSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdDsKICAgICBi
b29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0OwogICAgIGJvb2wg
aW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQogCkBAIC04MjgsNiArODI3LDggQEAgcHJpdmF0ZToKICAgICBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3IgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVuKCk7CiAgICAgQWNjZXNzaWJp
bGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFTZWxlY3RlZFJvd3MoKTsKIAorICAgIEFjY2Vzc2liaWxp
dHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRh
KEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKwogICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgb2YgY2xp
Y2sgcG9pbnQgZm9yIGxpbmtzLgogICAgIEludFBvaW50IGxpbmtDbGlja1BvaW50KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwCmluZGV4IDAwYWI1ZjMzNmQxZS4uZjdkOWY2ODIwZWFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAKQEAgLTEwNjYsMTAgKzEwNjYsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICBp
ZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3aXRo
aW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBiZSBl
eHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsgICAgCi0KICAgICBpZiAocm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJv
bGU6Oklnbm9yZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuY3BwCmluZGV4IGM3N2UyYmQ4Yjk4Ni4uOTRjY2M5MDFlNjE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmNwcApAQCAtNzE1LDYgKzcxNSw3IEBAIHZvaWQgQVhJc29sYXRlZE9iamVjdDo6
c2V0Rm9jdXNlZChib29sIHZhbHVlKQogCiBTdHJpbmcgQVhJc29sYXRlZE9iamVjdDo6c2VsZWN0
ZWRUZXh0KCkgY29uc3QKIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkpESDogc2VsZWN0ZWRUZXh0
IGNhbGxlZFxuIik7CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9t
TWFpblRocmVhZDxTdHJpbmc+KFt0aGlzXSAoKSAtPiBTdHJpbmcgewogICAgICAgICBpZiAoYXV0
byogb2JqZWN0ID0gYXNzb2NpYXRlZEFYT2JqZWN0KCkpCiAgICAgICAgICAgICByZXR1cm4gb2Jq
ZWN0LT5zZWxlY3RlZFRleHQoKS5pc29sYXRlZENvcHkoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468098</attachid>
            <date>2023-10-06 14:34:32 -0700</date>
            <delta_ts>2023-10-06 15:28:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231006143431.patch</filename>
            <type>text/plain</type>
            <size>7952</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBkNTYyYTlmZjU2ZWQ2NzBkMTMzMmVkOTliM2M1NThjMjBjMjBjYWE5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpkZWZhdWx0T2JqZWN0SW5jbHVzaW9uIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEpOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZCk6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc0ltcGxp
Y2l0R2VuZXJpY1JvbGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6Ci0tLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgIDEgKwogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgICAgIHwgMzkgKysrKysrKysrKysrKy0t
LS0tLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oICAgICAgIHwgIDMg
Ky0KIC4uLi9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAgICAgICAgICAgICB8ICAyICst
CiA0IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHAKaW5kZXggYTk1MGJmM2I3NjJkLi5jOTJjN2U3YjNkMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3QuY3BwCkBAIC02NTUsNiArNjU1LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6
Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKGRlY2lzaW9uID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Okln
bm9yZU9iamVjdCkKICAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICAvLyBJZiB0aGlzIGVsZW1l
bnQgaXMgd2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRyZW4sIGl0IHNob3Vs
ZCBub3QgYmUgZXhwb3NlZC4KICAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjM2E5YmU1ZjM2OTIuLjhlNDlkYTU5
YmNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCkBAIC0zOTYxLDExICszOTYxLDE2IEBAIEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lvbigp
IGNvbnN0CiAgICAgfQogCiAgICAgYm9vbCB1c2VQYXJlbnREYXRhID0gIW1faXNJZ25vcmVkRnJv
bVBhcmVudERhdGEuaXNOdWxsKCk7Ci0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3Jl
ZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gOiBpc0FYSGlkZGVuKCkpCisgICAgaWYgKHVzZVBh
cmVudERhdGEgJiYgKG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiB8fCBtX2lz
SWdub3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUpKQog
ICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0
OwogCi0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlz
UHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgOiBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFy
aWFSb2xlKCkpCi0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJ
Z25vcmVPYmplY3Q7CisgICAgZm9yIChhdXRvKiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7IG9iamVj
dCA9IG9iamVjdC0+cGFyZW50T2JqZWN0KCkpIHsKKyAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKG9iamVjdC0+Z2V0QXR0cmlidXRlKGFyaWFfaGlkZGVuQXR0ciksICJ0
cnVlIl9zKSAmJiAhb2JqZWN0LT5pc0ZvY3VzZWQoKSAmJiAhaXNGb2N1c2VkKCkpCisgICAgICAg
ICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0Owor
CisgICAgICAgIGlmIChvYmplY3QgIT0gdGhpcyAmJiBvYmplY3QtPmFyaWFSb2xlSGFzUHJlc2Vu
dGF0aW9uYWxDaGlsZHJlbigpKQorICAgICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKyAgICB9CiAKICAgICAvLyBJbmNsdWRlIDxkaWFs
b2c+IGVsZW1lbnRzIGFuZCBlbGVtZW50cyB3aXRoIHJvbGU9ImRpYWxvZyIuCiAgICAgaWYgKHJv
bGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvbkRpYWxvZykKQEAgLTQz
MjQsMTEgKzQzMjksMjQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhUm9sZUhhc1By
ZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdAogICAgIH0KIH0KIAotYm9vbCBBY2Nlc3NpYmls
aXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkgY29uc3QKK0FjY2Vz
c2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpnZW5l
cmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNoaWxkKQog
ewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3IoKnRoaXMsIGZhbHNlLCBb
XSAoY29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmFyaWFS
b2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOworICAgIEFjY2Vzc2liaWxp
dHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSByZXN1bHQgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEodGhpcyk7CisgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QgPSBjaGlsZDsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7Cisg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShvYmplY3QtPmdldEF0dHJp
YnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC0+aXNGb2N1c2VkKCkg
JiYgIWNoaWxkLT5pc0ZvY3VzZWQoKSkKKyAgICAgICAgICAgIHJlc3VsdC5pc0FYSGlkZGVuID0g
dHJ1ZTsKKworICAgICAgICBpZiAob2JqZWN0ICE9IGNoaWxkICYmIG9iamVjdC0+YXJpYVJvbGVI
YXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkpCisgICAgICAgICAgICByZXN1bHQuaXNQcmVzZW50
YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IHRydWU7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSBj
aGlsZCAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJlc3VsdC5p
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IHRydWU7CisKKyAgICAgICAgaWYgKHJlc3VsdC5p
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCAmJiByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxk
T2ZBcmlhUm9sZSAmJiByZXN1bHQuaXNBWEhpZGRlbikKKyAgICAgICAgICAgIGJyZWFrOworICAg
IH0KKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6
c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
aGlsZCkKQEAgLTQzNDEsMTEgKzQzNTksOCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNl
dElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdAogICAg
ICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IChtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhI
aWRkZW4gfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoY2hpbGQtPmdldEF0dHJpYnV0
ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykpICYmICFjaGlsZC0+aXNGb2N1c2VkKCk7CiAg
ICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gbV9pc0lnbm9y
ZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIHx8IGFyaWFS
b2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwogICAgICAgICByZXN1bHQuaXNEZXNjZW5k
YW50T2ZCYXJyZW5QYXJlbnQgPSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzRGVzY2VuZGFu
dE9mQmFycmVuUGFyZW50IHx8ICFjYW5IYXZlQ2hpbGRyZW4oKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IGNoaWxkLT5pc0FYSGlkZGVuKCk7Ci0gICAgICAgIHJl
c3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gY2hpbGQtPmlzUHJlc2VudGF0
aW9uYWxDaGlsZE9mQXJpYVJvbGUoKTsKLSAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFy
cmVuUGFyZW50ID0gY2hpbGQtPmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50KCk7Ci0gICAgfQor
ICAgIH0gZWxzZQorICAgICAgICByZXN1bHQgPSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnRE
YXRhKGNoaWxkKTsKIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShyZXN1
bHQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAppbmRleCA5ZDNlYjBhMGFjNjcuLjU5MGM2ZjZjNGZhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTM2
MSw3ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSBhcmlh
Um9sZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxpdHlSb2xlOjpVbmtub3du
OyB9CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29uc3QgeyByZXR1cm4gYXJp
YVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYzsgfQogICAgIGJv
b2wgaGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCk7
IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdDsKICAg
ICBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0OwogICAgIGJv
b2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQogCkBAIC04MjgsNiArODI3LDggQEAgcHJpdmF0ZToKICAgICBBY2Nlc3NpYmlsaXR5
Q2hpbGRyZW5WZWN0b3IgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVuKCk7CiAgICAgQWNjZXNz
aWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFTZWxlY3RlZFJvd3MoKTsKIAorICAgIEFjY2Vzc2li
aWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnRE
YXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKwogICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgb2Yg
Y2xpY2sgcG9pbnQgZm9yIGxpbmtzLgogICAgIEludFBvaW50IGxpbmtDbGlja1BvaW50KCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDAwYWI1ZjMzNmQxZS4uODU2ZGNkMjkyYmYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjgsNyArMTA2OCw3IEBAIGJvb2wgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogCiAg
ICAgLy8gSWYgdGhpcyBlbGVtZW50IGlzIHdpdGhpbiBhIHBhcmVudCB0aGF0IGNhbm5vdCBoYXZl
IGNoaWxkcmVuLCBpdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuCiAgICAgaWYgKGlzRGVzY2VuZGFu
dE9mQmFycmVuUGFyZW50KCkpCi0gICAgICAgIHJldHVybiB0cnVlOyAgICAKKyAgICAgICAgcmV0
dXJuIHRydWU7CiAKICAgICBpZiAocm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Okln
bm9yZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468100</attachid>
            <date>2023-10-06 15:28:43 -0700</date>
            <delta_ts>2023-10-09 17:13:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231006152842.patch</filename>
            <type>text/plain</type>
            <size>14716</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSA0NTJmMjY0ZTc1MjRiMmIxNzYzNTNmMWEzZDU3Njg4YmQ2Mjg2NTU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkQnlEZWZhdWx0IGNvbnN0KToKKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24gY29uc3QpOgooV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Z2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0
YUZvckNoaWxkKToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdDo6aGFzSW1wbGljaXRHZW5lcmljUm9sZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50
LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpjb21wdXRlQWNjZXNzaWJp
bGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxlOjpjb21wdXRl
QWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlU
YWJsZUNlbGw6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0KToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHA6CihXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNv
bnN0KToKLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAg
fCAgNSArLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgICAgIHwg
NTUgKysrKysrKysrKysrKystLS0tLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oICAgICAgIHwgIDUgKy0KIC4uLi9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAg
ICAgICAgICAgICB8ICA2ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxl
bWVudC5jcHAgfCAgMiArLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNw
cCAgICAgIHwgIDIgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwu
Y3BwICB8ICAyICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3Bw
ICAgfCAgMiArLQogOCBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IGE5NTBiZjNiNzYyZC4uNWQxYTc3MTZkMjUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0LmNwcApAQCAtNjUwLDE0ICs2NTAsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdDo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1
c2lvbiBkZWNpc2lvbiA9IGRlZmF1bHRPYmplY3RJbmNsdXNpb24oKTsKKyAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0SW5jbHVzaW9uIGRlY2lzaW9uID0gZGVmYXVsdE9iamVjdEluY2x1c2lvbih0cnVl
KTsKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SW5j
bHVkZU9iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChkZWNpc2lvbiA9PSBB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3QpCiAgICAgICAgIHJldHVy
biB0cnVlOwotICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBj
YW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChp
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IGF1dG8gcm9sZSA9IHJvbGVWYWx1ZSgpOwogICAgIHJldHVybiByb2xlID09IEFjY2Vzc2liaWxp
dHlSb2xlOjpJZ25vcmVkIHx8IHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAppbmRleCBjM2E5YmU1ZjM2OTIuLjYzNTU1YzM1ZTk5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0zOTA0
LDcgKzM5MDQsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzRmlsZVVwbG9hZEJ1dHRv
bigpIGNvbnN0CiAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdu
b3JlZEJ5RGVmYXVsdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRlZmF1bHRPYmplY3RJbmNsdXNp
b24oKSA9PSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CisgICAg
cmV0dXJuIGRlZmF1bHRPYmplY3RJbmNsdXNpb24oZmFsc2UpID09IEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKIH0KIAogLy8gQVJJQSBjb21wb25lbnQgb2YgaGlk
ZGVuIGRlZmluaXRpb24uCkBAIC0zOTQ2LDcgKzM5NDYsNyBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0
eU9iamVjdDo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsK
IH0KIAotQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpk
ZWZhdWx0T2JqZWN0SW5jbHVzaW9uKCkgY29uc3QKK0FjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNp
b24gQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lvbihib29sIGNvbnNp
ZGVyQmFycmVuUGFyZW50KSBjb25zdAogewogICAgIGlmIChhdXRvKiBzdHlsZSA9IHRoaXMtPnN0
eWxlKCkpIHsKICAgICAgICAgaWYgKHN0eWxlLT5lZmZlY3RpdmVJbmVydCgpKQpAQCAtMzk2MSwx
NyArMzk2MSwzMiBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24oKSBjb25zdAogICAgIH0KIAogICAgIGJvb2wg
dXNlUGFyZW50RGF0YSA9ICFtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzTnVsbCgpOwotICAg
IGlmICh1c2VQYXJlbnREYXRhID8gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc0FYSGlkZGVu
IDogaXNBWEhpZGRlbigpKQorICAgIGlmICh1c2VQYXJlbnREYXRhICYmIChtX2lzSWdub3JlZEZy
b21QYXJlbnREYXRhLmlzQVhIaWRkZW4gfHwgbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1By
ZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKSkKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxp
dHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKIAotICAgIGlmICh1c2VQYXJlbnREYXRh
ID8gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlIDogaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgpKQotICAgICAgICByZXR1cm4g
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OworICAgIGJvb2wgaXNE
ZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgPSBmYWxzZTsKKyAgICBmb3IgKGF1dG8qIG9iamVjdCA9
IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5wYXJlbnRPYmplY3QoKSkgeworICAgICAg
ICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uob2JqZWN0LT5nZXRBdHRyaWJ1dGUo
YXJpYV9oaWRkZW5BdHRyKSwgInRydWUiX3MpICYmICFvYmplY3QtPmlzRm9jdXNlZCgpICYmICFp
c0ZvY3VzZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVz
aW9uOjpJZ25vcmVPYmplY3Q7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSB0aGlzICYmIG9iamVj
dC0+YXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkpCisgICAgICAgICAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OworCisgICAgICAg
IC8vIFRoZSByZXN1bHQgb2YgaGlkZGVuICYgYXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxk
cmVuIHRha2UgcHJlY2VkZW5jZSBvdmVyIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50LAorICAg
ICAgICAvLyBidXQgd2Ugc2hvdWxkIHRha2UgYWR2YW50YWdlIG9mIHRoaXMgdHJhdmVyc2FsIGFu
ZCBjYWxjdWxhdGUgaXQgYXMgd2VsbCAoYnV0IG5vdCByZXR1cm4gaW1tZWRpYXRlbHkpLgorICAg
ICAgICBpZiAob2JqZWN0ICE9IHRoaXMgJiYgIW9iamVjdC0+Y2FuSGF2ZUNoaWxkcmVuKCkpCisg
ICAgICAgICAgICBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IHRydWU7CisgICAgfQogCiAg
ICAgLy8gSW5jbHVkZSA8ZGlhbG9nPiBlbGVtZW50cyBhbmQgZWxlbWVudHMgd2l0aCByb2xlPSJk
aWFsb2ciLgogICAgIGlmIChyb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6QXBwbGlj
YXRpb25EaWFsb2cpCiAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
OjpJbmNsdWRlT2JqZWN0OwogCi0gICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1
ZGVzT2JqZWN0KCk7CisgICAgYXV0byBwbGF0Zm9ybUluY2x1ZGVzT2JqZWN0ID0gYWNjZXNzaWJp
bGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKTsKKyAgICBpZiAoY29uc2lkZXJCYXJyZW5QYXJl
bnQgJiYgcGxhdGZvcm1JbmNsdWRlc09iamVjdCA9PSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVz
aW9uOjpEZWZhdWx0QmVoYXZpb3IgJiYgaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQpCisgICAg
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CisK
KyAgICByZXR1cm4gcGxhdGZvcm1JbmNsdWRlc09iamVjdDsKIH0KICAgICAKIGJvb2wgQWNjZXNz
aWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CkBAIC00MzI0LDEx
ICs0MzM5LDI0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYVJvbGVIYXNQcmVzZW50
YXRpb25hbENoaWxkcmVuKCkgY29uc3QKICAgICB9CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9i
amVjdDo6aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgpIGNvbnN0CitBY2Nlc3NpYmls
aXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgQWNjZXNzaWJpbGl0eU9iamVjdDo6Z2VuZXJhdGVJ
c0lnbm9yZWRGcm9tUGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjaGlsZCkKIHsKLSAg
ICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6ZmluZEFuY2VzdG9yKCp0aGlzLCBmYWxzZSwgW10gKGNv
bnN0IGF1dG8mIGFuY2VzdG9yKSB7Ci0gICAgICAgIHJldHVybiBhbmNlc3Rvci5hcmlhUm9sZUhh
c1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKTsKLSAgICB9KTsKKyAgICBBY2Nlc3NpYmlsaXR5SXNJ
Z25vcmVkRnJvbVBhcmVudERhdGEgcmVzdWx0ID0gQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21Q
YXJlbnREYXRhKHRoaXMpOworICAgIGZvciAoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0g
Y2hpbGQ7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5wYXJlbnRPYmplY3QoKSkgeworICAgICAg
ICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uob2JqZWN0LT5nZXRBdHRyaWJ1dGUo
YXJpYV9oaWRkZW5BdHRyKSwgInRydWUiX3MpICYmICFvYmplY3QtPmlzRm9jdXNlZCgpICYmICFj
aGlsZC0+aXNGb2N1c2VkKCkpCisgICAgICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IHRydWU7
CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSBjaGlsZCAmJiBvYmplY3QtPmFyaWFSb2xlSGFzUHJl
c2VudGF0aW9uYWxDaGlsZHJlbigpKQorICAgICAgICAgICAgcmVzdWx0LmlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUgPSB0cnVlOworCisgICAgICAgIGlmIChvYmplY3QgIT0gY2hpbGQg
JiYgIW9iamVjdC0+Y2FuSGF2ZUNoaWxkcmVuKCkpCisgICAgICAgICAgICByZXN1bHQuaXNEZXNj
ZW5kYW50T2ZCYXJyZW5QYXJlbnQgPSB0cnVlOworCisgICAgICAgIGlmIChyZXN1bHQuaXNEZXNj
ZW5kYW50T2ZCYXJyZW5QYXJlbnQgJiYgcmVzdWx0LmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJp
YVJvbGUgJiYgcmVzdWx0LmlzQVhIaWRkZW4pCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElz
SWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQp
CkBAIC00MzQxLDExICs0MzY5LDggQEAgdm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXRJc0ln
bm9yZWRGcm9tUGFyZW50RGF0YUZvckNoaWxkKEFjY2Vzc2liaWxpdHlPYmplY3QKICAgICAgICAg
cmVzdWx0LmlzQVhIaWRkZW4gPSAobV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc0FYSGlkZGVu
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGNoaWxkLT5nZXRBdHRyaWJ1dGUoYXJp
YV9oaWRkZW5BdHRyKSwgInRydWUiX3MpKSAmJiAhY2hpbGQtPmlzRm9jdXNlZCgpOwogICAgICAg
ICByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IG1faXNJZ25vcmVkRnJv
bVBhcmVudERhdGEuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSB8fCBhcmlhUm9sZUhh
c1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKTsKICAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9m
QmFycmVuUGFyZW50ID0gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc0Rlc2NlbmRhbnRPZkJh
cnJlblBhcmVudCB8fCAhY2FuSGF2ZUNoaWxkcmVuKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
cmVzdWx0LmlzQVhIaWRkZW4gPSBjaGlsZC0+aXNBWEhpZGRlbigpOwotICAgICAgICByZXN1bHQu
aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IGNoaWxkLT5pc1ByZXNlbnRhdGlvbmFs
Q2hpbGRPZkFyaWFSb2xlKCk7Ci0gICAgICAgIHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBh
cmVudCA9IGNoaWxkLT5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpOwotICAgIH0KKyAgICB9
IGVsc2UKKyAgICAgICAgcmVzdWx0ID0gZ2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShj
aGlsZCk7CiAKICAgICBjaGlsZC0+c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGEocmVzdWx0KTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmgKaW5kZXggOWQzZWIwYTBhYzY3Li41NGExMDAxMjc2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0yNjIsNyAr
MjYyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlz
SWdub3JlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZCgp
OwotICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gZGVmYXVsdE9iamVjdEluY2x1c2lv
bigpIGNvbnN0OworICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gZGVmYXVsdE9iamVj
dEluY2x1c2lvbihib29sKSBjb25zdDsKICAgICBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWRC
eURlZmF1bHQoKSBjb25zdDsKIAogICAgIGJvb2wgaXNTaG93aW5nVmFsaWRhdGlvbk1lc3NhZ2Uo
KSBjb25zdDsKQEAgLTM2MSw3ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3Np
YmlsaXR5Um9sZSBhcmlhUm9sZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxp
dHlSb2xlOjpVbmtub3duOyB9CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29u
c3QgeyByZXR1cm4gYXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2Vu
ZXJpYzsgfQogICAgIGJvb2wgaGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJu
IHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNp
dEdlbmVyaWNSb2xlKCk7IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJv
bGUoKSBjb25zdDsKICAgICBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigp
IGNvbnN0OwogICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQogCkBAIC04MjgsNiArODI3LDggQEAgcHJpdmF0ZToKICAg
ICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVu
KCk7CiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFTZWxlY3RlZFJvd3MoKTsK
IAorICAgIEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBnZW5lcmF0ZUlzSWdu
b3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKwogICAgIC8vIFNwZWNp
YWwgaGFuZGxpbmcgb2YgY2xpY2sgcG9pbnQgZm9yIGxpbmtzLgogICAgIEludFBvaW50IGxpbmtD
bGlja1BvaW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDAwYWI1ZjMzNmQxZS4uY2Q5
M2E4YmE3ZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjAsMTYgKzEwNjAsMTIgQEAg
Ym9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdu
b3JlZCgpIGNvbnN0CiAgICAgLy8gQ2hlY2sgZmlyc3QgaWYgYW55IG9mIHRoZSBjb21tb24gcmVh
c29ucyBjYXVzZSB0aGlzIGVsZW1lbnQgdG8gYmUgaWdub3JlZC4KICAgICAvLyBUaGVuIHByb2Nl
c3Mgb3RoZXIgdXNlIGNhc2VzIHRoYXQgbmVlZCB0byBiZSBhcHBsaWVkIHRvIGFsbCB0aGUgdmFy
aW91cyByb2xlcwogICAgIC8vIHRoYXQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdHMgdGFrZSBv
bi4KLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIGRlY2lzaW9uID0gZGVmYXVsdE9i
amVjdEluY2x1c2lvbigpOworICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gZGVjaXNp
b24gPSBkZWZhdWx0T2JqZWN0SW5jbHVzaW9uKHRydWUpOwogICAgIGlmIChkZWNpc2lvbiA9PSBB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJbmNsdWRlT2JqZWN0KQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgaWYgKGRlY2lzaW9uID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNp
b246Oklnbm9yZU9iamVjdCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAvLyBJZiB0aGlz
IGVsZW1lbnQgaXMgd2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRyZW4sIGl0
IHNob3VsZCBub3QgYmUgZXhwb3NlZC4KLSAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJl
bnQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7ICAgIAotCiAgICAgaWYgKHJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25vcmVkKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdF
bGVtZW50LmNwcAppbmRleCA3ZTFmZmUxN2ViM2QuLjczZjQ1YzQ0MGQwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVu
dC5jcHAKQEAgLTIwNiw3ICsyMDYsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpj
b21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgLy8gICBhdHRyaWJ1dGUg
KGNvdmVyZWQgYnkgQ29yZSBBQU0pIG9yIGF0IGxlYXN0IG9uZSAndGl0bGUnIG9yICdkZXNjJyBj
aGlsZCBlbGVtZW50LgogICAgIC8vICogVGhleSBoYXZlIGFuIGFuY2VzdG9yIHdpdGggQ2hpbGRy
ZW4gUHJlc2VudGF0aW9uYWw6IFRydWUgKGNvdmVyZWQgYnkgQ29yZSBBQU0pCiAKLSAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIGRlY2lzaW9uID0gZGVmYXVsdE9iamVjdEluY2x1c2lv
bigpOworICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gZGVjaXNpb24gPSBkZWZhdWx0
T2JqZWN0SW5jbHVzaW9uKGZhbHNlKTsKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUu
Y3BwCmluZGV4IGVlNjFkYTAyOTJmNS4uNDI3Nzk0OTdlN2QyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuY3BwCkBAIC04MTAsNyAr
ODEwLDcgQEAgQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVRhYmxlOjpyb2xlVmFsdWUo
KSBjb25zdAogICAgIAogYm9vbCBBY2Nlc3NpYmlsaXR5VGFibGU6OmNvbXB1dGVBY2Nlc3NpYmls
aXR5SXNJZ25vcmVkKCkgY29uc3QKIHsKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
IGRlY2lzaW9uID0gZGVmYXVsdE9iamVjdEluY2x1c2lvbigpOworICAgIEFjY2Vzc2liaWxpdHlP
YmplY3RJbmNsdXNpb24gZGVjaXNpb24gPSBkZWZhdWx0T2JqZWN0SW5jbHVzaW9uKGZhbHNlKTsK
ICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SW5jbHVk
ZU9iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nl
c3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcAppbmRl
eCAzNWMyZGY2M2ZlNDcuLjk3MmY4YmVkM2ZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwCkBAIC02NCw3ICs2
NCw3IEBAIFJlZjxBY2Nlc3NpYmlsaXR5VGFibGVDZWxsPiBBY2Nlc3NpYmlsaXR5VGFibGVDZWxs
OjpjcmVhdGUoTm9kZSYgbm9kZSkKIAogYm9vbCBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsOjpjb21w
dXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiB7Ci0gICAgQWNjZXNzaWJpbGl0eU9i
amVjdEluY2x1c2lvbiBkZWNpc2lvbiA9IGRlZmF1bHRPYmplY3RJbmNsdXNpb24oKTsKKyAgICBB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIGRlY2lzaW9uID0gZGVmYXVsdE9iamVjdEluY2x1
c2lvbihmYWxzZSk7CiAgICAgaWYgKGRlY2lzaW9uID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNs
dXNpb246OkluY2x1ZGVPYmplY3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZGVj
aXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVS
b3cuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVS
b3cuY3BwCmluZGV4IGUwNDI3NmM0OTY0OC4uNTFlNzgwZjBjOGU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlUYWJsZVJv
dzo6b2JzZXJ2YWJsZU9iamVjdCgpIGNvbnN0CiAgICAgCiBib29sIEFjY2Vzc2liaWxpdHlUYWJs
ZVJvdzo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogeyAgICAKLSAgICBB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIGRlY2lzaW9uID0gZGVmYXVsdE9iamVjdEluY2x1
c2lvbigpOworICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gZGVjaXNpb24gPSBkZWZh
dWx0T2JqZWN0SW5jbHVzaW9uKGZhbHNlKTsKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJp
bGl0eU9iamVjdEluY2x1c2lvbjo6SW5jbHVkZU9iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25v
cmVPYmplY3QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468138</attachid>
            <date>2023-10-09 17:13:44 -0700</date>
            <delta_ts>2023-10-10 13:26:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231009171344.patch</filename>
            <type>text/plain</type>
            <size>10198</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSA5ZGNmNWYyZDZiYWY4NTFiYTFiODg3ZDdkM2M4Mzc5YTdiYmY2Nzk0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkQnlEZWZhdWx0IGNvbnN0KToKKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24gY29uc3QpOgooV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Z2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0
YUZvckNoaWxkKToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdDo6aGFzSW1wbGljaXRHZW5lcmljUm9sZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50
LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpjb21wdXRlQWNjZXNzaWJp
bGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxlOjpjb21wdXRl
QWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlU
YWJsZUNlbGw6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0KToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHA6CihXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNv
bnN0KToKLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAg
fCAgNSArLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8
IDQyICsrKysrKysrKysrKystLS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaCAgICAgICB8ICAzICstCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAg
ICAgICAgICAgICAgfCAgNCAtLQogLi4uL2F0c3BpL0FjY2Vzc2liaWxpdHlBdHNwaS5jcHAgICAg
ICAgICAgICAgIHwgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMjEg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCAwM2RkMTY5MTg1NmQuLmI3Y2M1ZmEx
OTUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTU4OSw3ICs1ODksOSBAQCBib29sIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0OjpjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdAogICAgIC8vIEVsZW1lbnRz
IHRoYXQgc2hvdWxkIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgIHN3aXRjaCAocm9sZVZhbHVlKCkp
IHsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246CisjaWYgIVVTRShBVFNQSSkK
ICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpQb3BVcEJ1dHRvbjoKKyNlbmRpZgogICAgIGNh
c2UgQWNjZXNzaWJpbGl0eVJvbGU6OkNoZWNrQm94OgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJv
bGU6OlJhZGlvQnV0dG9uOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlRhYjoKQEAgLTY1
Myw5ICs2NTUsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpjb21wdXRlQWNjZXNz
aWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAo
ZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0KQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAvLyBJZiB0aGlzIGVsZW1lbnQgaXMgd2l0aGluIGEg
cGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRyZW4sIGl0IHNob3VsZCBub3QgYmUgZXhwb3Nl
ZC4KLSAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQoKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7CiAKICAgICBhdXRvIHJvbGUgPSByb2xlVmFsdWUoKTsKICAgICByZXR1cm4gcm9sZSA9
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZCB8fCByb2xlID09IEFjY2Vzc2liaWxpdHlSb2xl
OjpVbmtub3duOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKaW5kZXggMDQzMzk2MjNmOGVmLi5iOWNiZGMwYjgzYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcApAQCAtMzk2MSwxMSArMzk2MSwxOSBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24oKSBjb25zdAogICAg
IH0KIAogICAgIGJvb2wgdXNlUGFyZW50RGF0YSA9ICFtX2lzSWdub3JlZEZyb21QYXJlbnREYXRh
LmlzTnVsbCgpOwotICAgIGlmICh1c2VQYXJlbnREYXRhID8gbV9pc0lnbm9yZWRGcm9tUGFyZW50
RGF0YS5pc0FYSGlkZGVuIDogaXNBWEhpZGRlbigpKQorICAgIGlmICh1c2VQYXJlbnREYXRhICYm
IChtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gfHwgbV9pc0lnbm9yZWRGcm9t
UGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKSkKICAgICAgICAgcmV0
dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKIAotICAgIGlm
ICh1c2VQYXJlbnREYXRhID8gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlv
bmFsQ2hpbGRPZkFyaWFSb2xlIDogaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgpKQot
ICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0
OworICAgIGZvciAoYXV0byogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3Qt
PnBhcmVudE9iamVjdCgpKSB7CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShvYmplY3QtPmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYg
IW9iamVjdC0+aXNGb2N1c2VkKCkgJiYgIWlzRm9jdXNlZCgpKQorICAgICAgICAgICAgcmV0dXJu
IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKworICAgICAgICBp
ZiAob2JqZWN0ICE9IHRoaXMgJiYgb2JqZWN0LT5hcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hp
bGRyZW4oKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
OjpJZ25vcmVPYmplY3Q7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSB0aGlzICYmICFvYmplY3Qt
PmNhbkhhdmVDaGlsZHJlbigpKQorICAgICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKyAgICB9CiAKICAgICAvLyBJbmNsdWRlIDxkaWFs
b2c+IGVsZW1lbnRzIGFuZCBlbGVtZW50cyB3aXRoIHJvbGU9ImRpYWxvZyIuCiAgICAgaWYgKHJv
bGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvbkRpYWxvZykKQEAgLTQz
MjQsMTEgKzQzMzIsMjQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhUm9sZUhhc1By
ZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdAogICAgIH0KIH0KIAotYm9vbCBBY2Nlc3NpYmls
aXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkgY29uc3QKK0FjY2Vz
c2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpnZW5l
cmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNoaWxkKQog
ewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3IoKnRoaXMsIGZhbHNlLCBb
XSAoY29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmFyaWFS
b2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOworICAgIEFjY2Vzc2liaWxp
dHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSByZXN1bHQgPSBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
RnJvbVBhcmVudERhdGEodGhpcyk7CisgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3QgPSBjaGlsZDsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7Cisg
ICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShvYmplY3QtPmdldEF0dHJp
YnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC0+aXNGb2N1c2VkKCkg
JiYgIWNoaWxkLT5pc0ZvY3VzZWQoKSkKKyAgICAgICAgICAgIHJlc3VsdC5pc0FYSGlkZGVuID0g
dHJ1ZTsKKworICAgICAgICBpZiAob2JqZWN0ICE9IGNoaWxkICYmIG9iamVjdC0+YXJpYVJvbGVI
YXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkpCisgICAgICAgICAgICByZXN1bHQuaXNQcmVzZW50
YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IHRydWU7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSBj
aGlsZCAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJlc3VsdC5p
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IHRydWU7CisKKyAgICAgICAgaWYgKHJlc3VsdC5p
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCAmJiByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxk
T2ZBcmlhUm9sZSAmJiByZXN1bHQuaXNBWEhpZGRlbikKKyAgICAgICAgICAgIGJyZWFrOworICAg
IH0KKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6
c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
aGlsZCkKQEAgLTQzNDEsMTEgKzQzNjIsOCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNl
dElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdAogICAg
ICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IChtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhI
aWRkZW4gfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoY2hpbGQtPmdldEF0dHJpYnV0
ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykpICYmICFjaGlsZC0+aXNGb2N1c2VkKCk7CiAg
ICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gbV9pc0lnbm9y
ZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIHx8IGFyaWFS
b2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwogICAgICAgICByZXN1bHQuaXNEZXNjZW5k
YW50T2ZCYXJyZW5QYXJlbnQgPSBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzRGVzY2VuZGFu
dE9mQmFycmVuUGFyZW50IHx8ICFjYW5IYXZlQ2hpbGRyZW4oKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IGNoaWxkLT5pc0FYSGlkZGVuKCk7Ci0gICAgICAgIHJl
c3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gY2hpbGQtPmlzUHJlc2VudGF0
aW9uYWxDaGlsZE9mQXJpYVJvbGUoKTsKLSAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFy
cmVuUGFyZW50ID0gY2hpbGQtPmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50KCk7Ci0gICAgfQor
ICAgIH0gZWxzZQorICAgICAgICByZXN1bHQgPSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnRE
YXRhKGNoaWxkKTsKIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShyZXN1
bHQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAppbmRleCAxOTA4MDg2Y2ViNTMuLmQ5MTgyNjFkOTA5NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTM2
MSw3ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSBhcmlh
Um9sZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxpdHlSb2xlOjpVbmtub3du
OyB9CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29uc3QgeyByZXR1cm4gYXJp
YVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYzsgfQogICAgIGJv
b2wgaGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCk7
IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdDsKICAg
ICBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0OwogICAgIGJv
b2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQogCkBAIC04MjgsNiArODI3LDggQEAgcHJpdmF0ZToKICAgICBBY2Nlc3NpYmlsaXR5
Q2hpbGRyZW5WZWN0b3IgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVuKCk7CiAgICAgQWNjZXNz
aWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFTZWxlY3RlZFJvd3MoKTsKIAorICAgIEFjY2Vzc2li
aWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnRE
YXRhKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKwogICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgb2Yg
Y2xpY2sgcG9pbnQgZm9yIGxpbmtzLgogICAgIEludFBvaW50IGxpbmtDbGlja1BvaW50KCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGE4NDg2NWZlYzI0NC4uY2M3NWNmNzU0ZDcwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjYsMTAgKzEwNjYsNiBAQCBib29sIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAg
ICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2Jq
ZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3
aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBi
ZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsgICAgCi0KICAgICBpZiAocm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0
eVJvbGU6Oklnbm9yZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlBdHNwaS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlBdHNwaS5jcHAK
aW5kZXggMmFjN2U1MDcwYTkyLi4yMDFkNGRmZDRkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eUF0c3BpLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlBdHNwaS5jcHAKQEAg
LTY0NCw3ICs2NDQsNyBAQCBzdGF0aWMgY29uc3RleHByIHN0ZDo6cGFpcjxBY2Nlc3NpYmlsaXR5
Um9sZSwgUm9sZU5hbWVFbnRyeT4gcm9sZU5hbWVzW10gPSB7CiAgICAgeyBBY2Nlc3NpYmlsaXR5
Um9sZTo6TGVnZW5kLCB7ICJsYWJlbCIsIE5fKCJsYWJlbCIpIH0gfSwKICAgICB7IEFjY2Vzc2li
aWxpdHlSb2xlOjpMaW5rLCB7ICJsaW5rIiwgTl8oImxpbmsiKSB9IH0sCiAgICAgeyBBY2Nlc3Np
YmlsaXR5Um9sZTo6TGlzdCwgeyAibGlzdCIsIE5fKCJsaXN0IikgfSB9LAotICAgIHsgQWNjZXNz
aWJpbGl0eVJvbGU6Okxpc3RCb3gsIHsgImhlYWRpbmciLCBOXygibGlzdCBib3giKSB9IH0sCisg
ICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6TGlzdEJveCwgeyAibGlzdCBib3giLCBOXygibGlzdCBi
b3giKSB9IH0sCiAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6TGlzdEJveE9wdGlvbiwgeyAibGlz
dCBpdGVtIiwgTl8oImxpc3QgaXRlbSIpIH0gfSwKICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpM
aXN0SXRlbSwgeyAibGlzdCBpdGVtIiwgTl8oImxpc3QgaXRlbSIpIH0gfSwKICAgICB7IEFjY2Vz
c2liaWxpdHlSb2xlOjpMaXN0TWFya2VyLCB7ICJ0ZXh0IiwgTl8oInRleHQiKSB9IH0sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468159</attachid>
            <date>2023-10-10 13:26:34 -0700</date>
            <delta_ts>2023-10-10 16:26:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231010132633.patch</filename>
            <type>text/plain</type>
            <size>9296</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSAwOTc3Y2I2ZjQ5NWY1Yzg5ZWJlNGVmNDcxMmQwNWQyMjAxZGVmZDFjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkQnlEZWZhdWx0IGNvbnN0KToKKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24gY29uc3QpOgooV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Z2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0
YUZvckNoaWxkKToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdDo6aGFzSW1wbGljaXRHZW5lcmljUm9sZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50
LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpjb21wdXRlQWNjZXNzaWJp
bGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxlOjpjb21wdXRl
QWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlU
YWJsZUNlbGw6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0KToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHA6CihXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNv
bnN0KToKLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAg
fCAgNiArLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8
IDQzICsrKysrKysrKysrKystLS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaCAgICAgICB8ICAzICstCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAg
ICAgICAgICAgICAgfCAgNCAtLQogNCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAy
MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDAzZGQxNjkxODU2ZC4uYWExYmRi
MGE2NzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtNTg5LDcgKzU4OSwxMCBAQCBib29sIEFjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0OjpjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdAogICAgIC8vIEVsZW1l
bnRzIHRoYXQgc2hvdWxkIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgIHN3aXRjaCAocm9sZVZhbHVl
KCkpIHsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246CisjaWYgIVVTRShBVFNQ
SSkKKy8vIEdUSy9BVFNQSSBsYXlvdXQgdGVzdHMgZXhwZWN0IHBvcHVwIGJ1dHRvbnMgdG8gYmUg
Y2FwYWJsZSBvZiBoYXZpbmcgY2hpbGRyZW4uCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6
UG9wVXBCdXR0b246CisjZW5kaWYKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpDaGVja0Jv
eDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpSYWRpb0J1dHRvbjoKICAgICBjYXNlIEFj
Y2Vzc2liaWxpdHlSb2xlOjpUYWI6CkBAIC02NTMsOSArNjU2LDYgQEAgYm9vbCBBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGRlY2lzaW9uID09IEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb246Oklnbm9yZU9iamVjdCkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgLy8g
SWYgdGhpcyBlbGVtZW50IGlzIHdpdGhpbiBhIHBhcmVudCB0aGF0IGNhbm5vdCBoYXZlIGNoaWxk
cmVuLCBpdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuCi0gICAgaWYgKGlzRGVzY2VuZGFudE9mQmFy
cmVuUGFyZW50KCkpCi0gICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgYXV0byByb2xlID0gcm9s
ZVZhbHVlKCk7CiAgICAgcmV0dXJuIHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Oklnbm9yZWQg
fHwgcm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VW5rbm93bjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDA0MzM5
NjIzZjhlZi4uNTEyYWY5YTZkMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTM5NjEsMTEgKzM5NjEsMjAgQEAg
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZWZhdWx0
T2JqZWN0SW5jbHVzaW9uKCkgY29uc3QKICAgICB9CiAKICAgICBib29sIHVzZVBhcmVudERhdGEg
PSAhbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc051bGwoKTsKLSAgICBpZiAodXNlUGFyZW50
RGF0YSA/IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiA6IGlzQVhIaWRkZW4o
KSkKKyAgICBpZiAodXNlUGFyZW50RGF0YSAmJiAobV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5p
c0FYSGlkZGVuIHx8IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNQcmVzZW50YXRpb25hbENo
aWxkT2ZBcmlhUm9sZSkpCiAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVz
aW9uOjpJZ25vcmVPYmplY3Q7CiAKLSAgICBpZiAodXNlUGFyZW50RGF0YSA/IG1faXNJZ25vcmVk
RnJvbVBhcmVudERhdGEuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA6IGlzUHJlc2Vu
dGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSkKLSAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlP
YmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKyAgICBib29sIHNlbGZJc0ZvY3VzZWQgPSBp
c0ZvY3VzZWQoKTsKKyAgICBmb3IgKGF1dG8qIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0
ID0gb2JqZWN0LT5wYXJlbnRPYmplY3QoKSkgeworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2Uob2JqZWN0LT5nZXRBdHRyaWJ1dGUoYXJpYV9oaWRkZW5BdHRyKSwgInRy
dWUiX3MpICYmICFvYmplY3QtPmlzRm9jdXNlZCgpICYmICFzZWxmSXNGb2N1c2VkKQorICAgICAg
ICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsK
KworICAgICAgICBpZiAob2JqZWN0ICE9IHRoaXMgJiYgb2JqZWN0LT5hcmlhUm9sZUhhc1ByZXNl
bnRhdGlvbmFsQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSB0aGlz
ICYmICFvYmplY3QtPmNhbkhhdmVDaGlsZHJlbigpKQorICAgICAgICAgICAgcmV0dXJuIEFjY2Vz
c2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKyAgICB9CiAKICAgICAvLyBJ
bmNsdWRlIDxkaWFsb2c+IGVsZW1lbnRzIGFuZCBlbGVtZW50cyB3aXRoIHJvbGU9ImRpYWxvZyIu
CiAgICAgaWYgKHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvbkRp
YWxvZykKQEAgLTQzMjQsMTEgKzQzMzMsMjQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojph
cmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdAogICAgIH0KIH0KIAotYm9v
bCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkg
Y29uc3QKK0FjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIGNoaWxkKQogewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3IoKnRo
aXMsIGZhbHNlLCBbXSAoY29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJuIGFu
Y2VzdG9yLmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOworICAg
IGF1dG8gcmVzdWx0ID0gQWNjZXNzaWJpbGl0eUlzSWdub3JlZEZyb21QYXJlbnREYXRhKHRoaXMp
OworICAgIGZvciAoYXV0byogb2JqZWN0ID0gY2hpbGQ7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0
LT5wYXJlbnRPYmplY3QoKSkgeworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2Uob2JqZWN0LT5nZXRBdHRyaWJ1dGUoYXJpYV9oaWRkZW5BdHRyKSwgInRydWUiX3MpICYm
ICFvYmplY3QtPmlzRm9jdXNlZCgpICYmICFjaGlsZC0+aXNGb2N1c2VkKCkpCisgICAgICAgICAg
ICByZXN1bHQuaXNBWEhpZGRlbiA9IHRydWU7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSBjaGls
ZCAmJiBvYmplY3QtPmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpKQorICAgICAg
ICAgICAgcmVzdWx0LmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgPSB0cnVlOworCisg
ICAgICAgIGlmIChvYmplY3QgIT0gY2hpbGQgJiYgIW9iamVjdC0+Y2FuSGF2ZUNoaWxkcmVuKCkp
CisgICAgICAgICAgICByZXN1bHQuaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgPSB0cnVlOwor
CisgICAgICAgIGlmIChyZXN1bHQuaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgJiYgcmVzdWx0
LmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgJiYgcmVzdWx0LmlzQVhIaWRkZW4pCisg
ICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB2b2lk
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQo
QWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQpCkBAIC00MzQxLDExICs0MzYzLDggQEAgdm9pZCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YUZvckNoaWxkKEFj
Y2Vzc2liaWxpdHlPYmplY3QKICAgICAgICAgcmVzdWx0LmlzQVhIaWRkZW4gPSAobV9pc0lnbm9y
ZWRGcm9tUGFyZW50RGF0YS5pc0FYSGlkZGVuIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGNoaWxkLT5nZXRBdHRyaWJ1dGUoYXJpYV9oaWRkZW5BdHRyKSwgInRydWUiX3MpKSAmJiAh
Y2hpbGQtPmlzRm9jdXNlZCgpOwogICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxk
T2ZBcmlhUm9sZSA9IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNQcmVzZW50YXRpb25hbENo
aWxkT2ZBcmlhUm9sZSB8fCBhcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKTsKICAg
ICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gbV9pc0lnbm9yZWRGcm9t
UGFyZW50RGF0YS5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCB8fCAhY2FuSGF2ZUNoaWxkcmVu
KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcmVzdWx0LmlzQVhIaWRkZW4gPSBjaGlsZC0+aXNB
WEhpZGRlbigpOwotICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9s
ZSA9IGNoaWxkLT5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCk7Ci0gICAgICAgIHJl
c3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IGNoaWxkLT5pc0Rlc2NlbmRhbnRPZkJh
cnJlblBhcmVudCgpOwotICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgcmVzdWx0ID0gZ2VuZXJh
dGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShjaGlsZCk7CiAKICAgICBjaGlsZC0+c2V0SXNJZ25v
cmVkRnJvbVBhcmVudERhdGEocmVzdWx0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggMTkwODA4NmNlYjUzLi5kOTE4
MjYxZDkwOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oCkBAIC0zNjEsNyArMzYxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
QWNjZXNzaWJpbGl0eVJvbGUgYXJpYVJvbGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBBY2Nl
c3NpYmlsaXR5Um9sZTo6VW5rbm93bjsgfQogICAgIGJvb2wgaGFzRXhwbGljaXRHZW5lcmljUm9s
ZSgpIGNvbnN0IHsgcmV0dXJuIGFyaWFSb2xlQXR0cmlidXRlKCkgPT0gQWNjZXNzaWJpbGl0eVJv
bGU6OkdlbmVyaWM7IH0KICAgICBib29sIGhhc0ltcGxpY2l0R2VuZXJpY1JvbGUoKSBjb25zdCB7
IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYyAmJiAhaGFz
RXhwbGljaXRHZW5lcmljUm9sZSgpOyB9Ci0gICAgYm9vbCBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRP
ZkFyaWFSb2xlKCkgY29uc3Q7CiAgICAgYm9vbCBhcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hp
bGRyZW4oKSBjb25zdDsKICAgICBib29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODI4LDYgKzgyNyw4IEBAIHByaXZh
dGU6CiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIGFyaWFMaXN0Ym94U2VsZWN0ZWRD
aGlsZHJlbigpOwogICAgIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBhcmlhU2VsZWN0ZWRS
b3dzKCk7CiAKKyAgICBBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgZ2VuZXJh
dGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisKICAgICAv
LyBTcGVjaWFsIGhhbmRsaW5nIG9mIGNsaWNrIHBvaW50IGZvciBsaW5rcy4KICAgICBJbnRQb2lu
dCBsaW5rQ2xpY2tQb2ludCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBhODQ4NjVmZWMy
NDQuLmNjNzVjZjc1NGQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0xMDY2LDEwICsxMDY2
LDYgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0
eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgaWYgKGRlY2lzaW9uID09IEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb246Oklnbm9yZU9iamVjdCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAv
LyBJZiB0aGlzIGVsZW1lbnQgaXMgd2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hp
bGRyZW4sIGl0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4KLSAgICBpZiAoaXNEZXNjZW5kYW50T2ZC
YXJyZW5QYXJlbnQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7ICAgIAotCiAgICAgaWYgKHJvbGVW
YWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25vcmVkKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468161</attachid>
            <date>2023-10-10 16:26:24 -0700</date>
            <delta_ts>2023-10-11 12:09:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231010162623.patch</filename>
            <type>text/plain</type>
            <size>9446</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSAxZWIzNmE2NThjYjZjYjU3ZjFkYmM5OWUxMTI4MmZhYWZjNWExNzM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgNSBPY3QgMjAyMyAxNDoxNDozMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBvcHRpbWl6ZSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbXB1dGF0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNzMzIHJkYXI6Ly9wcm9ibGVtLzExNjU0
MTkzNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkQnlEZWZhdWx0IGNvbnN0KToKKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24gY29uc3QpOgooV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Z2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0
YUZvckNoaWxkKToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdDo6aGFzSW1wbGljaXRHZW5lcmljUm9sZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0
KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50
LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpjb21wdXRlQWNjZXNzaWJp
bGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxlOjpjb21wdXRl
QWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlU
YWJsZUNlbGw6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNvbnN0KToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHA6CihXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkIGNv
bnN0KToKLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAg
fCAgNiArLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8
IDQ0ICsrKysrKysrKysrKysrLS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaCAgICAgICB8ICAzICstCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAg
ICAgICAgICAgICAgfCAgNCAtLQogNCBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAy
MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDAzZGQxNjkxODU2ZC4uMTQ0MmEx
ZjkzOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtNTg5LDcgKzU4OSwxMCBAQCBib29sIEFjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0OjpjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdAogICAgIC8vIEVsZW1l
bnRzIHRoYXQgc2hvdWxkIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgIHN3aXRjaCAocm9sZVZhbHVl
KCkpIHsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246CisjaWYgIVVTRShBVFNQ
SSkKKyAgICAvLyBHVEsvQVRTUEkgbGF5b3V0IHRlc3RzIGV4cGVjdCBwb3B1cCBidXR0b25zIHRv
IGJlIGNhcGFibGUgb2YgaGF2aW5nIGNoaWxkcmVuLgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJv
bGU6OlBvcFVwQnV0dG9uOgorI2VuZGlmCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6Q2hl
Y2tCb3g6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6UmFkaW9CdXR0b246CiAgICAgY2Fz
ZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGFiOgpAQCAtNjUzLDkgKzY1Niw2IEBAIGJvb2wgQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3QpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAg
IC8vIElmIHRoaXMgZWxlbWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBj
aGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRP
ZkJhcnJlblBhcmVudCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGF1dG8gcm9sZSA9
IHJvbGVWYWx1ZSgpOwogICAgIHJldHVybiByb2xlID09IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25v
cmVkIHx8IHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd247CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCAw
NDMzOTYyM2Y4ZWYuLmViNTFjOTk5ZGU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0zOTYxLDExICszOTYxLDIw
IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVm
YXVsdE9iamVjdEluY2x1c2lvbigpIGNvbnN0CiAgICAgfQogCiAgICAgYm9vbCB1c2VQYXJlbnRE
YXRhID0gIW1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNOdWxsKCk7Ci0gICAgaWYgKHVzZVBh
cmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gOiBpc0FYSGlk
ZGVuKCkpCisgICAgaWYgKHVzZVBhcmVudERhdGEgJiYgKG1faXNJZ25vcmVkRnJvbVBhcmVudERh
dGEuaXNBWEhpZGRlbiB8fCBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUpKQogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdElu
Y2x1c2lvbjo6SWdub3JlT2JqZWN0OwogCi0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdu
b3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgOiBpc1By
ZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkpCi0gICAgICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CisgICAgYm9vbCBzZWxmSXNGb2N1c2Vk
ID0gaXNGb2N1c2VkKCk7CisgICAgZm9yIChhdXRvKiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7IG9i
amVjdCA9IG9iamVjdC0+cGFyZW50T2JqZWN0KCkpIHsKKyAgICAgICAgaWYgKCFzZWxmSXNGb2N1
c2VkICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG9iamVjdC0+Z2V0QXR0cmlidXRl
KGFyaWFfaGlkZGVuQXR0ciksICJ0cnVlIl9zKSAmJiAhb2JqZWN0LT5pc0ZvY3VzZWQoKSkKKyAg
ICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmpl
Y3Q7CisKKyAgICAgICAgaWYgKG9iamVjdCAhPSB0aGlzICYmIG9iamVjdC0+YXJpYVJvbGVIYXNQ
cmVzZW50YXRpb25hbENoaWxkcmVuKCkpCisgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OworCisgICAgICAgIGlmIChvYmplY3QgIT0g
dGhpcyAmJiAhb2JqZWN0LT5jYW5IYXZlQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgIHJldHVybiBB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CisgICAgfQogCiAgICAg
Ly8gSW5jbHVkZSA8ZGlhbG9nPiBlbGVtZW50cyBhbmQgZWxlbWVudHMgd2l0aCByb2xlPSJkaWFs
b2ciLgogICAgIGlmIChyb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6QXBwbGljYXRp
b25EaWFsb2cpCkBAIC00MzI0LDExICs0MzMzLDI1IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVj
dDo6YXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkgY29uc3QKICAgICB9CiB9CiAK
LWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9s
ZSgpIGNvbnN0CitBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgQWNjZXNzaWJp
bGl0eU9iamVjdDo6Z2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBjaGlsZCkKIHsKLSAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6ZmluZEFuY2VzdG9y
KCp0aGlzLCBmYWxzZSwgW10gKGNvbnN0IGF1dG8mIGFuY2VzdG9yKSB7Ci0gICAgICAgIHJldHVy
biBhbmNlc3Rvci5hcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKTsKLSAgICB9KTsK
KyAgICBhdXRvIHJlc3VsdCA9IEFjY2Vzc2liaWxpdHlJc0lnbm9yZWRGcm9tUGFyZW50RGF0YSh0
aGlzKTsKKyAgICBib29sIGlzQ2hpbGRGb2N1c2VkID0gY2hpbGQtPmlzRm9jdXNlZCgpOworICAg
IGZvciAoYXV0byogb2JqZWN0ID0gY2hpbGQ7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5wYXJl
bnRPYmplY3QoKSkgeworICAgICAgICBpZiAoIXJlc3VsdC5pc0FYSGlkZGVuICYmICFpc0NoaWxk
Rm9jdXNlZCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShvYmplY3QtPmdldEF0dHJp
YnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC0+aXNGb2N1c2VkKCkp
CisgICAgICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IHRydWU7CisKKyAgICAgICAgaWYgKCFy
ZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSAmJiBvYmplY3QgIT0gY2hpbGQg
JiYgb2JqZWN0LT5hcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSkKKyAgICAgICAg
ICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gdHJ1ZTsKKworICAg
ICAgICBpZiAoIXJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCAmJiBvYmplY3QgIT0g
Y2hpbGQgJiYgIW9iamVjdC0+Y2FuSGF2ZUNoaWxkcmVuKCkpCisgICAgICAgICAgICByZXN1bHQu
aXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgPSB0cnVlOworCisgICAgICAgIGlmIChyZXN1bHQu
aXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgJiYgcmVzdWx0LmlzUHJlc2VudGF0aW9uYWxDaGls
ZE9mQXJpYVJvbGUgJiYgcmVzdWx0LmlzQVhIaWRkZW4pCisgICAgICAgICAgICBicmVhazsKKyAg
ICB9CisKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6
OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCog
Y2hpbGQpCkBAIC00MzQxLDExICs0MzY0LDggQEAgdm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpz
ZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YUZvckNoaWxkKEFjY2Vzc2liaWxpdHlPYmplY3QKICAg
ICAgICAgcmVzdWx0LmlzQVhIaWRkZW4gPSAobV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc0FY
SGlkZGVuIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGNoaWxkLT5nZXRBdHRyaWJ1
dGUoYXJpYV9oaWRkZW5BdHRyKSwgInRydWUiX3MpKSAmJiAhY2hpbGQtPmlzRm9jdXNlZCgpOwog
ICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IG1faXNJZ25v
cmVkRnJvbVBhcmVudERhdGEuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSB8fCBhcmlh
Um9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKTsKICAgICAgICAgcmVzdWx0LmlzRGVzY2Vu
ZGFudE9mQmFycmVuUGFyZW50ID0gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc0Rlc2NlbmRh
bnRPZkJhcnJlblBhcmVudCB8fCAhY2FuSGF2ZUNoaWxkcmVuKCk7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgICAgcmVzdWx0LmlzQVhIaWRkZW4gPSBjaGlsZC0+aXNBWEhpZGRlbigpOwotICAgICAgICBy
ZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IGNoaWxkLT5pc1ByZXNlbnRh
dGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCk7Ci0gICAgICAgIHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJh
cnJlblBhcmVudCA9IGNoaWxkLT5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpOwotICAgIH0K
KyAgICB9IGVsc2UKKyAgICAgICAgcmVzdWx0ID0gZ2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50
RGF0YShjaGlsZCk7CiAKICAgICBjaGlsZC0+c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGEocmVz
dWx0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmgKaW5kZXggMTkwODA4NmNlYjUzLi5kOTE4MjYxZDkwOTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0z
NjEsNyArMzYxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgYXJp
YVJvbGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6VW5rbm93
bjsgfQogICAgIGJvb2wgaGFzRXhwbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJuIGFy
aWFSb2xlQXR0cmlidXRlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkdlbmVyaWM7IH0KICAgICBi
b29sIGhhc0ltcGxpY2l0R2VuZXJpY1JvbGUoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYyAmJiAhaGFzRXhwbGljaXRHZW5lcmljUm9sZSgp
OyB9Ci0gICAgYm9vbCBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkgY29uc3Q7CiAg
ICAgYm9vbCBhcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSBjb25zdDsKICAgICBi
b29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
ZmFsc2U7IH0KIApAQCAtODI4LDYgKzgyNyw4IEBAIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0
eUNoaWxkcmVuVmVjdG9yIGFyaWFMaXN0Ym94U2VsZWN0ZWRDaGlsZHJlbigpOwogICAgIEFjY2Vz
c2liaWxpdHlDaGlsZHJlblZlY3RvciBhcmlhU2VsZWN0ZWRSb3dzKCk7CiAKKyAgICBBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEgZ2VuZXJhdGVJc0lnbm9yZWRGcm9tUGFyZW50
RGF0YShBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisKICAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIG9m
IGNsaWNrIHBvaW50IGZvciBsaW5rcy4KICAgICBJbnRQb2ludCBsaW5rQ2xpY2tQb2ludCgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBhODQ4NjVmZWMyNDQuLmNjNzVjZjc1NGQ3MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCkBAIC0xMDY2LDEwICsxMDY2LDYgQEAgYm9vbCBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAg
ICAgaWYgKGRlY2lzaW9uID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9i
amVjdCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAvLyBJZiB0aGlzIGVsZW1lbnQgaXMg
d2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRyZW4sIGl0IHNob3VsZCBub3Qg
YmUgZXhwb3NlZC4KLSAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQoKSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7ICAgIAotCiAgICAgaWYgKHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxp
dHlSb2xlOjpJZ25vcmVkKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468176</attachid>
            <date>2023-10-11 12:09:43 -0700</date>
            <delta_ts>2023-10-11 16:13:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231011120943.patch</filename>
            <type>text/plain</type>
            <size>8663</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSAwZDkyN2E0NDdiY2ZmMGI3NjZiMWIyY2M2ODgyYmRmMTBjNTI0MmZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFdlZCwgMTEgT2N0IDIwMjMgMTI6MDQ6MTcgLTA3MDAKU3ViamVjdDogW1BBVENIXSBB
WDogb3B0aW1pemUgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb21wdXRhdGlvbgogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MjczMyByZGFyOi8vcHJvYmxlbS8xMTY1
NDE5MzYKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0
PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgoKV2UgY3VycmVudGx5IHRyYXZlcnNlIHRoZSBhbmNlc3RvciBoaWVyYXJjaHkg
dGhyZWUgdGltZXMgdG8gY29tcHV0ZSBlYWNoIG9mCmlzQVhIaWRkZW4sIGlzUHJlc2VudGF0aW9u
YWxDaGlsZE9mQXJpYVJvbGUsIGFuZCBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudArigJRhbGwg
b2Ygd2hpY2ggd2UgZ2F0aGVyIHRvIGNvbXB1dGUgYWNjZXNzaWJpbGl0eSBpcyBpZ25vcmVkLgoK
VGhpcyBwYXRjaCBjb21iaW5lcyB0aG9zZSBhbmNlc3RvciB0cmF2ZXJzYWxzIGludG8gb25lLCB1
c2luZwpnZW5lcmF0ZUlzSWdub3JlZEZyb21QYXJlbnREYXRhLiBUaGlzIHNhdmVzIHVwIHRvIHJv
dWdobHkgMjAlIG9mIHNhbXBsZXMgZm9yCmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgYWNyb3NzIHZh
cmlvdXMgc2l0ZXMuCgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNhbkhh
dmVDaGlsZHJlbiBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y29t
cHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjppc0FSSUFIaWRkZW4p
OgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNBWEhpZGRlbiBjb25zdCk6CihXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZWZhdWx0T2JqZWN0SW5jbHVzaW9uIGNvbnN0KToK
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRh
Rm9yQ2hpbGQpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpoYXNJbXBsaWNpdEdlbmVyaWNSb2xlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgY29uc3Qp
OgotLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCB8ICA2
ICstLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgICAgIHwgNDEg
KysrKysrKysrKysrKy0tLS0tLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oICAgICAgIHwgIDEgLQogLi4uL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgICAg
ICAgICAgIHwgIDQgLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMjEgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCAxNzFjYWU0ODI4MzQuLmVhMjVjOTVlMzc0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTU4OSw3ICs1ODksMTAgQEAgYm9vbCBBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6Y2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QKICAgICAvLyBFbGVtZW50cyB0
aGF0IHNob3VsZCBub3QgaGF2ZSBjaGlsZHJlbi4KICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7
CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6QnV0dG9uOgorI2lmICFVU0UoQVRTUEkpCisg
ICAgLy8gR1RLL0FUU1BJIGxheW91dCB0ZXN0cyBleHBlY3QgcG9wdXAgYnV0dG9ucyB0byBiZSBj
YXBhYmxlIG9mIGhhdmluZyBjaGlsZHJlbi4KICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpQ
b3BVcEJ1dHRvbjoKKyNlbmRpZgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkNoZWNrQm94
OgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlJhZGlvQnV0dG9uOgogICAgIGNhc2UgQWNj
ZXNzaWJpbGl0eVJvbGU6OlRhYjoKQEAgLTY1Myw5ICs2NTYsNiBAQCBib29sIEFjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVj
dEluY2x1c2lvbjo6SWdub3JlT2JqZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAvLyBJ
ZiB0aGlzIGVsZW1lbnQgaXMgd2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRy
ZW4sIGl0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4KLSAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJy
ZW5QYXJlbnQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBhdXRvIHJvbGUgPSByb2xl
VmFsdWUoKTsKICAgICByZXR1cm4gcm9sZSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZCB8
fCByb2xlID09IEFjY2Vzc2liaWxpdHlSb2xlOjpVbmtub3duOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggOTRlYWIx
MGRjNDJlLi5jMjdiMGUwN2UyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMzkwNyw2ICszOTA3LDExIEBAIGJv
b2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZEJ5RGVmYXVsdCgp
IGNvbnN0CiAgICAgcmV0dXJuIGRlZmF1bHRPYmplY3RJbmNsdXNpb24oKSA9PSBBY2Nlc3NpYmls
aXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3Q7CiB9CiAKK3N0YXRpYyBib29sIGlzQVJJ
QUhpZGRlbihjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit7CisgICAgcmV0dXJu
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG9iamVjdC5nZXRBdHRyaWJ1dGUoYXJpYV9o
aWRkZW5BdHRyKSwgInRydWUiX3MpICYmICFvYmplY3QuaXNGb2N1c2VkKCk7Cit9OworCiAvLyBB
UklBIGNvbXBvbmVudCBvZiBoaWRkZW4gZGVmaW5pdGlvbi4KIC8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi93YWktYXJpYS8jZGZuLWhpZGRlbgogYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FY
SGlkZGVuKCkgY29uc3QKQEAgLTM5MTUsNyArMzkyMCw3IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9i
amVjdDo6aXNBWEhpZGRlbigpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKICAg
ICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6ZmluZEFuY2VzdG9yPEFjY2Vzc2liaWxpdHlPYmplY3Q+
KCp0aGlzLCB0cnVlLCBbXSAoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShvYmplY3QuZ2V0QXR0
cmlidXRlKGFyaWFfaGlkZGVuQXR0ciksICJ0cnVlIl9zKSAmJiAhb2JqZWN0LmlzRm9jdXNlZCgp
OworICAgICAgICByZXR1cm4gaXNBUklBSGlkZGVuKG9iamVjdCk7CiAgICAgfSkgIT0gbnVsbHB0
cjsKIH0KIApAQCAtMzk2MSwxMCArMzk2NiwxNiBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVz
aW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24oKSBjb25zdAog
ICAgIH0KIAogICAgIGJvb2wgdXNlUGFyZW50RGF0YSA9ICFtX2lzSWdub3JlZEZyb21QYXJlbnRE
YXRhLmlzTnVsbCgpOwotICAgIGlmICh1c2VQYXJlbnREYXRhID8gbV9pc0lnbm9yZWRGcm9tUGFy
ZW50RGF0YS5pc0FYSGlkZGVuIDogaXNBWEhpZGRlbigpKQorICAgIGlmICh1c2VQYXJlbnREYXRh
ICYmIChtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRkZW4gfHwgbV9pc0lnbm9yZWRG
cm9tUGFyZW50RGF0YS5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKSkKICAgICAgICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKIAotICAg
IGlmICh1c2VQYXJlbnREYXRhID8gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRh
dGlvbmFsQ2hpbGRPZkFyaWFSb2xlIDogaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgp
KQorICAgIGlmIChpc0FSSUFIaWRkZW4oKnRoaXMpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJp
bGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OworCisgICAgYm9vbCBpZ25vcmVBUklB
SGlkZGVuID0gaXNGb2N1c2VkKCk7CisgICAgaWYgKEFjY2Vzc2liaWxpdHk6OmZpbmRBbmNlc3Rv
cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PigqdGhpcywgZmFsc2UsIFsmXSAoY29uc3QgYXV0byYgb2Jq
ZWN0KSB7CisgICAgICAgIHJldHVybiAoIWlnbm9yZUFSSUFIaWRkZW4gJiYgaXNBUklBSGlkZGVu
KG9iamVjdCkpIHx8IG9iamVjdC5hcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSB8
fCAhb2JqZWN0LmNhbkhhdmVDaGlsZHJlbigpOworICAgIH0pKQogICAgICAgICByZXR1cm4gQWNj
ZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OwogCiAgICAgLy8gSW5jbHVk
ZSA8ZGlhbG9nPiBlbGVtZW50cyBhbmQgZWxlbWVudHMgd2l0aCByb2xlPSJkaWFsb2ciLgpAQCAt
NDMyNCwxMyArNDMzNSw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYVJvbGVIYXNQ
cmVzZW50YXRpb25hbENoaWxkcmVuKCkgY29uc3QKICAgICB9CiB9CiAKLWJvb2wgQWNjZXNzaWJp
bGl0eU9iamVjdDo6aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OmZpbmRBbmNlc3RvcigqdGhpcywgZmFsc2UsIFtdIChj
b25zdCBhdXRvJiBhbmNlc3RvcikgewotICAgICAgICByZXR1cm4gYW5jZXN0b3IuYXJpYVJvbGVI
YXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCk7Ci0gICAgfSk7Ci19Ci0KIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZChBY2Nlc3NpYmls
aXR5T2JqZWN0KiBjaGlsZCkKIHsKICAgICBpZiAoIWNoaWxkKQpAQCAtNDM0Miw5ICs0MzQ2LDIw
IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFG
b3JDaGlsZChBY2Nlc3NpYmlsaXR5T2JqZWN0CiAgICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlv
bmFsQ2hpbGRPZkFyaWFSb2xlID0gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc1ByZXNlbnRh
dGlvbmFsQ2hpbGRPZkFyaWFSb2xlIHx8IGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJl
bigpOwogICAgICAgICByZXN1bHQuaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgPSBtX2lzSWdu
b3JlZEZyb21QYXJlbnREYXRhLmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50IHx8ICFjYW5IYXZl
Q2hpbGRyZW4oKTsKICAgICB9IGVsc2UgewotICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IGNo
aWxkLT5pc0FYSGlkZGVuKCk7Ci0gICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRP
ZkFyaWFSb2xlID0gY2hpbGQtPmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKTsKLSAg
ICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gY2hpbGQtPmlzRGVzY2Vu
ZGFudE9mQmFycmVuUGFyZW50KCk7CisgICAgICAgIGlmIChpc0FSSUFIaWRkZW4oKmNoaWxkKSkK
KyAgICAgICAgICAgIHJlc3VsdC5pc0FYSGlkZGVuID0gdHJ1ZTsKKworICAgICAgICBib29sIGln
bm9yZUFSSUFIaWRkZW4gPSBjaGlsZC0+aXNGb2N1c2VkKCk7CisgICAgICAgIGZvciAoYXV0byog
b2JqZWN0ID0gY2hpbGQtPnBhcmVudE9iamVjdCgpOyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+
cGFyZW50T2JqZWN0KCkpIHsKKyAgICAgICAgICAgIGlmICghcmVzdWx0LmlzQVhIaWRkZW4gJiYg
IWlnbm9yZUFSSUFIaWRkZW4gJiYgaXNBUklBSGlkZGVuKCpvYmplY3QpKQorICAgICAgICAgICAg
ICAgIHJlc3VsdC5pc0FYSGlkZGVuID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKCFyZXN1bHQu
aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSAmJiBvYmplY3QtPmFyaWFSb2xlSGFzUHJl
c2VudGF0aW9uYWxDaGlsZHJlbigpKQorICAgICAgICAgICAgICAgIHJlc3VsdC5pc1ByZXNlbnRh
dGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKCFyZXN1bHQu
aXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgJiYgIW9iamVjdC0+Y2FuSGF2ZUNoaWxkcmVuKCkp
CisgICAgICAgICAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gdHJ1
ZTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9tUGFyZW50
RGF0YShyZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaAppbmRleCAxOTA4MDg2Y2ViNTMuLmJhMWI0MzkwMDEwNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgK
QEAgLTM2MSw3ICszNjEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9s
ZSBhcmlhUm9sZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxpdHlSb2xlOjpV
bmtub3duOyB9CiAgICAgYm9vbCBoYXNFeHBsaWNpdEdlbmVyaWNSb2xlKCkgY29uc3QgeyByZXR1
cm4gYXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYzsgfQog
ICAgIGJvb2wgaGFzSW1wbGljaXRHZW5lcmljUm9sZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1
ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljICYmICFoYXNFeHBsaWNpdEdlbmVyaWNS
b2xlKCk7IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25z
dDsKICAgICBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0Owog
ICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBmYWxzZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBhODQ4NjVmZWMyNDQuLmNj
NzVjZjc1NGQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0xMDY2LDEwICsxMDY2LDYgQEAg
Ym9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdu
b3JlZCgpIGNvbnN0CiAgICAgaWYgKGRlY2lzaW9uID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNs
dXNpb246Oklnbm9yZU9iamVjdCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAvLyBJZiB0
aGlzIGVsZW1lbnQgaXMgd2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRyZW4s
IGl0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4KLSAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJyZW5Q
YXJlbnQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7ICAgIAotCiAgICAgaWYgKHJvbGVWYWx1ZSgp
ID09IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25vcmVkKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468179</attachid>
            <date>2023-10-11 16:13:13 -0700</date>
            <delta_ts>2023-10-11 19:39:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231011161312.patch</filename>
            <type>text/plain</type>
            <size>8622</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSA1ZTg4ODRkY2VjZTgzNTI0OWU4OWFhZjQxNzZmMTk4ZWJmOTUzM2FiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFdlZCwgMTEgT2N0IDIwMjMgMTI6MDQ6MTcgLTA3MDAKU3ViamVjdDogW1BBVENIXSBB
WDogb3B0aW1pemUgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb21wdXRhdGlvbgogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MjczMyByZGFyOi8vcHJvYmxlbS8xMTY1
NDE5MzYKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0
PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClJldmlld2VkIGJ5IFR5bGVy
IFdpbGNvY2suCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUuIFRo
aXMgc2F2ZXMgdXAgdG8gcm91Z2hseQoyMCUgb2Ygc2FtcGxlcyBmb3IgYWNjZXNzaWJpbGl0eUlz
SWdub3JlZCBhY3Jvc3MgdmFyaW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdDo6Y2FuSGF2ZUNoaWxkcmVuIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKFdlYkNv
cmU6OmlzQVJJQUhpZGRlbik6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FYSGlk
ZGVuIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJ
bmNsdXNpb24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c2V0SXNJZ25v
cmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIGNvbnN0KTogRGVsZXRlZC4KKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc0ltcGxpY2l0R2VuZXJpY1JvbGUgY29uc3QpOgoqIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0
eUlzSWdub3JlZCBjb25zdCk6Ci0tLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwIHwgIDYgKy0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcCAgICAgfCA0MSArKysrKysrKysrKysrLS0tLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmggICAgICAgfCAgMSAtCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgNCAtLQogNCBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNl
cnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDE3MWNhZTQ4
MjgzNC4uZWEyNWM5NWUzNzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtNTg5LDcgKzU4OSwxMCBA
QCBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdAog
ICAgIC8vIEVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBoYXZlIGNoaWxkcmVuLgogICAgIHN3aXRj
aCAocm9sZVZhbHVlKCkpIHsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246Cisj
aWYgIVVTRShBVFNQSSkKKyAgICAvLyBHVEsvQVRTUEkgbGF5b3V0IHRlc3RzIGV4cGVjdCBwb3B1
cCBidXR0b25zIHRvIGJlIGNhcGFibGUgb2YgaGF2aW5nIGNoaWxkcmVuLgogICAgIGNhc2UgQWNj
ZXNzaWJpbGl0eVJvbGU6OlBvcFVwQnV0dG9uOgorI2VuZGlmCiAgICAgY2FzZSBBY2Nlc3NpYmls
aXR5Um9sZTo6Q2hlY2tCb3g6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6UmFkaW9CdXR0
b246CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGFiOgpAQCAtNjUzLDkgKzY1Niw2IEBA
IGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25v
cmVkKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChkZWNpc2lvbiA9PSBB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3QpCiAgICAgICAgIHJldHVy
biB0cnVlOwotICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBj
YW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChp
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IGF1dG8gcm9sZSA9IHJvbGVWYWx1ZSgpOwogICAgIHJldHVybiByb2xlID09IEFjY2Vzc2liaWxp
dHlSb2xlOjpJZ25vcmVkIHx8IHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAppbmRleCA5NGVhYjEwZGM0MmUuLjkzYTE3ZTY2ZGZlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0zOTA3
LDYgKzM5MDcsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJ
Z25vcmVkQnlEZWZhdWx0KCkgY29uc3QKICAgICByZXR1cm4gZGVmYXVsdE9iamVjdEluY2x1c2lv
bigpID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKIH0KIAor
c3RhdGljIGJvb2wgaXNBUklBSGlkZGVuKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVj
dCkKK3sKKyAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uob2JqZWN0Lmdl
dEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC5pc0ZvY3Vz
ZWQoKTsKK30KKwogLy8gQVJJQSBjb21wb25lbnQgb2YgaGlkZGVuIGRlZmluaXRpb24uCiAvLyBo
dHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2Rmbi1oaWRkZW4KIGJvb2wgQWNjZXNzaWJp
bGl0eU9iamVjdDo6aXNBWEhpZGRlbigpIGNvbnN0CkBAIC0zOTE1LDcgKzM5MjAsNyBAQCBib29s
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzQVhIaWRkZW4oKSBjb25zdAogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgCiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OmZpbmRBbmNlc3RvcjxBY2Nl
c3NpYmlsaXR5T2JqZWN0PigqdGhpcywgdHJ1ZSwgW10gKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iamVjdCkgewotICAgICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2Uob2JqZWN0LmdldEF0dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9i
amVjdC5pc0ZvY3VzZWQoKTsKKyAgICAgICAgcmV0dXJuIGlzQVJJQUhpZGRlbihvYmplY3QpOwog
ICAgIH0pICE9IG51bGxwdHI7CiB9CiAKQEAgLTM5NjEsMTAgKzM5NjYsMTYgQEAgQWNjZXNzaWJp
bGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZWZhdWx0T2JqZWN0SW5j
bHVzaW9uKCkgY29uc3QKICAgICB9CiAKICAgICBib29sIHVzZVBhcmVudERhdGEgPSAhbV9pc0ln
bm9yZWRGcm9tUGFyZW50RGF0YS5pc051bGwoKTsKLSAgICBpZiAodXNlUGFyZW50RGF0YSA/IG1f
aXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiA6IGlzQVhIaWRkZW4oKSkKKyAgICBp
ZiAodXNlUGFyZW50RGF0YSAmJiAobV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc0FYSGlkZGVu
IHx8IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlh
Um9sZSkpCiAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25v
cmVPYmplY3Q7CiAKLSAgICBpZiAodXNlUGFyZW50RGF0YSA/IG1faXNJZ25vcmVkRnJvbVBhcmVu
dERhdGEuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA6IGlzUHJlc2VudGF0aW9uYWxD
aGlsZE9mQXJpYVJvbGUoKSkKKyAgICBpZiAoaXNBUklBSGlkZGVuKCp0aGlzKSkKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKKworICAg
IGJvb2wgaWdub3JlQVJJQUhpZGRlbiA9IGlzRm9jdXNlZCgpOworICAgIGlmIChBY2Nlc3NpYmls
aXR5OjpmaW5kQW5jZXN0b3I8QWNjZXNzaWJpbGl0eU9iamVjdD4oKnRoaXMsIGZhbHNlLCBbJl0g
KGNvbnN0IGF1dG8mIG9iamVjdCkgeworICAgICAgICByZXR1cm4gKCFpZ25vcmVBUklBSGlkZGVu
ICYmIGlzQVJJQUhpZGRlbihvYmplY3QpKSB8fCBvYmplY3QuYXJpYVJvbGVIYXNQcmVzZW50YXRp
b25hbENoaWxkcmVuKCkgfHwgIW9iamVjdC5jYW5IYXZlQ2hpbGRyZW4oKTsKKyAgICB9KSkKICAg
ICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsK
IAogICAgIC8vIEluY2x1ZGUgPGRpYWxvZz4gZWxlbWVudHMgYW5kIGVsZW1lbnRzIHdpdGggcm9s
ZT0iZGlhbG9nIi4KQEAgLTQzMjQsMTMgKzQzMzUsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0CiAgICAgfQogfQog
Ci1ib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJv
bGUoKSBjb25zdAotewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3IoKnRo
aXMsIGZhbHNlLCBbXSAoY29uc3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJuIGFu
Y2VzdG9yLmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOwotfQot
CiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9y
Q2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQpCiB7CiAgICAgaWYgKCFjaGlsZCkKQEAg
LTQzNDIsOSArNDM0NiwyMCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElzSWdub3Jl
ZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdAogICAgICAgICByZXN1
bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IG1faXNJZ25vcmVkRnJvbVBhcmVu
dERhdGEuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSB8fCBhcmlhUm9sZUhhc1ByZXNl
bnRhdGlvbmFsQ2hpbGRyZW4oKTsKICAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVu
UGFyZW50ID0gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5pc0Rlc2NlbmRhbnRPZkJhcnJlblBh
cmVudCB8fCAhY2FuSGF2ZUNoaWxkcmVuKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcmVzdWx0
LmlzQVhIaWRkZW4gPSBjaGlsZC0+aXNBWEhpZGRlbigpOwotICAgICAgICByZXN1bHQuaXNQcmVz
ZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IGNoaWxkLT5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRP
ZkFyaWFSb2xlKCk7Ci0gICAgICAgIHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9
IGNoaWxkLT5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpOworICAgICAgICBpZiAoaXNBUklB
SGlkZGVuKCpjaGlsZCkpCisgICAgICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IHRydWU7CisK
KyAgICAgICAgYm9vbCBpZ25vcmVBUklBSGlkZGVuID0gY2hpbGQtPmlzRm9jdXNlZCgpOworICAg
ICAgICBmb3IgKGF1dG8qIG9iamVjdCA9IGNoaWxkLT5wYXJlbnRPYmplY3QoKTsgb2JqZWN0OyBv
YmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7CisgICAgICAgICAgICBpZiAoIXJlc3Vs
dC5pc0FYSGlkZGVuICYmICFpZ25vcmVBUklBSGlkZGVuICYmIGlzQVJJQUhpZGRlbigqb2JqZWN0
KSkKKyAgICAgICAgICAgICAgICByZXN1bHQuaXNBWEhpZGRlbiA9IHRydWU7CisKKyAgICAgICAg
ICAgIGlmICghcmVzdWx0LmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgJiYgb2JqZWN0
LT5hcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKSkKKyAgICAgICAgICAgICAgICBy
ZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IHRydWU7CisKKyAgICAgICAg
ICAgIGlmICghcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ICYmICFvYmplY3QtPmNh
bkhhdmVDaGlsZHJlbigpKQorICAgICAgICAgICAgICAgIHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJh
cnJlblBhcmVudCA9IHRydWU7CisgICAgICAgIH0KICAgICB9CiAKICAgICBjaGlsZC0+c2V0SXNJ
Z25vcmVkRnJvbVBhcmVudERhdGEocmVzdWx0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggMTkwODA4NmNlYjUzLi5iYTFi
NDM5MDAxMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oCkBAIC0zNjEsNyArMzYxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
QWNjZXNzaWJpbGl0eVJvbGUgYXJpYVJvbGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBBY2Nl
c3NpYmlsaXR5Um9sZTo6VW5rbm93bjsgfQogICAgIGJvb2wgaGFzRXhwbGljaXRHZW5lcmljUm9s
ZSgpIGNvbnN0IHsgcmV0dXJuIGFyaWFSb2xlQXR0cmlidXRlKCkgPT0gQWNjZXNzaWJpbGl0eVJv
bGU6OkdlbmVyaWM7IH0KICAgICBib29sIGhhc0ltcGxpY2l0R2VuZXJpY1JvbGUoKSBjb25zdCB7
IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6R2VuZXJpYyAmJiAhaGFz
RXhwbGljaXRHZW5lcmljUm9sZSgpOyB9Ci0gICAgYm9vbCBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRP
ZkFyaWFSb2xlKCkgY29uc3Q7CiAgICAgYm9vbCBhcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hp
bGRyZW4oKSBjb25zdDsKICAgICBib29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXgg
YTg0ODY1ZmVjMjQ0Li5jYzc1Y2Y3NTRkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMTA2
NiwxMCArMTA2Niw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Y29tcHV0ZUFj
Y2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nlc3Np
YmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3QpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgLy8gSWYgdGhpcyBlbGVtZW50IGlzIHdpdGhpbiBhIHBhcmVudCB0aGF0IGNhbm5v
dCBoYXZlIGNoaWxkcmVuLCBpdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuCi0gICAgaWYgKGlzRGVz
Y2VuZGFudE9mQmFycmVuUGFyZW50KCkpCi0gICAgICAgIHJldHVybiB0cnVlOyAgICAKLQogICAg
IGlmIChyb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZCkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468183</attachid>
            <date>2023-10-11 19:39:23 -0700</date>
            <delta_ts>2023-10-12 22:16:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231011193923.patch</filename>
            <type>text/plain</type>
            <size>8902</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBhZmUwZjZiOWM0MzFhOGYyZWYyZDY0NDhlYmE4NzViZDdiZWIxZTA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFdlZCwgMTEgT2N0IDIwMjMgMTI6MDQ6MTcgLTA3MDAKU3ViamVjdDogW1BBVENIXSBB
WDogb3B0aW1pemUgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb21wdXRhdGlvbgogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MjczMyByZGFyOi8vcHJvYmxlbS8xMTY1
NDE5MzYKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0
PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClJldmlld2VkIGJ5IFR5bGVy
IFdpbGNvY2suCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUuIFRo
aXMgc2F2ZXMgdXAgdG8gcm91Z2hseQoyMCUgb2Ygc2FtcGxlcyBmb3IgYWNjZXNzaWJpbGl0eUlz
SWdub3JlZCBhY3Jvc3MgdmFyaW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdDo6Y2FuSGF2ZUNoaWxkcmVuIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzQVJJQUhpZGRlbiBjb25zdCk6CihXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FYSGlkZGVuIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3Q6OmRlZmF1bHRPYmplY3RJbmNsdXNpb24gY29uc3QpOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZCk6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc0ltcGxp
Y2l0R2VuZXJpY1JvbGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6Ci0tLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgIDYgKy0tCiAuLi4vYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAgICAgfCA0MSArKysrKysrKysrKysr
LS0tLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggICAgICAgfCAg
MiArLQogLi4uL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgICAgICAgICAgIHwgIDQg
LS0KIDQgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcAppbmRleCAxNzFjYWU0ODI4MzQuLjk0NDkxOGVjZmEyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdC5jcHAKQEAgLTU4OSw3ICs1ODksMTAgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dDo6Y2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QKICAgICAvLyBFbGVtZW50cyB0aGF0IHNob3VsZCBu
b3QgaGF2ZSBjaGlsZHJlbi4KICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7CiAgICAgY2FzZSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6QnV0dG9uOgorI2lmICFVU0UoQVRTUEkpCisgICAgLy8gR1RLL0FU
U1BJIGxheW91dCB0ZXN0cyBleHBlY3QgcG9wdXAgYnV0dG9ucyB0byBoYXZlIGNoaWxkcmVuLgog
ICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlBvcFVwQnV0dG9uOgorI2VuZGlmCiAgICAgY2Fz
ZSBBY2Nlc3NpYmlsaXR5Um9sZTo6Q2hlY2tCb3g6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9s
ZTo6UmFkaW9CdXR0b246CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGFiOgpAQCAtNjUz
LDkgKzY1Niw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChk
ZWNpc2lvbiA9PSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3QpCiAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3aXRoaW4gYSBw
YXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBiZSBleHBvc2Vk
LgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogICAgIGF1dG8gcm9sZSA9IHJvbGVWYWx1ZSgpOwogICAgIHJldHVybiByb2xlID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpJZ25vcmVkIHx8IHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6
OlVua25vd247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcAppbmRleCA5NGVhYjEwZGM0MmUuLjEzODhlMGIzODZiZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCkBAIC0zOTA3LDYgKzM5MDcsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nl
c3NpYmlsaXR5SXNJZ25vcmVkQnlEZWZhdWx0KCkgY29uc3QKICAgICByZXR1cm4gZGVmYXVsdE9i
amVjdEluY2x1c2lvbigpID09IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9i
amVjdDsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FSSUFIaWRkZW4oKSBjb25z
dAoreworICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShnZXRBdHRyaWJ1
dGUoYXJpYV9oaWRkZW5BdHRyKSwgInRydWUiX3MpICYmICFpc0ZvY3VzZWQoKTsKK30KKwogLy8g
QVJJQSBjb21wb25lbnQgb2YgaGlkZGVuIGRlZmluaXRpb24uCiAvLyBodHRwczovL3d3dy53My5v
cmcvVFIvd2FpLWFyaWEvI2Rmbi1oaWRkZW4KIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNB
WEhpZGRlbigpIGNvbnN0CkBAIC0zOTE1LDcgKzM5MjAsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmlzQVhIaWRkZW4oKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAg
ICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OmZpbmRBbmNlc3RvcjxBY2Nlc3NpYmlsaXR5T2JqZWN0
PigqdGhpcywgdHJ1ZSwgW10gKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkgewot
ICAgICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uob2JqZWN0LmdldEF0
dHJpYnV0ZShhcmlhX2hpZGRlbkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC5pc0ZvY3VzZWQo
KTsKKyAgICAgICAgcmV0dXJuIG9iamVjdC5pc0FSSUFIaWRkZW4oKTsKICAgICB9KSAhPSBudWxs
cHRyOwogfQogCkBAIC0zOTYxLDEwICszOTY2LDE2IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNs
dXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lvbigpIGNvbnN0
CiAgICAgfQogCiAgICAgYm9vbCB1c2VQYXJlbnREYXRhID0gIW1faXNJZ25vcmVkRnJvbVBhcmVu
dERhdGEuaXNOdWxsKCk7Ci0gICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21Q
YXJlbnREYXRhLmlzQVhIaWRkZW4gOiBpc0FYSGlkZGVuKCkpCisgICAgaWYgKHVzZVBhcmVudERh
dGEgJiYgKG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiB8fCBtX2lzSWdub3Jl
ZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUpKQogICAgICAg
ICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OwogCi0g
ICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2Vu
dGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUgOiBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xl
KCkpCisgICAgaWYgKGlzQVJJQUhpZGRlbigpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OworCisgICAgYm9vbCBpZ25vcmVBUklBSGlk
ZGVuID0gaXNGb2N1c2VkKCk7CisgICAgaWYgKEFjY2Vzc2liaWxpdHk6OmZpbmRBbmNlc3RvcjxB
Y2Nlc3NpYmlsaXR5T2JqZWN0PigqdGhpcywgZmFsc2UsIFsmXSAoY29uc3QgYXV0byYgb2JqZWN0
KSB7CisgICAgICAgIHJldHVybiAoIWlnbm9yZUFSSUFIaWRkZW4gJiYgb2JqZWN0LmlzQVJJQUhp
ZGRlbigpKSB8fCBvYmplY3QuYXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkgfHwg
IW9iamVjdC5jYW5IYXZlQ2hpbGRyZW4oKTsKKyAgICB9KSkKICAgICAgICAgcmV0dXJuIEFjY2Vz
c2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKIAogICAgIC8vIEluY2x1ZGUg
PGRpYWxvZz4gZWxlbWVudHMgYW5kIGVsZW1lbnRzIHdpdGggcm9sZT0iZGlhbG9nIi4KQEAgLTQz
MjQsMTMgKzQzMzUsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFSb2xlSGFzUHJl
c2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0CiAgICAgfQogfQogCi1ib29sIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdAotewotICAg
IHJldHVybiBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3IoKnRoaXMsIGZhbHNlLCBbXSAoY29u
c3QgYXV0byYgYW5jZXN0b3IpIHsKLSAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmFyaWFSb2xlSGFz
UHJlc2VudGF0aW9uYWxDaGlsZHJlbigpOwotICAgIH0pOwotfQotCiB2b2lkIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0
eU9iamVjdCogY2hpbGQpCiB7CiAgICAgaWYgKCFjaGlsZCkKQEAgLTQzNDIsOSArNDM0NiwyMCBA
QCB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9y
Q2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdAogICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSA9IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNQcmVzZW50YXRp
b25hbENoaWxkT2ZBcmlhUm9sZSB8fCBhcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4o
KTsKICAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gbV9pc0lnbm9y
ZWRGcm9tUGFyZW50RGF0YS5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCB8fCAhY2FuSGF2ZUNo
aWxkcmVuKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcmVzdWx0LmlzQVhIaWRkZW4gPSBjaGls
ZC0+aXNBWEhpZGRlbigpOwotICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZB
cmlhUm9sZSA9IGNoaWxkLT5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCk7Ci0gICAg
ICAgIHJlc3VsdC5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCA9IGNoaWxkLT5pc0Rlc2NlbmRh
bnRPZkJhcnJlblBhcmVudCgpOworICAgICAgICBpZiAoY2hpbGQtPmlzQVJJQUhpZGRlbigpKQor
ICAgICAgICAgICAgcmVzdWx0LmlzQVhIaWRkZW4gPSB0cnVlOworCisgICAgICAgIGJvb2wgaWdu
b3JlQVJJQUhpZGRlbiA9IGNoaWxkLT5pc0ZvY3VzZWQoKTsKKyAgICAgICAgZm9yIChhdXRvKiBv
YmplY3QgPSBjaGlsZC0+cGFyZW50T2JqZWN0KCk7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5w
YXJlbnRPYmplY3QoKSkgeworICAgICAgICAgICAgaWYgKCFyZXN1bHQuaXNBWEhpZGRlbiAmJiAh
aWdub3JlQVJJQUhpZGRlbiAmJiBvYmplY3QtPmlzQVJJQUhpZGRlbigpKQorICAgICAgICAgICAg
ICAgIHJlc3VsdC5pc0FYSGlkZGVuID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKCFyZXN1bHQu
aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSAmJiBvYmplY3QtPmFyaWFSb2xlSGFzUHJl
c2VudGF0aW9uYWxDaGlsZHJlbigpKQorICAgICAgICAgICAgICAgIHJlc3VsdC5pc1ByZXNlbnRh
dGlvbmFsQ2hpbGRPZkFyaWFSb2xlID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKCFyZXN1bHQu
aXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQgJiYgIW9iamVjdC0+Y2FuSGF2ZUNoaWxkcmVuKCkp
CisgICAgICAgICAgICAgICAgcmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gdHJ1
ZTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9tUGFyZW50
RGF0YShyZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaAppbmRleCAxOTA4MDg2Y2ViNTMuLmNlNWM1MTc5M2MwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgK
QEAgLTI2NCw2ICsyNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWNvbXB1dGVJc0lnbm9yZWQo
KTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIGRlZmF1bHRPYmplY3RJbmNsdXNp
b24oKSBjb25zdDsKICAgICBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWRCeURlZmF1bHQoKSBj
b25zdDsKKyAgICBib29sIGlzQVJJQUhpZGRlbigpIGNvbnN0OwogCiAgICAgYm9vbCBpc1Nob3dp
bmdWYWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0OwogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZSgpIGNvbnN0OwpAQCAtMzYxLDcgKzM2Miw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEFjY2Vz
c2liaWxpdHlSb2xlIGFyaWFSb2xlQXR0cmlidXRlKCkgY29uc3QgeyByZXR1cm4gQWNjZXNzaWJp
bGl0eVJvbGU6OlVua25vd247IH0KICAgICBib29sIGhhc0V4cGxpY2l0R2VuZXJpY1JvbGUoKSBj
b25zdCB7IHJldHVybiBhcmlhUm9sZUF0dHJpYnV0ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpH
ZW5lcmljOyB9CiAgICAgYm9vbCBoYXNJbXBsaWNpdEdlbmVyaWNSb2xlKCkgY29uc3QgeyByZXR1
cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkdlbmVyaWMgJiYgIWhhc0V4cGxp
Y2l0R2VuZXJpY1JvbGUoKTsgfQotICAgIGJvb2wgaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlh
Um9sZSgpIGNvbnN0OwogICAgIGJvb2wgYXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVu
KCkgY29uc3Q7CiAgICAgYm9vbCBpbmhlcml0c1ByZXNlbnRhdGlvbmFsUm9sZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGE4NDg2
NWZlYzI0NC4uY2M3NWNmNzU0ZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjYsMTAg
KzEwNjYsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2
ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRh
bnRPZkJhcnJlblBhcmVudCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsgICAgCi0KICAgICBpZiAo
cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Oklnbm9yZWQpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468198</attachid>
            <date>2023-10-12 22:17:01 -0700</date>
            <delta_ts>2023-10-13 12:03:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-262733-20231012221701.patch</filename>
            <type>text/plain</type>
            <size>8941</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBjY2IzM2UwOWYzNmQ4NjRiNTAzODQ5YmQwNmYwYjA1NDI5YTk5MTkwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IFRodSwgMTIgT2N0IDIwMjMgMjI6MDQ6NTAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBB
WDogb3B0aW1pemUgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb21wdXRhdGlvbgogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MjczMyByZGFyOi8vcHJvYmxlbS8xMTY1
NDE5MzYKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0
PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClJldmlld2VkIGJ5IFR5bGVy
IFdpbGNvY2suCgpXZSBjdXJyZW50bHkgdHJhdmVyc2UgdGhlIGFuY2VzdG9yIGhpZXJhcmNoeSB0
aHJlZSB0aW1lcyB0byBjb21wdXRlIGVhY2ggb2YKaXNBWEhpZGRlbiwgaXNQcmVzZW50YXRpb25h
bENoaWxkT2ZBcmlhUm9sZSwgYW5kIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50CuKAlGFsbCBv
ZiB3aGljaCB3ZSBnYXRoZXIgdG8gY29tcHV0ZSBhY2Nlc3NpYmlsaXR5IGlzIGlnbm9yZWQuCgpU
aGlzIHBhdGNoIGNvbWJpbmVzIHRob3NlIGFuY2VzdG9yIHRyYXZlcnNhbHMgaW50byBvbmUsIHVz
aW5nCmdlbmVyYXRlSXNJZ25vcmVkRnJvbVBhcmVudERhdGEuIFRoaXMgc2F2ZXMgdXAgdG8gcm91
Z2hseSAyMCUgb2Ygc2FtcGxlcyBmb3IKYWNjZXNzaWJpbGl0eUlzSWdub3JlZCBhY3Jvc3MgdmFy
aW91cyBzaXRlcy4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2FuSGF2
ZUNoaWxkcmVuIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpjb21w
dXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlP
YmplY3Q6OmlzQVJJQUhpZGRlbiBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Ojppc0FYSGlkZGVuIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRlZmF1
bHRPYmplY3RJbmNsdXNpb24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6
c2V0SXNJZ25vcmVkRnJvbVBhcmVudERhdGFGb3JDaGlsZCk6CihXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIGNvbnN0KTogRGVsZXRl
ZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoK
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc0ltcGxpY2l0R2VuZXJpY1JvbGUgY29u
c3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpjb21wdXRlQWNj
ZXNzaWJpbGl0eUlzSWdub3JlZCBjb25zdCk6Ci0tLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuY3BwIHwgIDYgKy0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcCAgICAgfCA0MSArKysrKysrKysrKysrLS0tLS0tCiAuLi4vYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggICAgICAgfCAgMiArLQogLi4uL0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwICAgICAgICAgICAgIHwgIDQgLS0KIDQgZmlsZXMgY2hhbmdl
ZCwgMzIgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRl
eCA5ZTgwODY4M2VjMjkuLjQ0MTEzY2RiYmYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTU5MSw3
ICs1OTEsMTAgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2FuSGF2ZUNoaWxkcmVu
KCkgY29uc3QKICAgICAvLyBFbGVtZW50cyB0aGF0IHNob3VsZCBub3QgaGF2ZSBjaGlsZHJlbi4K
ICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6
QnV0dG9uOgorI2lmICFVU0UoQVRTUEkpCisgICAgLy8gR1RLL0FUU1BJIGxheW91dCB0ZXN0cyBl
eHBlY3QgcG9wdXAgYnV0dG9ucyB0byBoYXZlIGNoaWxkcmVuLgogICAgIGNhc2UgQWNjZXNzaWJp
bGl0eVJvbGU6OlBvcFVwQnV0dG9uOgorI2VuZGlmCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9s
ZTo6Q2hlY2tib3g6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6UmFkaW9CdXR0b246CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGFiOgpAQCAtNjU1LDkgKzY1OCw2IEBAIGJvb2wg
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkg
Y29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChkZWNpc2lvbiA9PSBBY2Nlc3Np
YmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpJZ25vcmVPYmplY3QpCiAgICAgICAgIHJldHVybiB0cnVl
OwotICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3Qg
aGF2ZSBjaGlsZHJlbiwgaXQgc2hvdWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2Nl
bmRhbnRPZkJhcnJlblBhcmVudCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGF1dG8g
cm9sZSA9IHJvbGVWYWx1ZSgpOwogICAgIHJldHVybiByb2xlID09IEFjY2Vzc2liaWxpdHlSb2xl
OjpJZ25vcmVkIHx8IHJvbGUgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd247CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApp
bmRleCAxYmFlYjFiZjFkMjMuLmU3MGQ2N2ExOGM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0zOTE1LDYgKzM5
MTUsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
QnlEZWZhdWx0KCkgY29uc3QKICAgICByZXR1cm4gZGVmYXVsdE9iamVjdEluY2x1c2lvbigpID09
IEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb246Oklnbm9yZU9iamVjdDsKIH0KIAorYm9vbCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FSSUFIaWRkZW4oKSBjb25zdAoreworICAgIHJldHVybiBl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShnZXRBdHRyaWJ1dGUoYXJpYV9oaWRkZW5BdHRy
KSwgInRydWUiX3MpICYmICFpc0ZvY3VzZWQoKTsKK30KKwogLy8gQVJJQSBjb21wb25lbnQgb2Yg
aGlkZGVuIGRlZmluaXRpb24uCiAvLyBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2Rm
bi1oaWRkZW4KIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNBWEhpZGRlbigpIGNvbnN0CkBA
IC0zOTIzLDcgKzM5MjgsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzQVhIaWRkZW4o
KSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHk6OmZpbmRBbmNlc3RvcjxBY2Nlc3NpYmlsaXR5T2JqZWN0PigqdGhpcywgdHJ1ZSwgW10g
KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkgewotICAgICAgICByZXR1cm4gZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uob2JqZWN0LmdldEF0dHJpYnV0ZShhcmlhX2hpZGRl
bkF0dHIpLCAidHJ1ZSJfcykgJiYgIW9iamVjdC5pc0ZvY3VzZWQoKTsKKyAgICAgICAgcmV0dXJu
IG9iamVjdC5pc0FSSUFIaWRkZW4oKTsKICAgICB9KSAhPSBudWxscHRyOwogfQogCkBAIC0zOTY5
LDEwICszOTc0LDE2IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0
eU9iamVjdDo6ZGVmYXVsdE9iamVjdEluY2x1c2lvbigpIGNvbnN0CiAgICAgfQogCiAgICAgYm9v
bCB1c2VQYXJlbnREYXRhID0gIW1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNOdWxsKCk7Ci0g
ICAgaWYgKHVzZVBhcmVudERhdGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzQVhIaWRk
ZW4gOiBpc0FYSGlkZGVuKCkpCisgICAgaWYgKHVzZVBhcmVudERhdGEgJiYgKG1faXNJZ25vcmVk
RnJvbVBhcmVudERhdGEuaXNBWEhpZGRlbiB8fCBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlz
UHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUpKQogICAgICAgICByZXR1cm4gQWNjZXNzaWJp
bGl0eU9iamVjdEluY2x1c2lvbjo6SWdub3JlT2JqZWN0OwogCi0gICAgaWYgKHVzZVBhcmVudERh
dGEgPyBtX2lzSWdub3JlZEZyb21QYXJlbnREYXRhLmlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJp
YVJvbGUgOiBpc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCkpCisgICAgaWYgKGlzQVJJ
QUhpZGRlbigpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6
SWdub3JlT2JqZWN0OworCisgICAgYm9vbCBpZ25vcmVBUklBSGlkZGVuID0gaXNGb2N1c2VkKCk7
CisgICAgaWYgKEFjY2Vzc2liaWxpdHk6OmZpbmRBbmNlc3RvcjxBY2Nlc3NpYmlsaXR5T2JqZWN0
PigqdGhpcywgZmFsc2UsIFsmXSAoY29uc3QgYXV0byYgb2JqZWN0KSB7CisgICAgICAgIHJldHVy
biAoIWlnbm9yZUFSSUFIaWRkZW4gJiYgb2JqZWN0LmlzQVJJQUhpZGRlbigpKSB8fCBvYmplY3Qu
YXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkgfHwgIW9iamVjdC5jYW5IYXZlQ2hp
bGRyZW4oKTsKKyAgICB9KSkKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNs
dXNpb246Oklnbm9yZU9iamVjdDsKIAogICAgIC8vIEluY2x1ZGUgPGRpYWxvZz4gZWxlbWVudHMg
YW5kIGVsZW1lbnRzIHdpdGggcm9sZT0iZGlhbG9nIi4KQEAgLTQzMzIsMTMgKzQzNDMsNiBAQCBi
b29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJl
bigpIGNvbnN0CiAgICAgfQogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzUHJlc2Vu
dGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdAotewotICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5OjpmaW5kQW5jZXN0b3IoKnRoaXMsIGZhbHNlLCBbXSAoY29uc3QgYXV0byYgYW5jZXN0b3Ip
IHsKLSAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGls
ZHJlbigpOwotICAgIH0pOwotfQotCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldElzSWdu
b3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQpCiB7
CiAgICAgaWYgKCFjaGlsZCkKQEAgLTQzNTAsOSArNDM1NCwyMCBAQCB2b2lkIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OnNldElzSWdub3JlZEZyb21QYXJlbnREYXRhRm9yQ2hpbGQoQWNjZXNzaWJpbGl0
eU9iamVjdAogICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9
IG1faXNJZ25vcmVkRnJvbVBhcmVudERhdGEuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9s
ZSB8fCBhcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4oKTsKICAgICAgICAgcmVzdWx0
LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gbV9pc0lnbm9yZWRGcm9tUGFyZW50RGF0YS5p
c0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCB8fCAhY2FuSGF2ZUNoaWxkcmVuKCk7CiAgICAgfSBl
bHNlIHsKLSAgICAgICAgcmVzdWx0LmlzQVhIaWRkZW4gPSBjaGlsZC0+aXNBWEhpZGRlbigpOwot
ICAgICAgICByZXN1bHQuaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSA9IGNoaWxkLT5p
c1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlKCk7Ci0gICAgICAgIHJlc3VsdC5pc0Rlc2Nl
bmRhbnRPZkJhcnJlblBhcmVudCA9IGNoaWxkLT5pc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgp
OworICAgICAgICBpZiAoY2hpbGQtPmlzQVJJQUhpZGRlbigpKQorICAgICAgICAgICAgcmVzdWx0
LmlzQVhIaWRkZW4gPSB0cnVlOworCisgICAgICAgIGJvb2wgaWdub3JlQVJJQUhpZGRlbiA9IGNo
aWxkLT5pc0ZvY3VzZWQoKTsKKyAgICAgICAgZm9yIChhdXRvKiBvYmplY3QgPSBjaGlsZC0+cGFy
ZW50T2JqZWN0KCk7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5wYXJlbnRPYmplY3QoKSkgewor
ICAgICAgICAgICAgaWYgKCFyZXN1bHQuaXNBWEhpZGRlbiAmJiAhaWdub3JlQVJJQUhpZGRlbiAm
JiBvYmplY3QtPmlzQVJJQUhpZGRlbigpKQorICAgICAgICAgICAgICAgIHJlc3VsdC5pc0FYSGlk
ZGVuID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKCFyZXN1bHQuaXNQcmVzZW50YXRpb25hbENo
aWxkT2ZBcmlhUm9sZSAmJiBvYmplY3QtPmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJl
bigpKQorICAgICAgICAgICAgICAgIHJlc3VsdC5pc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKCFyZXN1bHQuaXNEZXNjZW5kYW50T2ZCYXJy
ZW5QYXJlbnQgJiYgIW9iamVjdC0+Y2FuSGF2ZUNoaWxkcmVuKCkpCisgICAgICAgICAgICAgICAg
cmVzdWx0LmlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50ID0gdHJ1ZTsKKyAgICAgICAgfQogICAg
IH0KIAogICAgIGNoaWxkLT5zZXRJc0lnbm9yZWRGcm9tUGFyZW50RGF0YShyZXN1bHQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApp
bmRleCBmZmI1Yjg4OTE3MWIuLmIyYTUyMTU2MmE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTI2NCw2ICsyNjQsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZWNvbXB1dGVJc0lnbm9yZWQoKTsKICAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0SW5jbHVzaW9uIGRlZmF1bHRPYmplY3RJbmNsdXNpb24oKSBjb25zdDsKICAgICBi
b29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWRCeURlZmF1bHQoKSBjb25zdDsKKyAgICBib29sIGlz
QVJJQUhpZGRlbigpIGNvbnN0OwogCiAgICAgYm9vbCBpc1Nob3dpbmdWYWxpZGF0aW9uTWVzc2Fn
ZSgpIGNvbnN0OwogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0OwpAQCAtMzYx
LDcgKzM2Miw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIGFyaWFS
b2xlQXR0cmlidXRlKCkgY29uc3QgeyByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd247
IH0KICAgICBib29sIGhhc0V4cGxpY2l0R2VuZXJpY1JvbGUoKSBjb25zdCB7IHJldHVybiBhcmlh
Um9sZUF0dHJpYnV0ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpHZW5lcmljOyB9CiAgICAgYm9v
bCBoYXNJbXBsaWNpdEdlbmVyaWNSb2xlKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0g
QWNjZXNzaWJpbGl0eVJvbGU6OkdlbmVyaWMgJiYgIWhhc0V4cGxpY2l0R2VuZXJpY1JvbGUoKTsg
fQotICAgIGJvb2wgaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgpIGNvbnN0OwogICAg
IGJvb2wgYXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkgY29uc3Q7CiAgICAgYm9v
bCBpbmhlcml0c1ByZXNlbnRhdGlvbmFsUm9sZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZh
bHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGE4NDg2NWZlYzI0NC4uY2M3NWNmNzU0
ZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEwNjYsMTAgKzEwNjYsNiBAQCBib29sIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkg
Y29uc3QKICAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6
SWdub3JlT2JqZWN0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIHRoaXMgZWxl
bWVudCBpcyB3aXRoaW4gYSBwYXJlbnQgdGhhdCBjYW5ub3QgaGF2ZSBjaGlsZHJlbiwgaXQgc2hv
dWxkIG5vdCBiZSBleHBvc2VkLgotICAgIGlmIChpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVudCgp
KQotICAgICAgICByZXR1cm4gdHJ1ZTsgICAgCi0KICAgICBpZiAocm9sZVZhbHVlKCkgPT0gQWNj
ZXNzaWJpbGl0eVJvbGU6Oklnbm9yZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>