<?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>183994</bug_id>
          
          <creation_ts>2018-03-25 04:46:14 -0700</creation_ts>
          <short_desc>border-radius inline style serializes with invalid syntax</short_desc>
          <delta_ts>2022-11-26 21:07:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>Safari 11</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/31453</see_also>
    
    <see_also>https://github.com/web-platform-tests/wpt/pull/31643</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=234906</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=234866</see_also>
    
    <see_also>https://github.com/web-platform-tests/wpt/pull/37169</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, FromImplementor, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>233142</dependson>
    
    <dependson>234873</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Willigers">ericwilligers</reporter>
          <assigned_to name="Oriol Brufau">obrufau</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>emilio</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jh718.park</cc>
    
    <cc>karlcow</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ntim</cc>
    
    <cc>obrufau</cc>
    
    <cc>rego</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1409166</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Willigers">ericwilligers</who>
    <bug_when>2018-03-25 04:46:14 -0700</bug_when>
    <thetext>https://jsfiddle.net/ericwilligers/49xccjzv/

Spec: https://drafts.csswg.org/css-backgrounds/#border-radius
&lt;length-percentage&gt;{1,4} [ / &lt;length-percentage&gt;{1,4} ]?

Set border-radius inline style to &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos;.

Reading inline style should give the same value.

Reading inline style gives the invalid value &apos;11px 25px 12px 26px 13px 27px 14px 28px&apos;.
Reading computed style gives correct value &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos;.

Blink has the same bug.

(Edge and Firefox have the inverse bug: they give correct inline style but give empty string as computed style.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409169</commentid>
    <comment_count>1</comment_count>
    <who name="Emilio Cobos Álvarez (:emilio)">emilio</who>
    <bug_when>2018-03-25 05:33:13 -0700</bug_when>
    <thetext>(In reply to Eric Willigers from comment #0)
&gt; (Edge and Firefox have the inverse bug: they give correct inline style but
&gt; give empty string as computed style.)

FWIW Firefox&apos;s behavior is pretty intentional and long-standing. Gecko never serializes shorthands in computed style, which sort-of makes sense, because shorthands are a specified style concept in general.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409234</commentid>
    <comment_count>2</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2018-03-25 22:02:57 -0700</bug_when>
    <thetext>BTW, the following CSSWG issue is somehow related to this:
https://github.com/w3c/csswg-drafts/issues/1041

However it hasn&apos;t been solved for more than a year now. :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409683</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-27 14:40:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/38928309&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810099</commentid>
    <comment_count>4</comment_count>
      <attachid>442824</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 09:16:26 -0700</bug_when>
    <thetext>Created attachment 442824
To check layout test result</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810143</commentid>
    <comment_count>5</comment_count>
      <attachid>442839</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 10:27:51 -0700</bug_when>
    <thetext>Created attachment 442839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810155</commentid>
    <comment_count>6</comment_count>
      <attachid>442839</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-29 10:38:06 -0700</bug_when>
    <thetext>Comment on attachment 442839
Patch

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

Looks OK, but I don’t think there is enough testing for edge cases here. I’m going to say review+ but I think we should refine this more before landing.

&gt; Source/WebCore/css/StyleProperties.cpp:372
&gt; +        bool showBottomLeft = !(topRight == bottomLeft);
&gt; +        bool showBottomRight = !(topLeft == bottomRight) || showBottomLeft;
&gt; +        bool showTopRight = !(topLeft == topRight) || showBottomRight;

Why not use != instead of !(==)?

Why does this compare the pointers instead of comparing the values? I suggest we compute all four strings, and compare equality of the strings. It’s OK to optimize the case where the pointers are identical, but we can’t count on comparing the pointers to see if the values are the same.

&gt; Source/WebCore/css/StyleProperties.cpp:388
&gt; +        StringBuilder result;
&gt; +        result.append(topLeft-&gt;cssText());
&gt; +        if (showTopRight) {
&gt; +            result.append(&apos; &apos;);
&gt; +            result.append(topRight-&gt;cssText());
&gt; +        }
&gt; +        if (showBottomRight) {
&gt; +            result.append(&apos; &apos;);
&gt; +            result.append(bottomRight-&gt;cssText());
&gt; +        }
&gt; +        if (showBottomLeft) {
&gt; +            result.append(&apos; &apos;);
&gt; +            result.append(bottomLeft-&gt;cssText());
&gt; +        }
&gt; +        return result.toString();

This can likely be done much more efficiently with makeString.

&gt; Source/WebCore/css/StyleProperties.cpp:398
&gt; +    // All 4 properties must be specified.
&gt; +    if (!topLeft || !topRight || !bottomRight || !bottomLeft)
&gt; +        return String();

I don’t understand this. What does &quot;must be specified&quot; mean here. Is this really an assertion? Why is returning the null string OK?

&gt; Source/WebCore/css/StyleProperties.cpp:400
&gt; +    // FIXME: pair should be replaced with CSSValuePair as specified in CSSPropertyParser&apos;s FIXME-NEWPARSER.

Do we really need this FIXME? How will this help us when we do make the change.

&gt; Source/WebCore/css/StyleProperties.cpp:404
&gt; +    const auto* topLeftPair = downcast&lt;CSSPrimitiveValue&gt;(*getPropertyCSSValue(CSSPropertyBorderTopLeftRadius)).pairValue();
&gt; +    const auto* topRightPair = downcast&lt;CSSPrimitiveValue&gt;(*getPropertyCSSValue(CSSPropertyBorderTopRightRadius)).pairValue();
&gt; +    const auto* bottomRightPair = downcast&lt;CSSPrimitiveValue&gt;(*getPropertyCSSValue(CSSPropertyBorderBottomRightRadius)).pairValue();
&gt; +    const auto* bottomLeftPair = downcast&lt;CSSPrimitiveValue&gt;(*getPropertyCSSValue(CSSPropertyBorderBottomLeftRadius)).pairValue();

Should be using the *topLeft, not call getPropertyCSSValue again.

The const here isn’t important. If these are guaranteed to be non-null, how about references instead of pointers?

&gt; Source/WebCore/css/StyleProperties.cpp:414
&gt; +    StringBuilder builder;
&gt; +    builder.append(serialize(topLeftPair-&gt;first(), topRightPair-&gt;first(), bottomRightPair-&gt;first(), bottomLeftPair-&gt;first()));
&gt; +
&gt; +    if (!(topLeftPair-&gt;first() == topLeftPair-&gt;second()) || !(topRightPair-&gt;first() == topRightPair-&gt;second()) || !(bottomRightPair-&gt;first() == bottomRightPair-&gt;second() || !(bottomLeftPair-&gt;first() == bottomLeftPair-&gt;second()))) {
&gt; +        builder.append(&quot; / &quot;);
&gt; +        builder.append(serialize(topLeftPair-&gt;second(), topRightPair-&gt;second(), bottomRightPair-&gt;second(), bottomLeftPair-&gt;second()));
&gt; +    }
&gt; +
&gt; +    return builder.toString();

Same comment about comparing pointers instead of strings. We should compare the strings. Also, this shouldn’t be done with StringBuilder. We can just call makeString twice:

    auto first = serialize(topLeftPair-&gt;first(), topRightPair-&gt;first(), bottomRightPair-&gt;first(), bottomLeftPair-&gt;first());
    auto second = serialize(topLeftPair-&gt;second(), topRightPair-&gt;second(), bottomRightPair-&gt;second(), bottomLeftPair-&gt;second());
    if (first == second)
        return first;
    return makeString(first, &quot; / &quot;, second);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810163</commentid>
    <comment_count>7</comment_count>
      <attachid>442839</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 10:58:10 -0700</bug_when>
    <thetext>Comment on attachment 442839
Patch

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

Thank you for your review, Darin. I will apply the comments in the next patchset.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:372
&gt;&gt; +        bool showTopRight = !(topLeft == topRight) || showBottomRight;
&gt; 
&gt; Why not use != instead of !(==)?
&gt; 
&gt; Why does this compare the pointers instead of comparing the values? I suggest we compute all four strings, and compare equality of the strings. It’s OK to optimize the case where the pointers are identical, but we can’t count on comparing the pointers to see if the values are the same.

Ok, I will change this to use !== in the next patchset. And we should compare values instead of pointers. That was just my mistake. Thank you for pointing it out.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:388
&gt;&gt; +        return result.toString();
&gt; 
&gt; This can likely be done much more efficiently with makeString.

Ok, I will use makeString in the next patchset.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:398
&gt;&gt; +        return String();
&gt; 
&gt; I don’t understand this. What does &quot;must be specified&quot; mean here. Is this really an assertion? Why is returning the null string OK?

This null check is the same one in StyleProperties::get4Values(). Without this, I met a crash regression running LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid.html, so I added this check.

Actually, below codes in CSSPropertyParser set all the topLeft, topRight, bottomRight, bottomLeft css property if consumeRadii didn&apos;t fail 
this check looks valid, I think.

case CSSPropertyWebkitBorderRadius: {
        RefPtr&lt;CSSPrimitiveValue&gt; horizontalRadii[4];
        RefPtr&lt;CSSPrimitiveValue&gt; verticalRadii[4];
        if (!consumeRadii(horizontalRadii, verticalRadii, m_range, m_context.mode, property == CSSPropertyWebkitBorderRadius))
            return false;
        addProperty(CSSPropertyBorderTopLeftRadius, CSSPropertyBorderRadius, createPrimitiveValuePair(horizontalRadii[0].releaseNonNull(), verticalRadii[0].releaseNonNull(), Pair::IdenticalValueEncoding::Coalesce), important);
        addProperty(CSSPropertyBorderTopRightRadius, CSSPropertyBorderRadius, createPrimitiveValuePair(horizontalRadii[1].releaseNonNull(), verticalRadii[1].releaseNonNull(), Pair::IdenticalValueEncoding::Coalesce), important);
        addProperty(CSSPropertyBorderBottomRightRadius, CSSPropertyBorderRadius, createPrimitiveValuePair(horizontalRadii[2].releaseNonNull(), verticalRadii[2].releaseNonNull(), Pair::IdenticalValueEncoding::Coalesce), important);
        addProperty(CSSPropertyBorderBottomLeftRadius, CSSPropertyBorderRadius, createPrimitiveValuePair(horizontalRadii[3].releaseNonNull(), verticalRadii[3].releaseNonNull(), Pair::IdenticalValueEncoding::Coalesce), important);
        return true;
    }

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:400
&gt;&gt; +    // FIXME: pair should be replaced with CSSValuePair as specified in CSSPropertyParser&apos;s FIXME-NEWPARSER.
&gt; 
&gt; Do we really need this FIXME? How will this help us when we do make the change.

Ah, this FIXME doesn&apos;t have to be here necessarily. I&apos;m interested in split CSSPrimitiveValue to CSSValue subclasses, so it was just to mark it here.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:404
&gt;&gt; +    const auto* bottomLeftPair = downcast&lt;CSSPrimitiveValue&gt;(*getPropertyCSSValue(CSSPropertyBorderBottomLeftRadius)).pairValue();
&gt; 
&gt; Should be using the *topLeft, not call getPropertyCSSValue again.
&gt; 
&gt; The const here isn’t important. If these are guaranteed to be non-null, how about references instead of pointers?

Ok, I will use *topLeft and reference in the next patchset.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:414
&gt;&gt; +    return builder.toString();
&gt; 
&gt; Same comment about comparing pointers instead of strings. We should compare the strings. Also, this shouldn’t be done with StringBuilder. We can just call makeString twice:
&gt; 
&gt;     auto first = serialize(topLeftPair-&gt;first(), topRightPair-&gt;first(), bottomRightPair-&gt;first(), bottomLeftPair-&gt;first());
&gt;     auto second = serialize(topLeftPair-&gt;second(), topRightPair-&gt;second(), bottomRightPair-&gt;second(), bottomLeftPair-&gt;second());
&gt;     if (first == second)
&gt;         return first;
&gt;     return makeString(first, &quot; / &quot;, second);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810193</commentid>
    <comment_count>8</comment_count>
      <attachid>442839</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 12:51:19 -0700</bug_when>
    <thetext>Comment on attachment 442839
Patch

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

&gt;&gt;&gt; Source/WebCore/css/StyleProperties.cpp:372
&gt;&gt;&gt; +        bool showTopRight = !(topLeft == topRight) || showBottomRight;
&gt;&gt; 
&gt;&gt; Why not use != instead of !(==)?
&gt;&gt; 
&gt;&gt; Why does this compare the pointers instead of comparing the values? I suggest we compute all four strings, and compare equality of the strings. It’s OK to optimize the case where the pointers are identical, but we can’t count on comparing the pointers to see if the values are the same.
&gt; 
&gt; Ok, I will change this to use !== in the next patchset. And we should compare values instead of pointers. That was just my mistake. Thank you for pointing it out.

It seems that in CSSValue.h only operator== is defined. I&apos;m not sure if it is good to add bool operator!=(const CSSValue&amp; other) const { return !equals(other); }.
For now, I will use !( == ) here.

&gt;&gt;&gt; Source/WebCore/css/StyleProperties.cpp:400
&gt;&gt;&gt; +    // FIXME: pair should be replaced with CSSValuePair as specified in CSSPropertyParser&apos;s FIXME-NEWPARSER.
&gt;&gt; 
&gt;&gt; Do we really need this FIXME? How will this help us when we do make the change.
&gt; 
&gt; Ah, this FIXME doesn&apos;t have to be here necessarily. I&apos;m interested in split CSSPrimitiveValue to CSSValue subclasses, so it was just to mark it here.

I removed unnecessary FIXME comment here.

&gt;&gt;&gt; Source/WebCore/css/StyleProperties.cpp:404
&gt;&gt;&gt; +    const auto* bottomLeftPair = downcast&lt;CSSPrimitiveValue&gt;(*getPropertyCSSValue(CSSPropertyBorderBottomLeftRadius)).pairValue();
&gt;&gt; 
&gt;&gt; Should be using the *topLeft, not call getPropertyCSSValue again.
&gt;&gt; 
&gt;&gt; The const here isn’t important. If these are guaranteed to be non-null, how about references instead of pointers?
&gt; 
&gt; Ok, I will use *topLeft and reference in the next patchset.

Done.

&gt;&gt;&gt; Source/WebCore/css/StyleProperties.cpp:414
&gt;&gt;&gt; +    return builder.toString();
&gt;&gt; 
&gt;&gt; Same comment about comparing pointers instead of strings. We should compare the strings. Also, this shouldn’t be done with StringBuilder. We can just call makeString twice:
&gt;&gt; 
&gt;&gt;     auto first = serialize(topLeftPair-&gt;first(), topRightPair-&gt;first(), bottomRightPair-&gt;first(), bottomLeftPair-&gt;first());
&gt;&gt;     auto second = serialize(topLeftPair-&gt;second(), topRightPair-&gt;second(), bottomRightPair-&gt;second(), bottomLeftPair-&gt;second());
&gt;&gt;     if (first == second)
&gt;&gt;         return first;
&gt;&gt;     return makeString(first, &quot; / &quot;, second);
&gt; 
&gt; Ditto.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810195</commentid>
    <comment_count>9</comment_count>
      <attachid>442853</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 12:51:50 -0700</bug_when>
    <thetext>Created attachment 442853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810196</commentid>
    <comment_count>10</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 12:56:58 -0700</bug_when>
    <thetext>Could you please review this change? I applied the comments of the previous patchset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810198</commentid>
    <comment_count>11</comment_count>
      <attachid>442854</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 13:02:22 -0700</bug_when>
    <thetext>Created attachment 442854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810355</commentid>
    <comment_count>12</comment_count>
      <attachid>442891</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 18:27:01 -0700</bug_when>
    <thetext>Created attachment 442891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810356</commentid>
    <comment_count>13</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-10-29 18:27:58 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810358</commentid>
    <comment_count>14</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 18:32:59 -0700</bug_when>
    <thetext>Hi, Darin. I added more test cases to web-platform-tests/css/css-backgrounds/parsing/border-radius-valid.html and applied your comments of the previous patchset.
I&apos;d like to land this patch if you confirm that this patch looks ok to you for safer landing. Could you please review this change again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810369</commentid>
    <comment_count>15</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 19:31:03 -0700</bug_when>
    <thetext>FYI, the corresponding GitHub wpt pr url is https://github.com/web-platform-tests/wpt/pull/31453.

To get it approved, should I get a review flag again in this webkit bug page?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810373</commentid>
    <comment_count>16</comment_count>
      <attachid>442894</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-29 19:57:20 -0700</bug_when>
    <thetext>Created attachment 442894
Add more test cases to border-radius-valid wpt test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810415</commentid>
    <comment_count>17</comment_count>
      <attachid>442910</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-30 06:04:29 -0700</bug_when>
    <thetext>Created attachment 442910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810421</commentid>
    <comment_count>18</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-30 07:08:16 -0700</bug_when>
    <thetext>I think this change is ready for review now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811643</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-03 14:04:25 -0700</bug_when>
    <thetext>/Volumes/Data/worker/Commit-Queue/build/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811647</commentid>
    <comment_count>20</comment_count>
      <attachid>443238</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-11-03 14:15:26 -0700</bug_when>
    <thetext>Created attachment 443238
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811684</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-03 15:18:44 -0700</bug_when>
    <thetext>Committed r285235 (243856@main): &lt;https://commits.webkit.org/243856@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443238.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815180</commentid>
    <comment_count>22</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-15 12:35:00 -0800</bug_when>
    <thetext>Reverted in bug 233142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815363</commentid>
    <comment_count>23</comment_count>
      <attachid>444348</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-11-15 22:37:36 -0800</bug_when>
    <thetext>Created attachment 444348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815373</commentid>
    <comment_count>24</comment_count>
      <attachid>444348</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-15 23:55:27 -0800</bug_when>
    <thetext>Comment on attachment 444348
Patch

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

&gt; Source/WebCore/css/StyleProperties.cpp:374
&gt; +    auto value = getPropertyCSSValue(shorthand.properties()[0]);
&gt; +    if (!value)
&gt; +        return String();
&gt; +
&gt; +    if (value-&gt;isCSSWideKeyword())
&gt; +        return value-&gt;cssText();

Couldn&apos;t this be achieved by testing topLeftValue below?

&gt; Source/WebCore/css/StyleProperties.cpp:411
&gt; +    if (topLeftValue-&gt;isInheritValue() &amp;&amp; topRightValue-&gt;isInheritValue() &amp;&amp; bottomRightValue-&gt;isInheritValue() &amp;&amp; bottomLeftValue-&gt;isInheritValue())
&gt; +        return getValueName(CSSValueInherit);

This test is probably now redundant?

&gt; Source/WebCore/css/StyleProperties.cpp:419
&gt; +    if (topLeftValue-&gt;isInitialValue() || topRightValue-&gt;isInitialValue() || bottomRightValue-&gt;isInitialValue() || bottomLeftValue-&gt;isInitialValue()) {
&gt; +        if (topLeftValue-&gt;isInitialValue() &amp;&amp; topRightValue-&gt;isInitialValue() &amp;&amp; bottomRightValue-&gt;isInitialValue() &amp;&amp; bottomLeftValue-&gt;isInitialValue() &amp;&amp; !topLeft.isImplicit()) {
&gt; +            // All components are &quot;initial&quot; and &quot;topLeft&quot; is not implicit.
&gt; +            return getValueName(CSSValueInitial);
&gt; +        }
&gt; +        return String();
&gt; +    }

Is this redundant too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815396</commentid>
    <comment_count>25</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-11-16 01:45:34 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #24)
&gt; Comment on attachment 444348 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444348&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/StyleProperties.cpp:374
&gt; &gt; +    auto value = getPropertyCSSValue(shorthand.properties()[0]);
&gt; &gt; +    if (!value)
&gt; &gt; +        return String();
&gt; &gt; +
&gt; &gt; +    if (value-&gt;isCSSWideKeyword())
&gt; &gt; +        return value-&gt;cssText();
&gt; 
&gt; Couldn&apos;t this be achieved by testing topLeftValue below?
&gt; 
&gt; &gt; Source/WebCore/css/StyleProperties.cpp:411
&gt; &gt; +    if (topLeftValue-&gt;isInheritValue() &amp;&amp; topRightValue-&gt;isInheritValue() &amp;&amp; bottomRightValue-&gt;isInheritValue() &amp;&amp; bottomLeftValue-&gt;isInheritValue())
&gt; &gt; +        return getValueName(CSSValueInherit);
&gt; 
&gt; This test is probably now redundant?
&gt; 
&gt; &gt; Source/WebCore/css/StyleProperties.cpp:419
&gt; &gt; +    if (topLeftValue-&gt;isInitialValue() || topRightValue-&gt;isInitialValue() || bottomRightValue-&gt;isInitialValue() || bottomLeftValue-&gt;isInitialValue()) {
&gt; &gt; +        if (topLeftValue-&gt;isInitialValue() &amp;&amp; topRightValue-&gt;isInitialValue() &amp;&amp; bottomRightValue-&gt;isInitialValue() &amp;&amp; bottomLeftValue-&gt;isInitialValue() &amp;&amp; !topLeft.isImplicit()) {
&gt; &gt; +            // All components are &quot;initial&quot; and &quot;topLeft&quot; is not implicit.
&gt; &gt; +            return getValueName(CSSValueInitial);
&gt; &gt; +        }
&gt; &gt; +        return String();
&gt; &gt; +    }
&gt; 
&gt; Is this redundant too?

Thank you for your review, Antti.
I will refine this change with your comments in the next patchset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815415</commentid>
    <comment_count>26</comment_count>
      <attachid>444348</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-11-16 02:47:13 -0800</bug_when>
    <thetext>Comment on attachment 444348
Patch

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

&gt;&gt;&gt; Source/WebCore/css/StyleProperties.cpp:374
&gt;&gt;&gt; +        return value-&gt;cssText();
&gt;&gt; 
&gt;&gt; Couldn&apos;t this be achieved by testing topLeftValue below?
&gt; 
&gt; Thank you for your review, Antti.
&gt; I will refine this change with your comments in the next patchset.

Done.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:411
&gt;&gt; +        return getValueName(CSSValueInherit);
&gt; 
&gt; This test is probably now redundant?

Done.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:419
&gt;&gt; +    }
&gt; 
&gt; Is this redundant too?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815416</commentid>
    <comment_count>27</comment_count>
      <attachid>444365</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-11-16 02:48:05 -0800</bug_when>
    <thetext>Created attachment 444365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815569</commentid>
    <comment_count>28</comment_count>
      <attachid>444365</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-11-16 10:58:45 -0800</bug_when>
    <thetext>Comment on attachment 444365
Patch

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

A little sad how repetitive this code is. And it’s kind of sad that to build the single string result we have to allocate 11 strings and destroy 10 of them.

But I think this is done pretty well now and seems ready to land.

&gt; Source/WebCore/css/StyleProperties.cpp:402
&gt; +    if (!topLeftValue || !topRightValue || !bottomRightValue || !bottomLeftValue)
&gt; +        return String();

We’ve already checked !topLeftValue above. No need to check it again here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815572</commentid>
    <comment_count>29</comment_count>
      <attachid>444365</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-11-16 11:01:01 -0800</bug_when>
    <thetext>Comment on attachment 444365
Patch

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

&gt; Source/WebCore/css/StyleProperties.cpp:406
&gt; +    // Important flags must be the same
&gt; +    if (topLeft.isImportant() != topRight.isImportant() || topRight.isImportant() != bottomRight.isImportant() || bottomRight.isImportant() != bottomLeft.isImportant())
&gt; +        return String();

I think I would write this differently for clarity:

    bool isImportant = topLeft.isImportant();
    if (topRight.isImportant() != isImportant || bottomRight.isImportant() != isImportant || bottomLeft.isImportant() != isImportant)

The code where we compare them pairwise seems harder to read and verify that it’s correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815701</commentid>
    <comment_count>30</comment_count>
      <attachid>444365</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-11-16 16:02:28 -0800</bug_when>
    <thetext>Comment on attachment 444365
Patch

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

Thank you for your review, Darin. I applied all the comments you left and will upload the new patch for landing.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:402
&gt;&gt; +        return String();
&gt; 
&gt; We’ve already checked !topLeftValue above. No need to check it again here.

Done.

&gt;&gt; Source/WebCore/css/StyleProperties.cpp:406
&gt;&gt; +        return String();
&gt; 
&gt; I think I would write this differently for clarity:
&gt; 
&gt;     bool isImportant = topLeft.isImportant();
&gt;     if (topRight.isImportant() != isImportant || bottomRight.isImportant() != isImportant || bottomLeft.isImportant() != isImportant)
&gt; 
&gt; The code where we compare them pairwise seems harder to read and verify that it’s correct.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815713</commentid>
    <comment_count>31</comment_count>
      <attachid>444450</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-11-16 16:36:06 -0800</bug_when>
    <thetext>Created attachment 444450
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815818</commentid>
    <comment_count>32</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-16 21:53:14 -0800</bug_when>
    <thetext>Committed r285915 (244324@main): &lt;https://commits.webkit.org/244324@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444450.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828221</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-01-05 01:50:02 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 234873</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828225</commentid>
    <comment_count>34</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-05 01:55:33 -0800</bug_when>
    <thetext>This crashes with

&lt;style id=s&gt;
div { border-radius:0px; border-bottom-left-radius: inherit; }
&lt;/style&gt;
&lt;pre id=l&gt;&lt;/pre&gt;
&lt;script&gt;
l.textContent = s.sheet.cssRules[0].cssText;
&lt;/script&gt;

Even if it didn&apos;t crash it would fail to serialize the case where individual properties use global keywords correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1902672</commentid>
    <comment_count>35</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-10-01 16:58:38 -0700</bug_when>
    <thetext>*** Safari 16 ***

border-top-left-radius is &apos;11px 25px&apos; ; &apos;11px 25px&apos;

border-top-right-radius is &apos;12px 26px&apos; ; &apos;12px 26px&apos;

border-bottom-right-radius is &apos;13px 27px&apos; ; &apos;13px 27px&apos;

border-bottom-left-radius is &apos;14px 28px&apos; ; &apos;14px 28px&apos;

border-radius is &apos;11px 25px 12px 26px 13px 27px 14px 28px&apos; ; &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos;

*** Safari Technology Preview 154 ***

border-top-left-radius is &apos;11px 25px&apos; ; &apos;11px 25px&apos;

border-top-right-radius is &apos;12px 26px&apos; ; &apos;12px 26px&apos;

border-bottom-right-radius is &apos;13px 27px&apos; ; &apos;13px 27px&apos;

border-bottom-left-radius is &apos;14px 28px&apos; ; &apos;14px 28px&apos;

border-radius is &apos;11px 25px 12px 26px 13px 27px 14px 28px&apos; ; &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos;  &lt;&lt;---------------------- PROBLEM

*** Chrome Canary 108 ***

border-top-left-radius is &apos;11px 25px&apos; ; &apos;11px 25px&apos;

border-top-right-radius is &apos;12px 26px&apos; ; &apos;12px 26px&apos;

border-bottom-right-radius is &apos;13px 27px&apos; ; &apos;13px 27px&apos;

border-bottom-left-radius is &apos;14px 28px&apos; ; &apos;14px 28px&apos;

border-radius is &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos; ; &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos;

*** Firefox Nightly 107 ***

border-top-left-radius is &apos;11px 25px&apos; ; &apos;11px 25px&apos;

border-top-right-radius is &apos;12px 26px&apos; ; &apos;12px 26px&apos;

border-bottom-right-radius is &apos;13px 27px&apos; ; &apos;13px 27px&apos;

border-bottom-left-radius is &apos;14px 28px&apos; ; &apos;14px 28px&apos;

border-radius is &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos; ; &apos;11px 12px 13px 14px / 25px 26px 27px 28px&apos;

____

Just wanted to share updated test results. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914714</commentid>
    <comment_count>36</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-11-25 13:41:37 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/6820</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914811</commentid>
    <comment_count>37</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-11-26 21:07:16 -0800</bug_when>
    <thetext>Committed 257041@main (fd9594cdf418): &lt;https://commits.webkit.org/257041@main&gt;

Reviewed commits have been landed. Closing PR #6820 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442824</attachid>
            <date>2021-10-29 09:16:26 -0700</date>
            <delta_ts>2021-10-29 10:27:46 -0700</delta_ts>
            <desc>To check layout test result</desc>
            <filename>bug-183994-20211030011625.patch</filename>
            <type>text/plain</type>
            <size>5904</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhmMDAxNjc4ZTQ0MjFi
M2ExOTA5OGY0ODhiYTZjOGYxM2VlOWE1ZS4uNmViYWIwMGQxNDQwNTJjMGM4NjZjZGMzNjQ4OGM0
MjgzZjIxM2MzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTI5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICAqIGNz
cy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVy
dGllczo6Ym9yZGVyUmFkaXVzVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3Bl
cnRpZXMuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwog
MjAyMS0xMC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBZYWhvby5jb20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRo
cm91Z2hvdXQgd2hlbiB1c2luZyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCmluZGV4IGJkM2JlNTkwZGZlN2E1ZjY3Y2I5
NDVlZWFlNmQ2ZjJlY2MyOTA3MTQuLjY4ZGZiNzRlNmFjOGZjMDUwZmYxMjZkNTAzMDcxZWJkN2U2
ZDY5NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAt
MzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNT
aG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNWYWx1ZSgpOwogICAgIGNh
c2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFu
ZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAtMzYzLDYgKzM2NCw0
NyBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0
IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAor
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoKSBjb25zdAoreworICAg
IGF1dG8gc2VyaWFsaXplID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1Zh
bHVlKiB0b3BSaWdodCwgY29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1
ZSogYm90dG9tTGVmdCkgLT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9
ICEodG9wUmlnaHQgPT0gYm90dG9tTGVmdCk7CisgICAgICAgIGJvb2wgc2hvd0JvdHRvbVJpZ2h0
ID0gISh0b3BMZWZ0ID09IGJvdHRvbVJpZ2h0KSB8fCBzaG93Qm90dG9tTGVmdDsKKyAgICAgICAg
Ym9vbCBzaG93VG9wUmlnaHQgPSAhKHRvcExlZnQgPT0gdG9wUmlnaHQpIHx8IHNob3dCb3R0b21S
aWdodDsKKworICAgICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZCh0b3BMZWZ0LT5jc3NUZXh0KCkpOworICAgICAgICBpZiAoc2hvd1RvcFJpZ2h0KSB7Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5k
KHRvcFJpZ2h0LT5jc3NUZXh0KCkpOworICAgICAgICB9CisgICAgICAgIGlmIChzaG93Qm90dG9t
UmlnaHQpIHsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKKyAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoYm90dG9tUmlnaHQtPmNzc1RleHQoKSk7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKHNob3dCb3R0b21MZWZ0KSB7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKGJvdHRvbUxlZnQtPmNzc1RleHQoKSk7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworICAgIH07CisKKyAgICAvLyBG
SVhNRTogcGFpciBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCBDU1NWYWx1ZVBhaXIgYXMgc3BlY2lm
aWVkIGluIENTU1Byb3BlcnR5UGFyc2VyJ3MgRklYTUUtTkVXUEFSU0VSLgorICAgIGNvbnN0IGF1
dG8qIHRvcExlZnQgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmdldFByb3BlcnR5Q1NT
VmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJUb3BMZWZ0UmFkaXVzKSkucGFpclZhbHVlKCk7CisgICAg
Y29uc3QgYXV0byogdG9wUmlnaHQgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmdldFBy
b3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1cykpLnBhaXJWYWx1
ZSgpOworICAgIGNvbnN0IGF1dG8qIGJvdHRvbVJpZ2h0ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Qm9yZGVyVG9wUmlnaHRSYWRp
dXMpKS5wYWlyVmFsdWUoKTsKKyAgICBjb25zdCBhdXRvKiBib3R0b21MZWZ0ID0gZG93bmNhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWU+KCpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Qm9yZGVy
VG9wTGVmdFJhZGl1cykpLnBhaXJWYWx1ZSgpOworCisgICAgU3RyaW5nQnVpbGRlciBidWlsZGVy
OworICAgIGJ1aWxkZXIuYXBwZW5kKHNlcmlhbGl6ZSh0b3BMZWZ0LT5maXJzdCgpLCB0b3BSaWdo
dC0+Zmlyc3QoKSwgYm90dG9tUmlnaHQtPmZpcnN0KCksIGJvdHRvbUxlZnQtPmZpcnN0KCkpKTsK
KworICAgIGlmICghKHRvcExlZnQtPmZpcnN0KCkgPT0gdG9wTGVmdC0+c2Vjb25kKCkpIHx8ICEo
dG9wUmlnaHQtPmZpcnN0KCkgPT0gdG9wUmlnaHQtPnNlY29uZCgpKSB8fCAhKGJvdHRvbVJpZ2h0
LT5maXJzdCgpID09IGJvdHRvbVJpZ2h0LT5zZWNvbmQoKSB8fCAhKGJvdHRvbUxlZnQtPmZpcnN0
KCkgPT0gYm90dG9tTGVmdC0+c2Vjb25kKCkpKSkgeworICAgICAgICBidWlsZGVyLmFwcGVuZCgi
IC8gIik7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHNlcmlhbGl6ZSh0b3BMZWZ0LT5zZWNvbmQo
KSwgdG9wUmlnaHQtPnNlY29uZCgpLCBib3R0b21SaWdodC0+c2Vjb25kKCksIGJvdHRvbUxlZnQt
PnNlY29uZCgpKSk7CisgICAgfQorCisgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKK30K
KwogU3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyU3BhY2luZ1ZhbHVlKGNvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIHNob3J0aGFuZCkgY29uc3QKIHsKICAgICBhdXRvIGhvcml6b250
YWxWYWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVswXSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKaW5kZXggZGY4MjU5MmFjNzdjMmI4ZjNh
ZTNiZTU5OTE2MjAzYWUxYWYxOGE3NC4uMTk4NTczYzVjYTgzMzk1MGUzNDNhOWZlMmYyNTJlMjJh
ZWM4ZDQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaApAQCAtMTcwLDYgKzE3
MCw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGdldExheWVyZWRTaG9ydGhhbmRWYWx1ZShjb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJikgY29uc3Q7CiAgICAgU3RyaW5nIGdldDJWYWx1ZXMo
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBnZXQ0VmFs
dWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKKyAgICBTdHJpbmcgYm9y
ZGVyUmFkaXVzVmFsdWUoKSBjb25zdDsKICAgICBTdHJpbmcgYm9yZGVyU3BhY2luZ1ZhbHVlKGNv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBTdHJpbmcgZm9udFZhbHVl
KCkgY29uc3Q7CiAgICAgU3RyaW5nIGZvbnRWYXJpYW50VmFsdWUoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggNzFkMzE3
N2Q4NmU4NDllZDY3NzcwNGUwNzUwNjBmMTkxODA3YjZmYi4uMzAzNzI4OTZlYTI3NDIwZjU1NTNh
MmZjNzVhY2ExMTBhZjllMjY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTYzLDYgKzYzLDEwIEBACiAjaW5jbHVkZSAiQ291bnRl
ci5oIgogI2luY2x1ZGUgIkZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiSGFzaFRvb2xzLmgiCisvLyBG
SVhNRS1ORVdQQVJTRVI6IENTU1ByaW1pdGl2ZVZhbHVlIGlzIGEgbGFyZ2UgY2xhc3MgdGhhdCBo
b2xkcyBtYW55IHVucmVsYXRlZCBvYmplY3RzLAorLy8gc3dpdGNoaW5nIGJlaGF2aW9yIG9uIHRo
ZSB0eXBlIG9mIHRoZSBvYmplY3QgaXQgaXMgaG9sZGluZy4KKy8vIFNpbmNlIENTU1ZhbHVlIGlz
IGFscmVhZHkgYSBjbGFzcyBoaWVyYXJjaHksIHRoaXMgYWRkcyBhbiB1bm5lY2Vzc2FyeSBzZWNv
bmQgbGV2ZWwgdG8gdGhlIGhpZXJhcmNoeSB0aGF0IGNvbXBsaWNhdGVzIGNvZGUuCisvLyBTbyB3
ZSBuZWVkIHRvIHJlbW92ZSB0aGUgdmFyaW91cyBiZWhhdmlvcnMgZnJvbSBDU1NQcmltaXRpdmVW
YWx1ZSBhbmQgc3BsaXQgdGhlbSBpbnRvIHNlcGFyYXRlIHN1YmNsYXNzZXMgb2YgQ1NTVmFsdWUu
CiAvLyBGSVhNRS1ORVdQQVJTRVI6IFJlcGxhY2UgUGFpciBhbmQgUmVjdCB3aXRoIGFjdHVhbCBD
U1NWYWx1ZSBzdWJjbGFzc2VzIChDU1NWYWx1ZVBhaXIgYW5kIENTU1F1YWRWYWx1ZSkuCiAjaW5j
bHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlJlY3QuaCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442839</attachid>
            <date>2021-10-29 10:27:51 -0700</date>
            <delta_ts>2021-10-29 12:51:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183994-20211030022750.patch</filename>
            <type>text/plain</type>
            <size>9874</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhmMDAxNjc4ZTQ0MjFi
M2ExOTA5OGY0ODhiYTZjOGYxM2VlOWE1ZS4uNmViYWIwMGQxNDQwNTJjMGM4NjZjZGMzNjQ4OGM0
MjgzZjIxM2MzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTI5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICAqIGNz
cy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVy
dGllczo6Ym9yZGVyUmFkaXVzVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3Bl
cnRpZXMuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwog
MjAyMS0xMC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBZYWhvby5jb20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRo
cm91Z2hvdXQgd2hlbiB1c2luZyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCmluZGV4IGJkM2JlNTkwZGZlN2E1ZjY3Y2I5
NDVlZWFlNmQ2ZjJlY2MyOTA3MTQuLjQzNjNiOWQwNGFjZmE2ZDNhZDA5YjY3NDdmMGZhNTZhMTI1
ODg0YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAt
MzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNT
aG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNWYWx1ZSgpOwogICAgIGNh
c2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFu
ZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAtMzYzLDYgKzM2NCw1
NiBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0
IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAor
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoKSBjb25zdAoreworICAg
IGF1dG8gc2VyaWFsaXplID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1Zh
bHVlKiB0b3BSaWdodCwgY29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1
ZSogYm90dG9tTGVmdCkgLT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9
ICEodG9wUmlnaHQgPT0gYm90dG9tTGVmdCk7CisgICAgICAgIGJvb2wgc2hvd0JvdHRvbVJpZ2h0
ID0gISh0b3BMZWZ0ID09IGJvdHRvbVJpZ2h0KSB8fCBzaG93Qm90dG9tTGVmdDsKKyAgICAgICAg
Ym9vbCBzaG93VG9wUmlnaHQgPSAhKHRvcExlZnQgPT0gdG9wUmlnaHQpIHx8IHNob3dCb3R0b21S
aWdodDsKKworICAgICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZCh0b3BMZWZ0LT5jc3NUZXh0KCkpOworICAgICAgICBpZiAoc2hvd1RvcFJpZ2h0KSB7Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5k
KHRvcFJpZ2h0LT5jc3NUZXh0KCkpOworICAgICAgICB9CisgICAgICAgIGlmIChzaG93Qm90dG9t
UmlnaHQpIHsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKKyAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoYm90dG9tUmlnaHQtPmNzc1RleHQoKSk7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKHNob3dCb3R0b21MZWZ0KSB7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKGJvdHRvbUxlZnQtPmNzc1RleHQoKSk7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworICAgIH07CisKKyAgICBhdXRv
IHRvcExlZnQgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Qm9yZGVyVG9wTGVmdFJh
ZGl1cyk7CisgICAgYXV0byB0b3BSaWdodCA9IGdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlCb3JkZXJUb3BSaWdodFJhZGl1cyk7CisgICAgYXV0byBib3R0b21SaWdodCA9IGdldFByb3Bl
cnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cyk7CisgICAgYXV0
byBib3R0b21MZWZ0ID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJvcmRlckJvdHRv
bUxlZnRSYWRpdXMpOworCisgICAgLy8gQWxsIDQgcHJvcGVydGllcyBtdXN0IGJlIHNwZWNpZmll
ZC4KKyAgICBpZiAoIXRvcExlZnQgfHwgIXRvcFJpZ2h0IHx8ICFib3R0b21SaWdodCB8fCAhYm90
dG9tTGVmdCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgLy8gRklYTUU6IHBhaXIg
c2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggQ1NTVmFsdWVQYWlyIGFzIHNwZWNpZmllZCBpbiBDU1NQ
cm9wZXJ0eVBhcnNlcidzIEZJWE1FLU5FV1BBUlNFUi4KKyAgICBjb25zdCBhdXRvKiB0b3BMZWZ0
UGFpciA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZ2V0UHJvcGVydHlDU1NWYWx1ZShD
U1NQcm9wZXJ0eUJvcmRlclRvcExlZnRSYWRpdXMpKS5wYWlyVmFsdWUoKTsKKyAgICBjb25zdCBh
dXRvKiB0b3BSaWdodFBhaXIgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmdldFByb3Bl
cnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1cykpLnBhaXJWYWx1ZSgp
OworICAgIGNvbnN0IGF1dG8qIGJvdHRvbVJpZ2h0UGFpciA9IGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPigqZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVJpZ2h0
UmFkaXVzKSkucGFpclZhbHVlKCk7CisgICAgY29uc3QgYXV0byogYm90dG9tTGVmdFBhaXIgPSBk
b3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlCb3JkZXJCb3R0b21MZWZ0UmFkaXVzKSkucGFpclZhbHVlKCk7CisKKyAgICBTdHJpbmdCdWls
ZGVyIGJ1aWxkZXI7CisgICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplKHRvcExlZnRQYWlyLT5m
aXJzdCgpLCB0b3BSaWdodFBhaXItPmZpcnN0KCksIGJvdHRvbVJpZ2h0UGFpci0+Zmlyc3QoKSwg
Ym90dG9tTGVmdFBhaXItPmZpcnN0KCkpKTsKKworICAgIGlmICghKHRvcExlZnRQYWlyLT5maXJz
dCgpID09IHRvcExlZnRQYWlyLT5zZWNvbmQoKSkgfHwgISh0b3BSaWdodFBhaXItPmZpcnN0KCkg
PT0gdG9wUmlnaHRQYWlyLT5zZWNvbmQoKSkgfHwgIShib3R0b21SaWdodFBhaXItPmZpcnN0KCkg
PT0gYm90dG9tUmlnaHRQYWlyLT5zZWNvbmQoKSB8fCAhKGJvdHRvbUxlZnRQYWlyLT5maXJzdCgp
ID09IGJvdHRvbUxlZnRQYWlyLT5zZWNvbmQoKSkpKSB7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KCIgLyAiKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplKHRvcExlZnRQYWlyLT5z
ZWNvbmQoKSwgdG9wUmlnaHRQYWlyLT5zZWNvbmQoKSwgYm90dG9tUmlnaHRQYWlyLT5zZWNvbmQo
KSwgYm90dG9tTGVmdFBhaXItPnNlY29uZCgpKSk7CisgICAgfQorCisgICAgcmV0dXJuIGJ1aWxk
ZXIudG9TdHJpbmcoKTsKK30KKwogU3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyU3BhY2lu
Z1ZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHNob3J0aGFuZCkgY29uc3QKIHsK
ICAgICBhdXRvIGhvcml6b250YWxWYWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUoc2hvcnRoYW5k
LnByb3BlcnRpZXMoKVswXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQ
cm9wZXJ0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKaW5kZXgg
ZGY4MjU5MmFjNzdjMmI4ZjNhZTNiZTU5OTE2MjAzYWUxYWYxOGE3NC4uMTk4NTczYzVjYTgzMzk1
MGUzNDNhOWZlMmYyNTJlMjJhZWM4ZDQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUHJvcGVydGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRp
ZXMuaApAQCAtMTcwLDYgKzE3MCw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGdldExheWVyZWRT
aG9ydGhhbmRWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJikgY29uc3Q7CiAgICAg
U3RyaW5nIGdldDJWYWx1ZXMoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNvbnN0Owog
ICAgIFN0cmluZyBnZXQ0VmFsdWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25z
dDsKKyAgICBTdHJpbmcgYm9yZGVyUmFkaXVzVmFsdWUoKSBjb25zdDsKICAgICBTdHJpbmcgYm9y
ZGVyU3BhY2luZ1ZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAg
ICBTdHJpbmcgZm9udFZhbHVlKCkgY29uc3Q7CiAgICAgU3RyaW5nIGZvbnRWYXJpYW50VmFsdWUo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ci5jcHAKaW5kZXggNzFkMzE3N2Q4NmU4NDllZDY3NzcwNGUwNzUwNjBmMTkxODA3YjZmYi4uMzAz
NzI4OTZlYTI3NDIwZjU1NTNhMmZjNzVhY2ExMTBhZjllMjY3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTYzLDYgKzYzLDEwIEBA
CiAjaW5jbHVkZSAiQ291bnRlci5oIgogI2luY2x1ZGUgIkZvbnRGYWNlLmgiCiAjaW5jbHVkZSAi
SGFzaFRvb2xzLmgiCisvLyBGSVhNRS1ORVdQQVJTRVI6IENTU1ByaW1pdGl2ZVZhbHVlIGlzIGEg
bGFyZ2UgY2xhc3MgdGhhdCBob2xkcyBtYW55IHVucmVsYXRlZCBvYmplY3RzLAorLy8gc3dpdGNo
aW5nIGJlaGF2aW9yIG9uIHRoZSB0eXBlIG9mIHRoZSBvYmplY3QgaXQgaXMgaG9sZGluZy4KKy8v
IFNpbmNlIENTU1ZhbHVlIGlzIGFscmVhZHkgYSBjbGFzcyBoaWVyYXJjaHksIHRoaXMgYWRkcyBh
biB1bm5lY2Vzc2FyeSBzZWNvbmQgbGV2ZWwgdG8gdGhlIGhpZXJhcmNoeSB0aGF0IGNvbXBsaWNh
dGVzIGNvZGUuCisvLyBTbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgdmFyaW91cyBiZWhhdmlvcnMg
ZnJvbSBDU1NQcmltaXRpdmVWYWx1ZSBhbmQgc3BsaXQgdGhlbSBpbnRvIHNlcGFyYXRlIHN1YmNs
YXNzZXMgb2YgQ1NTVmFsdWUuCiAvLyBGSVhNRS1ORVdQQVJTRVI6IFJlcGxhY2UgUGFpciBhbmQg
UmVjdCB3aXRoIGFjdHVhbCBDU1NWYWx1ZSBzdWJjbGFzc2VzIChDU1NWYWx1ZVBhaXIgYW5kIENT
U1F1YWRWYWx1ZSkuCiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlJlY3QuaCIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDYwOGM3MTFlZjdiYjVjMTE1MmRlODJiYzE2YTJh
MDRkOWVjMjNiOGQuLmQ0OGIzZjQwNzk0ZjZlMDQxMGZiOTkzMTZhYTU3NGI1ZDk2OWQ5NGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTI5
ICBKb29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3Jk
ZXItcmFkaXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQK
KworICAgICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxp
emVzIGluIGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC1leHBl
Y3RlZC50eHQ6CisKIDIwMjEtMTAtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgc3R1YnMgZm9yIHRoZSBXZWIgTG9ja3MgQVBJCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dy
b3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9w
YXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IDMxN2M5YTRhOTFm
M2Q1OTM1Yjc5YTU3NGI1NjUxMzJlNWE3N2M4N2MuLjljYzMwODcwMTI4NDdlNzM4ODFiMWE4ZGE1
MGFmMzg2MThmNzRjODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMt
dmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFs
aWQtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACiAKIFBBU1MgZS5zdHlsZVsnYm9yZGVy
LXJhZGl1cyddID0gIjFweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5z
dHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHBy
b3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1ZW0gLyAxcHgg
MiUgM3B4IDQlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBz
ZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjVlbSAvIDFweCAyJSAz
cHggNCUiIGJ1dCBnb3QgIjVlbSAxcHggNWVtIDIlIDVlbSAzcHggNWVtIDQlIgotRkFJTCBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0
aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUg
Y2Fub25pY2FsIGV4cGVjdGVkICIxcHggMiUgM3B4IDQlIC8gNWVtIiBidXQgZ290ICIxcHggNWVt
IDIlIDVlbSAzcHggNWVtIDQlIDVlbSIKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0g
IjFweCAxcHggMXB4IDIlIC8gMXB4IDIlIDFweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkg
dmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4
cGVjdGVkICIxcHggMXB4IDFweCAyJSAvIDFweCAyJSIgYnV0IGdvdCAiMXB4IDFweCAyJSAxcHgg
MiUiCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMXB4IDFweCAxcHggLyAx
cHggMXB4IDIlIDFweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFs
czogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggLyAxcHgg
MXB4IDIlIiBidXQgZ290ICIxcHggMXB4IDFweCAyJSIKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJh
ZGl1cyddID0gIjVlbSAvIDFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZh
bHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IDQlIC8gNWVt
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFk
aXVzJ10gPSAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUgMXB4IDIlIiBzaG91bGQgc2V0IHRoZSBw
cm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAx
cHggMXB4IC8gMXB4IDFweCAyJSAxcHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQ
QVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMXB4IDIlIDIlIiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4
IDIlIDFweCAxcHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVb
J2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3Vs
ZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAyJSAyJSAvIDFweCAyJSAzcHgiIGJ1dCBnb3Qg
IjFweCAyJSAyJSAzcHgiCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUg
MiUgMiUgLyAxcHggMiUgM3B4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFT
UyBlLnN0eWxlWydib3JkZXItdG9wLWxlZnQtcmFkaXVzJ10gPSAiMTBweCIgc2hvdWxkIHNldCB0
aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMn
XSA9ICIyMCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2Jv
cmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJ10gPSAiMzBweCA0MCUiIHNob3VsZCBzZXQgdGhlIHBy
b3BlcnR5IHZhbHVlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442853</attachid>
            <date>2021-10-29 12:51:50 -0700</date>
            <delta_ts>2021-10-29 13:12:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183994-20211030045149.patch</filename>
            <type>text/plain</type>
            <size>9098</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhmMDAxNjc4ZTQ0MjFi
M2ExOTA5OGY0ODhiYTZjOGYxM2VlOWE1ZS4uNmViYWIwMGQxNDQwNTJjMGM4NjZjZGMzNjQ4OGM0
MjgzZjIxM2MzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTI5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICAqIGNz
cy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVy
dGllczo6Ym9yZGVyUmFkaXVzVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3Bl
cnRpZXMuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwog
MjAyMS0xMC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBZYWhvby5jb20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRo
cm91Z2hvdXQgd2hlbiB1c2luZyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCmluZGV4IGJkM2JlNTkwZGZlN2E1ZjY3Y2I5
NDVlZWFlNmQ2ZjJlY2MyOTA3MTQuLmQyMThmMDNjMjJmODhmMWJjYmY4NDhkMDQwNjQ5ZTYzNTA1
YmRmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAt
MzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNT
aG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNWYWx1ZSgpOwogICAgIGNh
c2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFu
ZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAtMzYzLDYgKzM2NCwz
OCBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0
IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAor
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoKSBjb25zdAoreworICAg
IGF1dG8gc2VyaWFsaXplID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1Zh
bHVlKiB0b3BSaWdodCwgY29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1
ZSogYm90dG9tTGVmdCkgLT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9
ICEoKnRvcFJpZ2h0ID09ICpib3R0b21MZWZ0KTsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tUmln
aHQgPSAhKCp0b3BMZWZ0ID09ICpib3R0b21SaWdodCkgfHwgc2hvd0JvdHRvbUxlZnQ7CisgICAg
ICAgIGJvb2wgc2hvd1RvcFJpZ2h0ID0gISgqdG9wTGVmdCA9PSAqdG9wUmlnaHQpIHx8IHNob3dC
b3R0b21SaWdodDsKKworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyh0b3BMZWZ0LT5jc3NUZXh0
KCksIHNob3dUb3BSaWdodCA/ICIgIiA6ICIiLCBzaG93VG9wUmlnaHQgPyB0b3BSaWdodC0+Y3Nz
VGV4dCgpIDogIiIsIHNob3dCb3R0b21SaWdodCA/ICIgIiA6ICIiLCBzaG93Qm90dG9tUmlnaHQg
PyBib3R0b21SaWdodC0+Y3NzVGV4dCgpIDogIiIsIHNob3dCb3R0b21MZWZ0ID8gIiAiIDogIiIs
IHNob3dCb3R0b21MZWZ0ID8gYm90dG9tTGVmdC0+Y3NzVGV4dCgpIDogIiIpOworICAgIH07CisK
KyAgICBhdXRvIHRvcExlZnQgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Qm9yZGVy
VG9wTGVmdFJhZGl1cyk7CisgICAgYXV0byB0b3BSaWdodCA9IGdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1cyk7CisgICAgYXV0byBib3R0b21SaWdodCA9
IGdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cyk7
CisgICAgYXV0byBib3R0b21MZWZ0ID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJv
cmRlckJvdHRvbUxlZnRSYWRpdXMpOworCisgICAgLy8gQWxsIDQgcHJvcGVydGllcyBtdXN0IGJl
IHNwZWNpZmllZC4KKyAgICBpZiAoIXRvcExlZnQgfHwgIXRvcFJpZ2h0IHx8ICFib3R0b21SaWdo
dCB8fCAhYm90dG9tTGVmdCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgYXV0byYg
dG9wTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp0b3BMZWZ0KS5wYWly
VmFsdWUoKTsKKyAgICBhdXRvJiB0b3BSaWdodFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp0b3BSaWdodCkucGFpclZhbHVlKCk7CisgICAgYXV0byYgYm90dG9tUmlnaHRQYWly
ID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYm90dG9tUmlnaHQpLnBhaXJWYWx1ZSgp
OworICAgIGF1dG8mIGJvdHRvbUxlZnRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVl
PigqYm90dG9tTGVmdCkucGFpclZhbHVlKCk7CisKKyAgICBhdXRvIGZpcnN0ID0gc2VyaWFsaXpl
KHRvcExlZnRQYWlyLT5maXJzdCgpLCB0b3BSaWdodFBhaXItPmZpcnN0KCksIGJvdHRvbVJpZ2h0
UGFpci0+Zmlyc3QoKSwgYm90dG9tTGVmdFBhaXItPmZpcnN0KCkpOworICAgIGF1dG8gc2Vjb25k
ID0gc2VyaWFsaXplKHRvcExlZnRQYWlyLT5zZWNvbmQoKSwgdG9wUmlnaHRQYWlyLT5zZWNvbmQo
KSwgYm90dG9tUmlnaHRQYWlyLT5zZWNvbmQoKSwgYm90dG9tTGVmdFBhaXItPnNlY29uZCgpKTsK
KyAgICBpZiAoZmlyc3QgPT0gc2Vjb25kKQorICAgICAgICByZXR1cm4gZmlyc3Q7CisKKyAgICBy
ZXR1cm4gbWFrZVN0cmluZyhmaXJzdCwgIiAvICIsIHNlY29uZCk7Cit9CisKIFN0cmluZyBTdHls
ZVByb3BlcnRpZXM6OmJvcmRlclNwYWNpbmdWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiBzaG9ydGhhbmQpIGNvbnN0CiB7CiAgICAgYXV0byBob3Jpem9udGFsVmFsdWUgPSBnZXRQ
cm9wZXJ0eUNTU1ZhbHVlKHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbMF0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUHJvcGVydGllcy5oCmluZGV4IGRmODI1OTJhYzc3YzJiOGYzYWUzYmU1OTkxNjIwM2Fl
MWFmMThhNzQuLjE5ODU3M2M1Y2E4MzM5NTBlMzQzYTlmZTJmMjUyZTIyYWVjOGQ0MDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKQEAgLTE3MCw2ICsxNzAsNyBAQCBwcml2YXRl
OgogICAgIFN0cmluZyBnZXRMYXllcmVkU2hvcnRoYW5kVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBnZXQyVmFsdWVzKGNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBTdHJpbmcgZ2V0NFZhbHVlcyhjb25zdCBTdHls
ZVByb3BlcnR5U2hvcnRoYW5kJikgY29uc3Q7CisgICAgU3RyaW5nIGJvcmRlclJhZGl1c1ZhbHVl
KCkgY29uc3Q7CiAgICAgU3RyaW5nIGJvcmRlclNwYWNpbmdWYWx1ZShjb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJikgY29uc3Q7CiAgICAgU3RyaW5nIGZvbnRWYWx1ZSgpIGNvbnN0OwogICAg
IFN0cmluZyBmb250VmFyaWFudFZhbHVlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDcxZDMxNzdkODZlODQ5ZWQ2Nzc3
MDRlMDc1MDYwZjE5MTgwN2I2ZmIuLjMwMzcyODk2ZWEyNzQyMGY1NTUzYTJmYzc1YWNhMTEwYWY5
ZTI2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwCkBAIC02Myw2ICs2MywxMCBAQAogI2luY2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRl
ICJGb250RmFjZS5oIgogI2luY2x1ZGUgIkhhc2hUb29scy5oIgorLy8gRklYTUUtTkVXUEFSU0VS
OiBDU1NQcmltaXRpdmVWYWx1ZSBpcyBhIGxhcmdlIGNsYXNzIHRoYXQgaG9sZHMgbWFueSB1bnJl
bGF0ZWQgb2JqZWN0cywKKy8vIHN3aXRjaGluZyBiZWhhdmlvciBvbiB0aGUgdHlwZSBvZiB0aGUg
b2JqZWN0IGl0IGlzIGhvbGRpbmcuCisvLyBTaW5jZSBDU1NWYWx1ZSBpcyBhbHJlYWR5IGEgY2xh
c3MgaGllcmFyY2h5LCB0aGlzIGFkZHMgYW4gdW5uZWNlc3Nhcnkgc2Vjb25kIGxldmVsIHRvIHRo
ZSBoaWVyYXJjaHkgdGhhdCBjb21wbGljYXRlcyBjb2RlLgorLy8gU28gd2UgbmVlZCB0byByZW1v
dmUgdGhlIHZhcmlvdXMgYmVoYXZpb3JzIGZyb20gQ1NTUHJpbWl0aXZlVmFsdWUgYW5kIHNwbGl0
IHRoZW0gaW50byBzZXBhcmF0ZSBzdWJjbGFzc2VzIG9mIENTU1ZhbHVlLgogLy8gRklYTUUtTkVX
UEFSU0VSOiBSZXBsYWNlIFBhaXIgYW5kIFJlY3Qgd2l0aCBhY3R1YWwgQ1NTVmFsdWUgc3ViY2xh
c3NlcyAoQ1NTVmFsdWVQYWlyIGFuZCBDU1NRdWFkVmFsdWUpLgogI2luY2x1ZGUgIlBhaXIuaCIK
ICNpbmNsdWRlICJSZWN0LmgiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA2MDhj
NzExZWY3YmI1YzExNTJkZTgyYmMxNmEyYTA0ZDllYzIzYjhkLi4yMDk2NmU4YjQ5OGQ0Mjc4NmY0
YTBjZGUxOTgzZjk1NzViOGQ2MDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAyMS0xMC0yOSAgSm9vbmdodW4gUGFyayAgPGpoNzE4LnBhcmtAc2Ft
c3VuZy5jb20+CisKKyAgICAgICAgYm9yZGVyLXJhZGl1cyBpbmxpbmUgc3R5bGUgc2hvdWxkIHNl
cmlhbGl6ZSB3aXRoIHZhbGlkIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgzOTk0CisKKyAgICAgICAgVGhpcyBwYXRjaCBoYXZlIGJvcmRl
ci1yYWRpdXMgcHJvcGVydHkgc2VyaWFsaXplcyBpbiBjYW5vbmljYWwgb3JkZXIKKyAgICAgICAg
YXMgc3BlY2lmaWVkIGluIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMv
I2JvcmRlci1yYWRpdXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2Jv
cmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEwLTI4ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN0dWJzIGZvciB0aGUgV2ViIExv
Y2tzIEFQSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4cGVjdGVk
LnR4dAppbmRleCAzMTdjOWE0YTkxZjNkNTkzNWI3OWE1NzRiNTY1MTMyZTVhNzdjODdjLi45Y2Mz
MDg3MDEyODQ3ZTczODgxYjFhOGRhNTBhZjM4NjE4Zjc0Yzg3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMv
cGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFy
c2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAog
CiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgiIHNob3VsZCBzZXQgdGhlIHBy
b3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4
IDQlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydib3JkZXIt
cmFkaXVzJ10gPSAiNWVtIC8gMXB4IDIlIDNweCA0JSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkg
dmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4
cGVjdGVkICI1ZW0gLyAxcHggMiUgM3B4IDQlIiBidXQgZ290ICI1ZW0gMXB4IDVlbSAyJSA1ZW0g
M3B4IDVlbSA0JSIKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAzcHgg
NCUgLyA1ZW0iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNl
cmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IDIlIDNweCA0JSAv
IDVlbSIgYnV0IGdvdCAiMXB4IDVlbSAyJSA1ZW0gM3B4IDVlbSA0JSA1ZW0iCi1GQUlMIGUuc3R5
bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMXB4IDFweCAyJSAvIDFweCAyJSAxcHggMiUiIHNo
b3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24g
c2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUiIGJ1
dCBnb3QgIjFweCAxcHggMiUgMXB4IDIlIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10g
PSAiMXB4IDFweCAxcHggMXB4IC8gMXB4IDFweCAyJSAxcHgiIHNob3VsZCBzZXQgdGhlIHByb3Bl
cnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNh
bCBleHBlY3RlZCAiMXB4IC8gMXB4IDFweCAyJSIgYnV0IGdvdCAiMXB4IDFweCAxcHggMiUiCitQ
QVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1ZW0gLyAxcHggMiUgM3B4IDQlIiBzaG91
bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10g
PSAiMXB4IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BB
U1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDIlIC8gMXB4IDIlIDFw
eCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVy
LXJhZGl1cyddID0gIjFweCAxcHggMXB4IDFweCAvIDFweCAxcHggMiUgMXB4IiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4
IDFweCAyJSAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsn
Ym9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAxcHggMXB4IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDIlIDIlIC8g
MXB4IDIlIDNweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFs
czogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMiUgMiUg
LyAxcHggMiUgM3B4IiBidXQgZ290ICIxcHggMiUgMiUgM3B4IgorUEFTUyBlLnN0eWxlWydib3Jk
ZXItcmFkaXVzJ10gPSAiMXB4IDIlIDIlIDIlIC8gMXB4IDIlIDNweCAyJSIgc2hvdWxkIHNldCB0
aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cydd
ID0gIjEwcHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2Jv
cmRlci10b3AtcmlnaHQtcmFkaXVzJ10gPSAiMjAlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyddID0gIjMwcHgg
NDAlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQo=
</data>
<flag name="commit-queue"
          id="467424"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442854</attachid>
            <date>2021-10-29 13:02:22 -0700</date>
            <delta_ts>2021-10-29 18:26:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183994-20211030050220.patch</filename>
            <type>text/plain</type>
            <size>9090</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhmMDAxNjc4ZTQ0MjFi
M2ExOTA5OGY0ODhiYTZjOGYxM2VlOWE1ZS4uNmViYWIwMGQxNDQwNTJjMGM4NjZjZGMzNjQ4OGM0
MjgzZjIxM2MzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTI5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICAqIGNz
cy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVy
dGllczo6Ym9yZGVyUmFkaXVzVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3Bl
cnRpZXMuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwog
MjAyMS0xMC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBZYWhvby5jb20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRo
cm91Z2hvdXQgd2hlbiB1c2luZyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCmluZGV4IGJkM2JlNTkwZGZlN2E1ZjY3Y2I5
NDVlZWFlNmQ2ZjJlY2MyOTA3MTQuLjJkNGZlYTM2ZDgzZDIxMWM5YmE1YTU0ZjllN2VhNmI3ZmNh
YmQ4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAt
MzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNT
aG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNWYWx1ZSgpOwogICAgIGNh
c2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFu
ZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAtMzYzLDYgKzM2NCwz
OCBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0
IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAor
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoKSBjb25zdAoreworICAg
IGF1dG8gc2VyaWFsaXplID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1Zh
bHVlKiB0b3BSaWdodCwgY29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1
ZSogYm90dG9tTGVmdCkgLT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9
ICEoKnRvcFJpZ2h0ID09ICpib3R0b21MZWZ0KTsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tUmln
aHQgPSAhKCp0b3BMZWZ0ID09ICpib3R0b21SaWdodCkgfHwgc2hvd0JvdHRvbUxlZnQ7CisgICAg
ICAgIGJvb2wgc2hvd1RvcFJpZ2h0ID0gISgqdG9wTGVmdCA9PSAqdG9wUmlnaHQpIHx8IHNob3dC
b3R0b21SaWdodDsKKworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyh0b3BMZWZ0LT5jc3NUZXh0
KCksIHNob3dUb3BSaWdodCA/ICIgIiA6ICIiLCBzaG93VG9wUmlnaHQgPyB0b3BSaWdodC0+Y3Nz
VGV4dCgpIDogIiIsIHNob3dCb3R0b21SaWdodCA/ICIgIiA6ICIiLCBzaG93Qm90dG9tUmlnaHQg
PyBib3R0b21SaWdodC0+Y3NzVGV4dCgpIDogIiIsIHNob3dCb3R0b21MZWZ0ID8gIiAiIDogIiIs
IHNob3dCb3R0b21MZWZ0ID8gYm90dG9tTGVmdC0+Y3NzVGV4dCgpIDogIiIpOworICAgIH07CisK
KyAgICBhdXRvIHRvcExlZnQgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Qm9yZGVy
VG9wTGVmdFJhZGl1cyk7CisgICAgYXV0byB0b3BSaWdodCA9IGdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1cyk7CisgICAgYXV0byBib3R0b21SaWdodCA9
IGdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cyk7
CisgICAgYXV0byBib3R0b21MZWZ0ID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJv
cmRlckJvdHRvbUxlZnRSYWRpdXMpOworCisgICAgLy8gQWxsIDQgcHJvcGVydGllcyBtdXN0IGJl
IHNwZWNpZmllZC4KKyAgICBpZiAoIXRvcExlZnQgfHwgIXRvcFJpZ2h0IHx8ICFib3R0b21SaWdo
dCB8fCAhYm90dG9tTGVmdCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgYXV0byYg
dG9wTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp0b3BMZWZ0KS5wYWly
VmFsdWUoKTsKKyAgICBhdXRvJiB0b3BSaWdodFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp0b3BSaWdodCkucGFpclZhbHVlKCk7CisgICAgYXV0byYgYm90dG9tUmlnaHRQYWly
ID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYm90dG9tUmlnaHQpLnBhaXJWYWx1ZSgp
OworICAgIGF1dG8mIGJvdHRvbUxlZnRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVl
PigqYm90dG9tTGVmdCkucGFpclZhbHVlKCk7CisKKyAgICBhdXRvIGZpcnN0ID0gc2VyaWFsaXpl
KHRvcExlZnRQYWlyLmZpcnN0KCksIHRvcFJpZ2h0UGFpci5maXJzdCgpLCBib3R0b21SaWdodFBh
aXIuZmlyc3QoKSwgYm90dG9tTGVmdFBhaXIuZmlyc3QoKSk7CisgICAgYXV0byBzZWNvbmQgPSBz
ZXJpYWxpemUodG9wTGVmdFBhaXIuc2Vjb25kKCksIHRvcFJpZ2h0UGFpci5zZWNvbmQoKSwgYm90
dG9tUmlnaHRQYWlyLnNlY29uZCgpLCBib3R0b21MZWZ0UGFpci5zZWNvbmQoKSk7CisgICAgaWYg
KGZpcnN0ID09IHNlY29uZCkKKyAgICAgICAgcmV0dXJuIGZpcnN0OworCisgICAgcmV0dXJuIG1h
a2VTdHJpbmcoZmlyc3QsICIgLyAiLCBzZWNvbmQpOworfQorCiBTdHJpbmcgU3R5bGVQcm9wZXJ0
aWVzOjpib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hv
cnRoYW5kKSBjb25zdAogewogICAgIGF1dG8gaG9yaXpvbnRhbFZhbHVlID0gZ2V0UHJvcGVydHlD
U1NWYWx1ZShzaG9ydGhhbmQucHJvcGVydGllcygpWzBdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVBy
b3BlcnRpZXMuaAppbmRleCBkZjgyNTkyYWM3N2MyYjhmM2FlM2JlNTk5MTYyMDNhZTFhZjE4YTc0
Li4xOTg1NzNjNWNhODMzOTUwZTM0M2E5ZmUyZjI1MmUyMmFlYzhkNDAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUHJvcGVydGllcy5oCkBAIC0xNzAsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICBT
dHJpbmcgZ2V0TGF5ZXJlZFNob3J0aGFuZFZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmKSBjb25zdDsKICAgICBTdHJpbmcgZ2V0MlZhbHVlcyhjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJikgY29uc3Q7CiAgICAgU3RyaW5nIGdldDRWYWx1ZXMoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYpIGNvbnN0OworICAgIFN0cmluZyBib3JkZXJSYWRpdXNWYWx1ZSgpIGNvbnN0
OwogICAgIFN0cmluZyBib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBmb250VmFsdWUoKSBjb25zdDsKICAgICBTdHJpbmcg
Zm9udFZhcmlhbnRWYWx1ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCA3MWQzMTc3ZDg2ZTg0OWVkNjc3NzA0ZTA3NTA2
MGYxOTE4MDdiNmZiLi4zMDM3Mjg5NmVhMjc0MjBmNTU1M2EyZmM3NWFjYTExMGFmOWUyNjc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApA
QCAtNjMsNiArNjMsMTAgQEAKICNpbmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRm9udEZh
Y2UuaCIKICNpbmNsdWRlICJIYXNoVG9vbHMuaCIKKy8vIEZJWE1FLU5FV1BBUlNFUjogQ1NTUHJp
bWl0aXZlVmFsdWUgaXMgYSBsYXJnZSBjbGFzcyB0aGF0IGhvbGRzIG1hbnkgdW5yZWxhdGVkIG9i
amVjdHMsCisvLyBzd2l0Y2hpbmcgYmVoYXZpb3Igb24gdGhlIHR5cGUgb2YgdGhlIG9iamVjdCBp
dCBpcyBob2xkaW5nLgorLy8gU2luY2UgQ1NTVmFsdWUgaXMgYWxyZWFkeSBhIGNsYXNzIGhpZXJh
cmNoeSwgdGhpcyBhZGRzIGFuIHVubmVjZXNzYXJ5IHNlY29uZCBsZXZlbCB0byB0aGUgaGllcmFy
Y2h5IHRoYXQgY29tcGxpY2F0ZXMgY29kZS4KKy8vIFNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSB2
YXJpb3VzIGJlaGF2aW9ycyBmcm9tIENTU1ByaW1pdGl2ZVZhbHVlIGFuZCBzcGxpdCB0aGVtIGlu
dG8gc2VwYXJhdGUgc3ViY2xhc3NlcyBvZiBDU1NWYWx1ZS4KIC8vIEZJWE1FLU5FV1BBUlNFUjog
UmVwbGFjZSBQYWlyIGFuZCBSZWN0IHdpdGggYWN0dWFsIENTU1ZhbHVlIHN1YmNsYXNzZXMgKENT
U1ZhbHVlUGFpciBhbmQgQ1NTUXVhZFZhbHVlKS4KICNpbmNsdWRlICJQYWlyLmgiCiAjaW5jbHVk
ZSAiUmVjdC5oIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjA4YzcxMWVmN2Ji
NWMxMTUyZGU4MmJjMTZhMmEwNGQ5ZWMyM2I4ZC4uMjA5NjZlOGI0OThkNDI3ODZmNGEwY2RlMTk4
M2Y5NTc1YjhkNjAxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjEtMTAtMjkgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5wYXJrQHNhbXN1bmcuY29t
PgorCisgICAgICAgIGJvcmRlci1yYWRpdXMgaW5saW5lIHN0eWxlIHNob3VsZCBzZXJpYWxpemUg
d2l0aCB2YWxpZCBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4Mzk5NAorCisgICAgICAgIFRoaXMgcGF0Y2ggaGF2ZSBib3JkZXItcmFkaXVz
IHByb3BlcnR5IHNlcmlhbGl6ZXMgaW4gY2Fub25pY2FsIG9yZGVyCisgICAgICAgIGFzIHNwZWNp
ZmllZCBpbiBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLyNib3JkZXIt
cmFkaXVzLgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFk
aXVzLXZhbGlkLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMC0yOCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdHVicyBmb3IgdGhlIFdlYiBMb2NrcyBBUEkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC1leHBlY3RlZC50eHQKaW5k
ZXggMzE3YzlhNGE5MWYzZDU5MzViNzlhNTc0YjU2NTEzMmU1YTc3Yzg3Yy4uOWNjMzA4NzAxMjg0
N2U3Mzg4MWIxYThkYTUwYWYzODYxOGY3NGM4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcv
Ym9yZGVyLXJhZGl1cy12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9y
ZGVyLXJhZGl1cy12YWxpZC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAogUEFTUyBl
LnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDNweCA0JSIgc2hv
dWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cydd
ID0gIjVlbSAvIDFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFz
c2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAi
NWVtIC8gMXB4IDIlIDNweCA0JSIgYnV0IGdvdCAiNWVtIDFweCA1ZW0gMiUgNWVtIDNweCA1ZW0g
NCUiCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IDQlIC8gNWVt
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0
aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAyJSAzcHggNCUgLyA1ZW0iIGJ1
dCBnb3QgIjFweCA1ZW0gMiUgNWVtIDNweCA1ZW0gNCUgNWVtIgotRkFJTCBlLnN0eWxlWydib3Jk
ZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUgMXB4IDIlIiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBi
ZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAxcHggMXB4IDIlIC8gMXB4IDIlIiBidXQgZ290ICIx
cHggMXB4IDIlIDFweCAyJSIKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAx
cHggMXB4IDFweCAvIDFweCAxcHggMiUgMXB4IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1
ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0
ZWQgIjFweCAvIDFweCAxcHggMiUiIGJ1dCBnb3QgIjFweCAxcHggMXB4IDIlIgorUEFTUyBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAiNWVtIC8gMXB4IDIlIDNweCA0JSIgc2hvdWxkIHNldCB0
aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAy
JSAzcHggNCUgLyA1ZW0iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5
bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMXB4IDFweCAyJSAvIDFweCAyJSAxcHggMiUiIHNo
b3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMn
XSA9ICIxcHggMXB4IDFweCAxcHggLyAxcHggMXB4IDIlIDFweCIgc2hvdWxkIHNldCB0aGUgcHJv
cGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMiUg
MiUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1y
YWRpdXMnXSA9ICIxcHggMiUgMXB4IDFweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUK
LUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAyJSAyJSAvIDFweCAyJSAz
cHggMiUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlh
bGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IDIlIDIlIC8gMXB4IDIl
IDNweCIgYnV0IGdvdCAiMXB4IDIlIDIlIDNweCIKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1
cyddID0gIjFweCAyJSAyJSAyJSAvIDFweCAyJSAzcHggMiUiIHNob3VsZCBzZXQgdGhlIHByb3Bl
cnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci10b3AtbGVmdC1yYWRpdXMnXSA9ICIxMHB4
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItdG9w
LXJpZ2h0LXJhZGl1cyddID0gIjIwJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBB
U1MgZS5zdHlsZVsnYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMnXSA9ICIzMHB4IDQwJSIgc2hv
dWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442891</attachid>
            <date>2021-10-29 18:27:01 -0700</date>
            <delta_ts>2021-10-29 19:57:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183994-20211030102700.patch</filename>
            <type>text/plain</type>
            <size>10363</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhmMDAxNjc4ZTQ0MjFi
M2ExOTA5OGY0ODhiYTZjOGYxM2VlOWE1ZS4uNmViYWIwMGQxNDQwNTJjMGM4NjZjZGMzNjQ4OGM0
MjgzZjIxM2MzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTI5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICAqIGNz
cy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVy
dGllczo6Ym9yZGVyUmFkaXVzVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3Bl
cnRpZXMuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwog
MjAyMS0xMC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBZYWhvby5jb20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRo
cm91Z2hvdXQgd2hlbiB1c2luZyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCmluZGV4IGJkM2JlNTkwZGZlN2E1ZjY3Y2I5
NDVlZWFlNmQ2ZjJlY2MyOTA3MTQuLjJkNGZlYTM2ZDgzZDIxMWM5YmE1YTU0ZjllN2VhNmI3ZmNh
YmQ4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAt
MzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNT
aG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNWYWx1ZSgpOwogICAgIGNh
c2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFu
ZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAtMzYzLDYgKzM2NCwz
OCBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0
IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAor
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoKSBjb25zdAoreworICAg
IGF1dG8gc2VyaWFsaXplID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1Zh
bHVlKiB0b3BSaWdodCwgY29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1
ZSogYm90dG9tTGVmdCkgLT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9
ICEoKnRvcFJpZ2h0ID09ICpib3R0b21MZWZ0KTsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tUmln
aHQgPSAhKCp0b3BMZWZ0ID09ICpib3R0b21SaWdodCkgfHwgc2hvd0JvdHRvbUxlZnQ7CisgICAg
ICAgIGJvb2wgc2hvd1RvcFJpZ2h0ID0gISgqdG9wTGVmdCA9PSAqdG9wUmlnaHQpIHx8IHNob3dC
b3R0b21SaWdodDsKKworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyh0b3BMZWZ0LT5jc3NUZXh0
KCksIHNob3dUb3BSaWdodCA/ICIgIiA6ICIiLCBzaG93VG9wUmlnaHQgPyB0b3BSaWdodC0+Y3Nz
VGV4dCgpIDogIiIsIHNob3dCb3R0b21SaWdodCA/ICIgIiA6ICIiLCBzaG93Qm90dG9tUmlnaHQg
PyBib3R0b21SaWdodC0+Y3NzVGV4dCgpIDogIiIsIHNob3dCb3R0b21MZWZ0ID8gIiAiIDogIiIs
IHNob3dCb3R0b21MZWZ0ID8gYm90dG9tTGVmdC0+Y3NzVGV4dCgpIDogIiIpOworICAgIH07CisK
KyAgICBhdXRvIHRvcExlZnQgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Qm9yZGVy
VG9wTGVmdFJhZGl1cyk7CisgICAgYXV0byB0b3BSaWdodCA9IGdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1cyk7CisgICAgYXV0byBib3R0b21SaWdodCA9
IGdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cyk7
CisgICAgYXV0byBib3R0b21MZWZ0ID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJv
cmRlckJvdHRvbUxlZnRSYWRpdXMpOworCisgICAgLy8gQWxsIDQgcHJvcGVydGllcyBtdXN0IGJl
IHNwZWNpZmllZC4KKyAgICBpZiAoIXRvcExlZnQgfHwgIXRvcFJpZ2h0IHx8ICFib3R0b21SaWdo
dCB8fCAhYm90dG9tTGVmdCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgYXV0byYg
dG9wTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp0b3BMZWZ0KS5wYWly
VmFsdWUoKTsKKyAgICBhdXRvJiB0b3BSaWdodFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp0b3BSaWdodCkucGFpclZhbHVlKCk7CisgICAgYXV0byYgYm90dG9tUmlnaHRQYWly
ID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYm90dG9tUmlnaHQpLnBhaXJWYWx1ZSgp
OworICAgIGF1dG8mIGJvdHRvbUxlZnRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVl
PigqYm90dG9tTGVmdCkucGFpclZhbHVlKCk7CisKKyAgICBhdXRvIGZpcnN0ID0gc2VyaWFsaXpl
KHRvcExlZnRQYWlyLmZpcnN0KCksIHRvcFJpZ2h0UGFpci5maXJzdCgpLCBib3R0b21SaWdodFBh
aXIuZmlyc3QoKSwgYm90dG9tTGVmdFBhaXIuZmlyc3QoKSk7CisgICAgYXV0byBzZWNvbmQgPSBz
ZXJpYWxpemUodG9wTGVmdFBhaXIuc2Vjb25kKCksIHRvcFJpZ2h0UGFpci5zZWNvbmQoKSwgYm90
dG9tUmlnaHRQYWlyLnNlY29uZCgpLCBib3R0b21MZWZ0UGFpci5zZWNvbmQoKSk7CisgICAgaWYg
KGZpcnN0ID09IHNlY29uZCkKKyAgICAgICAgcmV0dXJuIGZpcnN0OworCisgICAgcmV0dXJuIG1h
a2VTdHJpbmcoZmlyc3QsICIgLyAiLCBzZWNvbmQpOworfQorCiBTdHJpbmcgU3R5bGVQcm9wZXJ0
aWVzOjpib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hv
cnRoYW5kKSBjb25zdAogewogICAgIGF1dG8gaG9yaXpvbnRhbFZhbHVlID0gZ2V0UHJvcGVydHlD
U1NWYWx1ZShzaG9ydGhhbmQucHJvcGVydGllcygpWzBdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVBy
b3BlcnRpZXMuaAppbmRleCBkZjgyNTkyYWM3N2MyYjhmM2FlM2JlNTk5MTYyMDNhZTFhZjE4YTc0
Li4xOTg1NzNjNWNhODMzOTUwZTM0M2E5ZmUyZjI1MmUyMmFlYzhkNDAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUHJvcGVydGllcy5oCkBAIC0xNzAsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICBT
dHJpbmcgZ2V0TGF5ZXJlZFNob3J0aGFuZFZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmKSBjb25zdDsKICAgICBTdHJpbmcgZ2V0MlZhbHVlcyhjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJikgY29uc3Q7CiAgICAgU3RyaW5nIGdldDRWYWx1ZXMoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYpIGNvbnN0OworICAgIFN0cmluZyBib3JkZXJSYWRpdXNWYWx1ZSgpIGNvbnN0
OwogICAgIFN0cmluZyBib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBmb250VmFsdWUoKSBjb25zdDsKICAgICBTdHJpbmcg
Zm9udFZhcmlhbnRWYWx1ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCA3MWQzMTc3ZDg2ZTg0OWVkNjc3NzA0ZTA3NTA2
MGYxOTE4MDdiNmZiLi4zMDM3Mjg5NmVhMjc0MjBmNTU1M2EyZmM3NWFjYTExMGFmOWUyNjc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApA
QCAtNjMsNiArNjMsMTAgQEAKICNpbmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRm9udEZh
Y2UuaCIKICNpbmNsdWRlICJIYXNoVG9vbHMuaCIKKy8vIEZJWE1FLU5FV1BBUlNFUjogQ1NTUHJp
bWl0aXZlVmFsdWUgaXMgYSBsYXJnZSBjbGFzcyB0aGF0IGhvbGRzIG1hbnkgdW5yZWxhdGVkIG9i
amVjdHMsCisvLyBzd2l0Y2hpbmcgYmVoYXZpb3Igb24gdGhlIHR5cGUgb2YgdGhlIG9iamVjdCBp
dCBpcyBob2xkaW5nLgorLy8gU2luY2UgQ1NTVmFsdWUgaXMgYWxyZWFkeSBhIGNsYXNzIGhpZXJh
cmNoeSwgdGhpcyBhZGRzIGFuIHVubmVjZXNzYXJ5IHNlY29uZCBsZXZlbCB0byB0aGUgaGllcmFy
Y2h5IHRoYXQgY29tcGxpY2F0ZXMgY29kZS4KKy8vIFNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSB2
YXJpb3VzIGJlaGF2aW9ycyBmcm9tIENTU1ByaW1pdGl2ZVZhbHVlIGFuZCBzcGxpdCB0aGVtIGlu
dG8gc2VwYXJhdGUgc3ViY2xhc3NlcyBvZiBDU1NWYWx1ZS4KIC8vIEZJWE1FLU5FV1BBUlNFUjog
UmVwbGFjZSBQYWlyIGFuZCBSZWN0IHdpdGggYWN0dWFsIENTU1ZhbHVlIHN1YmNsYXNzZXMgKENT
U1ZhbHVlUGFpciBhbmQgQ1NTUXVhZFZhbHVlKS4KICNpbmNsdWRlICJQYWlyLmgiCiAjaW5jbHVk
ZSAiUmVjdC5oIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjA4YzcxMWVmN2Ji
NWMxMTUyZGU4MmJjMTZhMmEwNGQ5ZWMyM2I4ZC4uZjYyMWFkNmI1NDk5OTA5YWQyNzg3MWE2NDcx
ZGM3MjNlZDVkNTY2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjEtMTAtMjkgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5wYXJrQHNhbXN1bmcuY29t
PgorCisgICAgICAgIGJvcmRlci1yYWRpdXMgaW5saW5lIHN0eWxlIHNob3VsZCBzZXJpYWxpemUg
d2l0aCB2YWxpZCBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4Mzk5NAorCisgICAgICAgIFRoaXMgcGF0Y2ggaGF2ZSBib3JkZXItcmFkaXVz
IHByb3BlcnR5IHNlcmlhbGl6ZXMgaW4gY2Fub25pY2FsIG9yZGVyCisgICAgICAgIGFzIHNwZWNp
ZmllZCBpbiBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLyNib3JkZXIt
cmFkaXVzLgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFk
aXVzLXZhbGlkLWV4cGVjdGVkLnR4dDogQWRkIG1vcmUgdGVzdCBjYXNlIHJlc3VsdHMuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3Jk
ZXItcmFkaXVzLXZhbGlkLmh0bWw6IEFkZCBtb3JlIHRlc3QgY2FzZXMuCisKIDIwMjEtMTAtMjgg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3R1YnMgZm9y
IHRoZSBXZWIgTG9ja3MgQVBJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFk
aXVzLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFs
aWQtZXhwZWN0ZWQudHh0CmluZGV4IDMxN2M5YTRhOTFmM2Q1OTM1Yjc5YTU3NGI1NjUxMzJlNWE3
N2M4N2MuLjljYzMwODcwMTI4NDdlNzM4ODFiMWE4ZGE1MGFmMzg2MThmNzRjODcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1i
YWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNr
Z3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xLDEz
ICsxLDEzIEBACiAKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0g
IjFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5
bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1ZW0gLyAxcHggMiUgM3B4IDQlIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBj
YW5vbmljYWwgZXhwZWN0ZWQgIjVlbSAvIDFweCAyJSAzcHggNCUiIGJ1dCBnb3QgIjVlbSAxcHgg
NWVtIDIlIDVlbSAzcHggNWVtIDQlIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
MXB4IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHgg
MiUgM3B4IDQlIC8gNWVtIiBidXQgZ290ICIxcHggNWVtIDIlIDVlbSAzcHggNWVtIDQlIDVlbSIK
LUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDIlIC8gMXB4IDIl
IDFweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2Vy
aWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMXB4IDFweCAyJSAv
IDFweCAyJSIgYnV0IGdvdCAiMXB4IDFweCAyJSAxcHggMiUiCi1GQUlMIGUuc3R5bGVbJ2JvcmRl
ci1yYWRpdXMnXSA9ICIxcHggMXB4IDFweCAxcHggLyAxcHggMXB4IDIlIDFweCIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQg
YmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggLyAxcHggMXB4IDIlIiBidXQgZ290ICIxcHggMXB4
IDFweCAyJSIKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjVlbSAvIDFweCAyJSAz
cHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRl
ci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IDQlIC8gNWVtIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMiUg
LyAxcHggMiUgMXB4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMXB4IC8gMXB4IDFweCAyJSAxcHgi
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRp
dXMnXSA9ICIxcHggMXB4IDIlIDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFT
UyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDFweCAxcHgiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgg
MiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBh
c3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQg
IjFweCAyJSAyJSAvIDFweCAyJSAzcHgiIGJ1dCBnb3QgIjFweCAyJSAyJSAzcHgiCitQQVNTIGUu
c3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItdG9wLWxl
ZnQtcmFkaXVzJ10gPSAiMTBweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1Mg
ZS5zdHlsZVsnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMnXSA9ICIyMCUiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVz
J10gPSAiMzBweCA0MCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFj
a2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2lu
Zy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwKaW5kZXggNzM4MzYyZjk2OTMzYzM0ZmFlMzhlNmFk
ZmE5YTgyYTU1NmZjMWYzYi4uNzgxM2VkZWRiMzlkNDM1NjllYmE5ODQxOTNmMWVjODFhZGEyMGYy
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1i
YWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRtbApAQCAtMTIsOCArMTIs
MTMgQEAKIDxib2R5PgogPHNjcmlwdD4KIHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMi
LCAiMXB4Iik7Cit0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCA1JSIpOwog
dGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgM3B4IDQlIik7Cit0ZXN0
X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCAvIDJweCIpOwogdGVzdF92YWxpZF92
YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICI1ZW0gLyAxcHggMiUgM3B4IDQlIik7Cit0ZXN0X3ZhbGlk
X3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCAyJSAvIDNweCA0cHgiKTsKK3Rlc3RfdmFsaWRf
dmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDJweCAzZW0gLyAxcHggMnB4IDMlIik7Cit0ZXN0
X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCAyJSAvIDJweCAzZW0gNHB4IDVlbSIp
OwogdGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgM3B4IDQlIC8gNWVt
Iik7CiAKIHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDFweCAxcHggMiUg
LyAxcHggMiUgMXB4IDIlIiwgIjFweCAxcHggMXB4IDIlIC8gMXB4IDIlIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442894</attachid>
            <date>2021-10-29 19:57:20 -0700</date>
            <delta_ts>2021-10-30 06:04:24 -0700</delta_ts>
            <desc>Add more test cases to border-radius-valid wpt test</desc>
            <filename>bug-183994-20211030115719.patch</filename>
            <type>text/plain</type>
            <size>10413</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhmMDAxNjc4ZTQ0MjFi
M2ExOTA5OGY0ODhiYTZjOGYxM2VlOWE1ZS4uNmViYWIwMGQxNDQwNTJjMGM4NjZjZGMzNjQ4OGM0
MjgzZjIxM2MzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTI5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICAqIGNz
cy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVy
dGllczo6Ym9yZGVyUmFkaXVzVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3Bl
cnRpZXMuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwog
MjAyMS0xMC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBZYWhvby5jb20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRo
cm91Z2hvdXQgd2hlbiB1c2luZyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCmluZGV4IGJkM2JlNTkwZGZlN2E1ZjY3Y2I5
NDVlZWFlNmQ2ZjJlY2MyOTA3MTQuLjJkNGZlYTM2ZDgzZDIxMWM5YmE1YTU0ZjllN2VhNmI3ZmNh
YmQ4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAt
MzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNT
aG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNWYWx1ZSgpOwogICAgIGNh
c2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFu
ZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAtMzYzLDYgKzM2NCwz
OCBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0
IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAor
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoKSBjb25zdAoreworICAg
IGF1dG8gc2VyaWFsaXplID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1Zh
bHVlKiB0b3BSaWdodCwgY29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1
ZSogYm90dG9tTGVmdCkgLT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9
ICEoKnRvcFJpZ2h0ID09ICpib3R0b21MZWZ0KTsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tUmln
aHQgPSAhKCp0b3BMZWZ0ID09ICpib3R0b21SaWdodCkgfHwgc2hvd0JvdHRvbUxlZnQ7CisgICAg
ICAgIGJvb2wgc2hvd1RvcFJpZ2h0ID0gISgqdG9wTGVmdCA9PSAqdG9wUmlnaHQpIHx8IHNob3dC
b3R0b21SaWdodDsKKworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyh0b3BMZWZ0LT5jc3NUZXh0
KCksIHNob3dUb3BSaWdodCA/ICIgIiA6ICIiLCBzaG93VG9wUmlnaHQgPyB0b3BSaWdodC0+Y3Nz
VGV4dCgpIDogIiIsIHNob3dCb3R0b21SaWdodCA/ICIgIiA6ICIiLCBzaG93Qm90dG9tUmlnaHQg
PyBib3R0b21SaWdodC0+Y3NzVGV4dCgpIDogIiIsIHNob3dCb3R0b21MZWZ0ID8gIiAiIDogIiIs
IHNob3dCb3R0b21MZWZ0ID8gYm90dG9tTGVmdC0+Y3NzVGV4dCgpIDogIiIpOworICAgIH07CisK
KyAgICBhdXRvIHRvcExlZnQgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Qm9yZGVy
VG9wTGVmdFJhZGl1cyk7CisgICAgYXV0byB0b3BSaWdodCA9IGdldFByb3BlcnR5Q1NTVmFsdWUo
Q1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1cyk7CisgICAgYXV0byBib3R0b21SaWdodCA9
IGdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cyk7
CisgICAgYXV0byBib3R0b21MZWZ0ID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJv
cmRlckJvdHRvbUxlZnRSYWRpdXMpOworCisgICAgLy8gQWxsIDQgcHJvcGVydGllcyBtdXN0IGJl
IHNwZWNpZmllZC4KKyAgICBpZiAoIXRvcExlZnQgfHwgIXRvcFJpZ2h0IHx8ICFib3R0b21SaWdo
dCB8fCAhYm90dG9tTGVmdCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgYXV0byYg
dG9wTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp0b3BMZWZ0KS5wYWly
VmFsdWUoKTsKKyAgICBhdXRvJiB0b3BSaWdodFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCp0b3BSaWdodCkucGFpclZhbHVlKCk7CisgICAgYXV0byYgYm90dG9tUmlnaHRQYWly
ID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYm90dG9tUmlnaHQpLnBhaXJWYWx1ZSgp
OworICAgIGF1dG8mIGJvdHRvbUxlZnRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVl
PigqYm90dG9tTGVmdCkucGFpclZhbHVlKCk7CisKKyAgICBhdXRvIGZpcnN0ID0gc2VyaWFsaXpl
KHRvcExlZnRQYWlyLmZpcnN0KCksIHRvcFJpZ2h0UGFpci5maXJzdCgpLCBib3R0b21SaWdodFBh
aXIuZmlyc3QoKSwgYm90dG9tTGVmdFBhaXIuZmlyc3QoKSk7CisgICAgYXV0byBzZWNvbmQgPSBz
ZXJpYWxpemUodG9wTGVmdFBhaXIuc2Vjb25kKCksIHRvcFJpZ2h0UGFpci5zZWNvbmQoKSwgYm90
dG9tUmlnaHRQYWlyLnNlY29uZCgpLCBib3R0b21MZWZ0UGFpci5zZWNvbmQoKSk7CisgICAgaWYg
KGZpcnN0ID09IHNlY29uZCkKKyAgICAgICAgcmV0dXJuIGZpcnN0OworCisgICAgcmV0dXJuIG1h
a2VTdHJpbmcoZmlyc3QsICIgLyAiLCBzZWNvbmQpOworfQorCiBTdHJpbmcgU3R5bGVQcm9wZXJ0
aWVzOjpib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hv
cnRoYW5kKSBjb25zdAogewogICAgIGF1dG8gaG9yaXpvbnRhbFZhbHVlID0gZ2V0UHJvcGVydHlD
U1NWYWx1ZShzaG9ydGhhbmQucHJvcGVydGllcygpWzBdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVBy
b3BlcnRpZXMuaAppbmRleCBkZjgyNTkyYWM3N2MyYjhmM2FlM2JlNTk5MTYyMDNhZTFhZjE4YTc0
Li4xOTg1NzNjNWNhODMzOTUwZTM0M2E5ZmUyZjI1MmUyMmFlYzhkNDAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUHJvcGVydGllcy5oCkBAIC0xNzAsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICBT
dHJpbmcgZ2V0TGF5ZXJlZFNob3J0aGFuZFZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmKSBjb25zdDsKICAgICBTdHJpbmcgZ2V0MlZhbHVlcyhjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJikgY29uc3Q7CiAgICAgU3RyaW5nIGdldDRWYWx1ZXMoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYpIGNvbnN0OworICAgIFN0cmluZyBib3JkZXJSYWRpdXNWYWx1ZSgpIGNvbnN0
OwogICAgIFN0cmluZyBib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBmb250VmFsdWUoKSBjb25zdDsKICAgICBTdHJpbmcg
Zm9udFZhcmlhbnRWYWx1ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCA3MWQzMTc3ZDg2ZTg0OWVkNjc3NzA0ZTA3NTA2
MGYxOTE4MDdiNmZiLi4zMDM3Mjg5NmVhMjc0MjBmNTU1M2EyZmM3NWFjYTExMGFmOWUyNjc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApA
QCAtNjMsNiArNjMsMTAgQEAKICNpbmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRm9udEZh
Y2UuaCIKICNpbmNsdWRlICJIYXNoVG9vbHMuaCIKKy8vIEZJWE1FLU5FV1BBUlNFUjogQ1NTUHJp
bWl0aXZlVmFsdWUgaXMgYSBsYXJnZSBjbGFzcyB0aGF0IGhvbGRzIG1hbnkgdW5yZWxhdGVkIG9i
amVjdHMsCisvLyBzd2l0Y2hpbmcgYmVoYXZpb3Igb24gdGhlIHR5cGUgb2YgdGhlIG9iamVjdCBp
dCBpcyBob2xkaW5nLgorLy8gU2luY2UgQ1NTVmFsdWUgaXMgYWxyZWFkeSBhIGNsYXNzIGhpZXJh
cmNoeSwgdGhpcyBhZGRzIGFuIHVubmVjZXNzYXJ5IHNlY29uZCBsZXZlbCB0byB0aGUgaGllcmFy
Y2h5IHRoYXQgY29tcGxpY2F0ZXMgY29kZS4KKy8vIFNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSB2
YXJpb3VzIGJlaGF2aW9ycyBmcm9tIENTU1ByaW1pdGl2ZVZhbHVlIGFuZCBzcGxpdCB0aGVtIGlu
dG8gc2VwYXJhdGUgc3ViY2xhc3NlcyBvZiBDU1NWYWx1ZS4KIC8vIEZJWE1FLU5FV1BBUlNFUjog
UmVwbGFjZSBQYWlyIGFuZCBSZWN0IHdpdGggYWN0dWFsIENTU1ZhbHVlIHN1YmNsYXNzZXMgKENT
U1ZhbHVlUGFpciBhbmQgQ1NTUXVhZFZhbHVlKS4KICNpbmNsdWRlICJQYWlyLmgiCiAjaW5jbHVk
ZSAiUmVjdC5oIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjA4YzcxMWVmN2Ji
NWMxMTUyZGU4MmJjMTZhMmEwNGQ5ZWMyM2I4ZC4uZjYyMWFkNmI1NDk5OTA5YWQyNzg3MWE2NDcx
ZGM3MjNlZDVkNTY2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjEtMTAtMjkgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5wYXJrQHNhbXN1bmcuY29t
PgorCisgICAgICAgIGJvcmRlci1yYWRpdXMgaW5saW5lIHN0eWxlIHNob3VsZCBzZXJpYWxpemUg
d2l0aCB2YWxpZCBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4Mzk5NAorCisgICAgICAgIFRoaXMgcGF0Y2ggaGF2ZSBib3JkZXItcmFkaXVz
IHByb3BlcnR5IHNlcmlhbGl6ZXMgaW4gY2Fub25pY2FsIG9yZGVyCisgICAgICAgIGFzIHNwZWNp
ZmllZCBpbiBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLyNib3JkZXIt
cmFkaXVzLgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFk
aXVzLXZhbGlkLWV4cGVjdGVkLnR4dDogQWRkIG1vcmUgdGVzdCBjYXNlIHJlc3VsdHMuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3Jk
ZXItcmFkaXVzLXZhbGlkLmh0bWw6IEFkZCBtb3JlIHRlc3QgY2FzZXMuCisKIDIwMjEtMTAtMjgg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3R1YnMgZm9y
IHRoZSBXZWIgTG9ja3MgQVBJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFk
aXVzLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFs
aWQtZXhwZWN0ZWQudHh0CmluZGV4IDMxN2M5YTRhOTFmM2Q1OTM1Yjc5YTU3NGI1NjUxMzJlNWE3
N2M4N2MuLjljYzMwODcwMTI4NDdlNzM4ODFiMWE4ZGE1MGFmMzg2MThmNzRjODcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1i
YWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNr
Z3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xLDEz
ICsxLDEzIEBACiAKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0g
IjFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5
bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1ZW0gLyAxcHggMiUgM3B4IDQlIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBj
YW5vbmljYWwgZXhwZWN0ZWQgIjVlbSAvIDFweCAyJSAzcHggNCUiIGJ1dCBnb3QgIjVlbSAxcHgg
NWVtIDIlIDVlbSAzcHggNWVtIDQlIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
MXB4IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHgg
MiUgM3B4IDQlIC8gNWVtIiBidXQgZ290ICIxcHggNWVtIDIlIDVlbSAzcHggNWVtIDQlIDVlbSIK
LUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDIlIC8gMXB4IDIl
IDFweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2Vy
aWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMXB4IDFweCAyJSAv
IDFweCAyJSIgYnV0IGdvdCAiMXB4IDFweCAyJSAxcHggMiUiCi1GQUlMIGUuc3R5bGVbJ2JvcmRl
ci1yYWRpdXMnXSA9ICIxcHggMXB4IDFweCAxcHggLyAxcHggMXB4IDIlIDFweCIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQg
YmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggLyAxcHggMXB4IDIlIiBidXQgZ290ICIxcHggMXB4
IDFweCAyJSIKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjVlbSAvIDFweCAyJSAz
cHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRl
ci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IDQlIC8gNWVtIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMiUg
LyAxcHggMiUgMXB4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMXB4IC8gMXB4IDFweCAyJSAxcHgi
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRp
dXMnXSA9ICIxcHggMXB4IDIlIDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFT
UyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDFweCAxcHgiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgg
MiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBh
c3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQg
IjFweCAyJSAyJSAvIDFweCAyJSAzcHgiIGJ1dCBnb3QgIjFweCAyJSAyJSAzcHgiCitQQVNTIGUu
c3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItdG9wLWxl
ZnQtcmFkaXVzJ10gPSAiMTBweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1Mg
ZS5zdHlsZVsnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMnXSA9ICIyMCUiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVz
J10gPSAiMzBweCA0MCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFj
a2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2lu
Zy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwKaW5kZXggNzM4MzYyZjk2OTMzYzM0ZmFlMzhlNmFk
ZmE5YTgyYTU1NmZjMWYzYi4uMjg3Zjk1ZTE3NTUzOWFmOTQ2OTdiZjY1YjU5MjA0ZjYyNTY1Nzg3
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1i
YWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRtbApAQCAtMTIsOCArMTIs
MTQgQEAKIDxib2R5PgogPHNjcmlwdD4KIHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMi
LCAiMXB4Iik7Cit0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCA1JSIpOwor
dGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgM3B4Iik7CiB0ZXN0X3Zh
bGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCAyJSAzcHggNCUiKTsKK3Rlc3RfdmFsaWRf
dmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IC8gMnB4Iik7CiB0ZXN0X3ZhbGlkX3ZhbHVlKCJi
b3JkZXItcmFkaXVzIiwgIjVlbSAvIDFweCAyJSAzcHggNCUiKTsKK3Rlc3RfdmFsaWRfdmFsdWUo
ImJvcmRlci1yYWRpdXMiLCAiMXB4IDIlIC8gM3B4IDRweCIpOwordGVzdF92YWxpZF92YWx1ZSgi
Ym9yZGVyLXJhZGl1cyIsICIxcHggMnB4IDNlbSAvIDFweCAycHggMyUiKTsKK3Rlc3RfdmFsaWRf
dmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDIlIC8gMnB4IDNlbSA0cHggNWVtIik7CiB0ZXN0
X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCAyJSAzcHggNCUgLyA1ZW0iKTsKIAog
dGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMXB4IDFweCAyJSAvIDFweCAy
JSAxcHggMiUiLCAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442910</attachid>
            <date>2021-10-30 06:04:29 -0700</date>
            <delta_ts>2021-11-03 14:15:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183994-20211030220427.patch</filename>
            <type>text/plain</type>
            <size>12599</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhmMDAxNjc4ZTQ0MjFi
M2ExOTA5OGY0ODhiYTZjOGYxM2VlOWE1ZS4uNmViYWIwMGQxNDQwNTJjMGM4NjZjZGMzNjQ4OGM0
MjgzZjIxM2MzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTI5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICAqIGNz
cy9TdHlsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVz
OjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVy
dGllczo6Ym9yZGVyUmFkaXVzVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3Bl
cnRpZXMuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwog
MjAyMS0xMC0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBZYWhvby5jb20gaGFzIGZyYWdtZW50cyBvZiB3cm9uZ2x5LXNjYWxlZCBjb250ZW50IHRo
cm91Z2hvdXQgd2hlbiB1c2luZyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCmluZGV4IGJkM2JlNTkwZGZlN2E1ZjY3Y2I5
NDVlZWFlNmQ2ZjJlY2MyOTA3MTQuLmU1MDllZTY3ZjkwN2ZhMDZlNDk5Njg0MzZjNjIzZjQxYjRk
NWE0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAt
MzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNT
aG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNWYWx1ZShib3JkZXJSYWRp
dXNTaG9ydGhhbmQoKSk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUdhcDoKICAgICAgICAgcmV0dXJu
IGdldDJWYWx1ZXMoZ2FwU2hvcnRoYW5kKCkpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxN
YXJnaW46CkBAIC0zNjMsNiArMzY0LDY2IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldEN1
c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUpIGNvbnN0CiAgICAg
cmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpib3JkZXJSYWRp
dXNWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBzaG9ydGhhbmQpIGNvbnN0Cit7
CisgICAgYXV0byBzZXJpYWxpemUgPSBbXShjb25zdCBDU1NWYWx1ZSogdG9wTGVmdCwgY29uc3Qg
Q1NTVmFsdWUqIHRvcFJpZ2h0LCBjb25zdCBDU1NWYWx1ZSogYm90dG9tUmlnaHQsIGNvbnN0IENT
U1ZhbHVlKiBib3R0b21MZWZ0KSAtPiBTdHJpbmcgeworICAgICAgICBib29sIHNob3dCb3R0b21M
ZWZ0ID0gISgqdG9wUmlnaHQgPT0gKmJvdHRvbUxlZnQpOworICAgICAgICBib29sIHNob3dCb3R0
b21SaWdodCA9ICEoKnRvcExlZnQgPT0gKmJvdHRvbVJpZ2h0KSB8fCBzaG93Qm90dG9tTGVmdDsK
KyAgICAgICAgYm9vbCBzaG93VG9wUmlnaHQgPSAhKCp0b3BMZWZ0ID09ICp0b3BSaWdodCkgfHwg
c2hvd0JvdHRvbVJpZ2h0OworCisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKHRvcExlZnQtPmNz
c1RleHQoKSwgc2hvd1RvcFJpZ2h0ID8gIiAiIDogIiIsIHNob3dUb3BSaWdodCA/IHRvcFJpZ2h0
LT5jc3NUZXh0KCkgOiAiIiwgc2hvd0JvdHRvbVJpZ2h0ID8gIiAiIDogIiIsIHNob3dCb3R0b21S
aWdodCA/IGJvdHRvbVJpZ2h0LT5jc3NUZXh0KCkgOiAiIiwgc2hvd0JvdHRvbUxlZnQgPyAiICIg
OiAiIiwgc2hvd0JvdHRvbUxlZnQgPyBib3R0b21MZWZ0LT5jc3NUZXh0KCkgOiAiIik7CisgICAg
fTsKKworICAgIGludCB0b3BMZWZ0VmFsdWVJbmRleCA9IGZpbmRQcm9wZXJ0eUluZGV4KHNob3J0
aGFuZC5wcm9wZXJ0aWVzKClbMF0pOworICAgIGludCB0b3BSaWdodFZhbHVlSW5kZXggPSBmaW5k
UHJvcGVydHlJbmRleChzaG9ydGhhbmQucHJvcGVydGllcygpWzFdKTsKKyAgICBpbnQgYm90dG9t
UmlnaHRWYWx1ZUluZGV4ID0gZmluZFByb3BlcnR5SW5kZXgoc2hvcnRoYW5kLnByb3BlcnRpZXMo
KVsyXSk7CisgICAgaW50IGJvdHRvbUxlZnRWYWx1ZUluZGV4ID0gZmluZFByb3BlcnR5SW5kZXgo
c2hvcnRoYW5kLnByb3BlcnRpZXMoKVszXSk7CisKKyAgICBpZiAodG9wTGVmdFZhbHVlSW5kZXgg
PT0gLTEgfHwgdG9wUmlnaHRWYWx1ZUluZGV4ID09IC0xIHx8IGJvdHRvbVJpZ2h0VmFsdWVJbmRl
eCA9PSAtMSB8fCBib3R0b21MZWZ0VmFsdWVJbmRleCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIFN0
cmluZygpOworCisgICAgUHJvcGVydHlSZWZlcmVuY2UgdG9wTGVmdCA9IHByb3BlcnR5QXQodG9w
TGVmdFZhbHVlSW5kZXgpOworICAgIFByb3BlcnR5UmVmZXJlbmNlIHRvcFJpZ2h0ID0gcHJvcGVy
dHlBdCh0b3BSaWdodFZhbHVlSW5kZXgpOworICAgIFByb3BlcnR5UmVmZXJlbmNlIGJvdHRvbVJp
Z2h0ID0gcHJvcGVydHlBdChib3R0b21SaWdodFZhbHVlSW5kZXgpOworICAgIFByb3BlcnR5UmVm
ZXJlbmNlIGJvdHRvbUxlZnQgPSBwcm9wZXJ0eUF0KGJvdHRvbUxlZnRWYWx1ZUluZGV4KTsKKwor
ICAgIGF1dG8qIHRvcExlZnRWYWx1ZSA9IHRvcExlZnQudmFsdWUoKTsKKyAgICBhdXRvKiB0b3BS
aWdodFZhbHVlID0gdG9wUmlnaHQudmFsdWUoKTsKKyAgICBhdXRvKiBib3R0b21SaWdodFZhbHVl
ID0gYm90dG9tUmlnaHQudmFsdWUoKTsKKyAgICBhdXRvKiBib3R0b21MZWZ0VmFsdWUgPSBib3R0
b21MZWZ0LnZhbHVlKCk7CisKKyAgICAvLyBBbGwgNCBwcm9wZXJ0aWVzIG11c3QgYmUgc3BlY2lm
aWVkLgorICAgIGlmICghdG9wTGVmdFZhbHVlIHx8ICF0b3BSaWdodFZhbHVlIHx8ICFib3R0b21S
aWdodFZhbHVlIHx8ICFib3R0b21MZWZ0VmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KworICAgIC8vIEltcG9ydGFudCBmbGFncyBtdXN0IGJlIHRoZSBzYW1lCisgICAgaWYgKHRvcExl
ZnQuaXNJbXBvcnRhbnQoKSAhPSB0b3BSaWdodC5pc0ltcG9ydGFudCgpIHx8IHRvcFJpZ2h0Lmlz
SW1wb3J0YW50KCkgIT0gYm90dG9tUmlnaHQuaXNJbXBvcnRhbnQoKSB8fCBib3R0b21SaWdodC5p
c0ltcG9ydGFudCgpICE9IGJvdHRvbUxlZnQuaXNJbXBvcnRhbnQoKSkKKyAgICAgICAgcmV0dXJu
IFN0cmluZygpOworCisgICAgaWYgKHRvcExlZnRWYWx1ZS0+aXNJbmhlcml0ZWRWYWx1ZSgpICYm
IHRvcFJpZ2h0VmFsdWUtPmlzSW5oZXJpdGVkVmFsdWUoKSAmJiBib3R0b21SaWdodFZhbHVlLT5p
c0luaGVyaXRlZFZhbHVlKCkgJiYgYm90dG9tTGVmdFZhbHVlLT5pc0luaGVyaXRlZFZhbHVlKCkp
CisgICAgICAgIHJldHVybiBnZXRWYWx1ZU5hbWUoQ1NTVmFsdWVJbmhlcml0KTsKKworICAgIGlm
ICh0b3BMZWZ0VmFsdWUtPmlzSW5pdGlhbFZhbHVlKCkgfHwgdG9wUmlnaHRWYWx1ZS0+aXNJbml0
aWFsVmFsdWUoKSB8fCBib3R0b21SaWdodFZhbHVlLT5pc0luaXRpYWxWYWx1ZSgpIHx8IGJvdHRv
bUxlZnRWYWx1ZS0+aXNJbml0aWFsVmFsdWUoKSkgeworICAgICAgICBpZiAodG9wTGVmdFZhbHVl
LT5pc0luaXRpYWxWYWx1ZSgpICYmIHRvcFJpZ2h0VmFsdWUtPmlzSW5pdGlhbFZhbHVlKCkgJiYg
Ym90dG9tUmlnaHRWYWx1ZS0+aXNJbml0aWFsVmFsdWUoKSAmJiBib3R0b21MZWZ0VmFsdWUtPmlz
SW5pdGlhbFZhbHVlKCkgJiYgIXRvcExlZnQuaXNJbXBsaWNpdCgpKSB7CisgICAgICAgICAgICAv
LyBBbGwgY29tcG9uZW50cyBhcmUgImluaXRpYWwiIGFuZCAidG9wTGVmdCIgaXMgbm90IGltcGxp
Y2l0LgorICAgICAgICAgICAgcmV0dXJuIGdldFZhbHVlTmFtZShDU1NWYWx1ZUluaXRpYWwpOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAgICBhdXRvJiB0
b3BMZWZ0UGFpciA9ICpkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnRvcExlZnRWYWx1ZSku
cGFpclZhbHVlKCk7CisgICAgYXV0byYgdG9wUmlnaHRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPigqdG9wUmlnaHRWYWx1ZSkucGFpclZhbHVlKCk7CisgICAgYXV0byYgYm90dG9t
UmlnaHRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYm90dG9tUmlnaHRWYWx1
ZSkucGFpclZhbHVlKCk7CisgICAgYXV0byYgYm90dG9tTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KCpib3R0b21MZWZ0VmFsdWUpLnBhaXJWYWx1ZSgpOworCisgICAgYXV0
byBmaXJzdCA9IHNlcmlhbGl6ZSh0b3BMZWZ0UGFpci5maXJzdCgpLCB0b3BSaWdodFBhaXIuZmly
c3QoKSwgYm90dG9tUmlnaHRQYWlyLmZpcnN0KCksIGJvdHRvbUxlZnRQYWlyLmZpcnN0KCkpOwor
ICAgIGF1dG8gc2Vjb25kID0gc2VyaWFsaXplKHRvcExlZnRQYWlyLnNlY29uZCgpLCB0b3BSaWdo
dFBhaXIuc2Vjb25kKCksIGJvdHRvbVJpZ2h0UGFpci5zZWNvbmQoKSwgYm90dG9tTGVmdFBhaXIu
c2Vjb25kKCkpOworICAgIGlmIChmaXJzdCA9PSBzZWNvbmQpCisgICAgICAgIHJldHVybiBmaXJz
dDsKKworICAgIHJldHVybiBtYWtlU3RyaW5nKGZpcnN0LCAiIC8gIiwgc2Vjb25kKTsKK30KKwog
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyU3BhY2luZ1ZhbHVlKGNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIHNob3J0aGFuZCkgY29uc3QKIHsKICAgICBhdXRvIGhvcml6b250YWxW
YWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVswXSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKaW5kZXggZGY4MjU5MmFjNzdjMmI4ZjNhZTNi
ZTU5OTE2MjAzYWUxYWYxOGE3NC4uNzQ5YjMxOGI0YTUxZjcwNzViOWVhMzlmMWVmMWZlMmYwZTcx
MGQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaApAQCAtMTcwLDYgKzE3MCw3
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGdldExheWVyZWRTaG9ydGhhbmRWYWx1ZShjb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJikgY29uc3Q7CiAgICAgU3RyaW5nIGdldDJWYWx1ZXMoY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBnZXQ0VmFsdWVz
KGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKKyAgICBTdHJpbmcgYm9yZGVy
UmFkaXVzVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0
cmluZyBib3JkZXJTcGFjaW5nVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNv
bnN0OwogICAgIFN0cmluZyBmb250VmFsdWUoKSBjb25zdDsKICAgICBTdHJpbmcgZm9udFZhcmlh
bnRWYWx1ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmNwcAppbmRleCA3MWQzMTc3ZDg2ZTg0OWVkNjc3NzA0ZTA3NTA2MGYxOTE4MDdi
NmZiLi4zMDM3Mjg5NmVhMjc0MjBmNTU1M2EyZmM3NWFjYTExMGFmOWUyNjc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtNjMsNiAr
NjMsMTAgQEAKICNpbmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRm9udEZhY2UuaCIKICNp
bmNsdWRlICJIYXNoVG9vbHMuaCIKKy8vIEZJWE1FLU5FV1BBUlNFUjogQ1NTUHJpbWl0aXZlVmFs
dWUgaXMgYSBsYXJnZSBjbGFzcyB0aGF0IGhvbGRzIG1hbnkgdW5yZWxhdGVkIG9iamVjdHMsCisv
LyBzd2l0Y2hpbmcgYmVoYXZpb3Igb24gdGhlIHR5cGUgb2YgdGhlIG9iamVjdCBpdCBpcyBob2xk
aW5nLgorLy8gU2luY2UgQ1NTVmFsdWUgaXMgYWxyZWFkeSBhIGNsYXNzIGhpZXJhcmNoeSwgdGhp
cyBhZGRzIGFuIHVubmVjZXNzYXJ5IHNlY29uZCBsZXZlbCB0byB0aGUgaGllcmFyY2h5IHRoYXQg
Y29tcGxpY2F0ZXMgY29kZS4KKy8vIFNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSB2YXJpb3VzIGJl
aGF2aW9ycyBmcm9tIENTU1ByaW1pdGl2ZVZhbHVlIGFuZCBzcGxpdCB0aGVtIGludG8gc2VwYXJh
dGUgc3ViY2xhc3NlcyBvZiBDU1NWYWx1ZS4KIC8vIEZJWE1FLU5FV1BBUlNFUjogUmVwbGFjZSBQ
YWlyIGFuZCBSZWN0IHdpdGggYWN0dWFsIENTU1ZhbHVlIHN1YmNsYXNzZXMgKENTU1ZhbHVlUGFp
ciBhbmQgQ1NTUXVhZFZhbHVlKS4KICNpbmNsdWRlICJQYWlyLmgiCiAjaW5jbHVkZSAiUmVjdC5o
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjA4YzcxMWVmN2JiNWMxMTUyZGU4
MmJjMTZhMmEwNGQ5ZWMyM2I4ZC4uZjYyMWFkNmI1NDk5OTA5YWQyNzg3MWE2NDcxZGM3MjNlZDVk
NTY2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MjEtMTAtMjkgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5wYXJrQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIGJvcmRlci1yYWRpdXMgaW5saW5lIHN0eWxlIHNob3VsZCBzZXJpYWxpemUgd2l0aCB2YWxp
ZCBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4Mzk5NAorCisgICAgICAgIFRoaXMgcGF0Y2ggaGF2ZSBib3JkZXItcmFkaXVzIHByb3BlcnR5
IHNlcmlhbGl6ZXMgaW4gY2Fub25pY2FsIG9yZGVyCisgICAgICAgIGFzIHNwZWNpZmllZCBpbiBo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLyNib3JkZXItcmFkaXVzLgor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlk
LWV4cGVjdGVkLnR4dDogQWRkIG1vcmUgdGVzdCBjYXNlIHJlc3VsdHMuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVz
LXZhbGlkLmh0bWw6IEFkZCBtb3JlIHRlc3QgY2FzZXMuCisKIDIwMjEtMTAtMjggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3R1YnMgZm9yIHRoZSBXZWIg
TG9ja3MgQVBJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0
ZWQudHh0CmluZGV4IDMxN2M5YTRhOTFmM2Q1OTM1Yjc5YTU3NGI1NjUxMzJlNWE3N2M4N2MuLmMx
YjZiOTBhNWNjZTJlMzUyNGE4NzE0OTRiM2JhODEyYzdmMGU0YTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5k
cy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9w
YXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDE5IEBA
CiAKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCIgc2hvdWxkIHNldCB0aGUg
cHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCA1JSIg
c2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1
cyddID0gIjFweCAyJSAzcHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUu
c3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IDQlIiBzaG91bGQgc2V0IHRoZSBw
cm9wZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiNWVtIC8gMXB4
IDIlIDNweCA0JSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczog
c2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICI1ZW0gLyAxcHggMiUg
M3B4IDQlIiBidXQgZ290ICI1ZW0gMXB4IDVlbSAyJSA1ZW0gM3B4IDVlbSA0JSIKLUZBSUwgZS5z
dHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAzcHggNCUgLyA1ZW0iIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJl
IGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IDIlIDNweCA0JSAvIDVlbSIgYnV0IGdvdCAiMXB4IDVl
bSAyJSA1ZW0gM3B4IDVlbSA0JSA1ZW0iCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9
ICIxcHggMXB4IDFweCAyJSAvIDFweCAyJSAxcHggMiUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5
IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBl
eHBlY3RlZCAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUiIGJ1dCBnb3QgIjFweCAxcHggMiUgMXB4
IDIlIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMXB4IC8g
MXB4IDFweCAyJSAxcHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVh
bHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IC8gMXB4
IDFweCAyJSIgYnV0IGdvdCAiMXB4IDFweCAxcHggMiUiCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1y
YWRpdXMnXSA9ICIxcHggLyAycHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNT
IGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1ZW0gLyAxcHggMiUgM3B4IDQlIiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
MXB4IDIlIC8gM3B4IDRweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5z
dHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAycHggM2VtIC8gMXB4IDJweCAzJSIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0g
IjFweCAyJSAvIDJweCAzZW0gNHB4IDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUK
K1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAzcHggNCUgLyA1ZW0iIHNo
b3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMn
XSA9ICIxcHggMXB4IDFweCAyJSAvIDFweCAyJSAxcHggMiUiIHNob3VsZCBzZXQgdGhlIHByb3Bl
cnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMXB4IDFweCAx
cHggLyAxcHggMXB4IDIlIDFweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1Mg
ZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMiUgMiUiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUg
MXB4IDFweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnYm9y
ZGVyLXJhZGl1cyddID0gIjFweCAyJSAyJSAyJSAvIDFweCAyJSAzcHggMiUiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJl
IGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IDIlIDIlIC8gMXB4IDIlIDNweCIgYnV0IGdvdCAiMXB4
IDIlIDIlIDNweCIKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAyJSAy
JSAvIDFweCAyJSAzcHggMiUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUu
c3R5bGVbJ2JvcmRlci10b3AtbGVmdC1yYWRpdXMnXSA9ICIxMHB4IiBzaG91bGQgc2V0IHRoZSBw
cm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyddID0g
IjIwJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVy
LWJvdHRvbS1yaWdodC1yYWRpdXMnXSA9ICIzMHB4IDQwJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRtbAppbmRleCA3Mzgz
NjJmOTY5MzNjMzRmYWUzOGU2YWRmYTlhODJhNTU2ZmMxZjNiLi4yODdmOTVlMTc1NTM5YWY5NDY5
N2JmNjViNTkyMDRmNjI1NjU3ODdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXIt
cmFkaXVzLXZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxp
ZC5odG1sCkBAIC0xMiw4ICsxMiwxNCBAQAogPGJvZHk+CiA8c2NyaXB0PgogdGVzdF92YWxpZF92
YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHgiKTsKK3Rlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1y
YWRpdXMiLCAiMXB4IDUlIik7Cit0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFw
eCAyJSAzcHgiKTsKIHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDIlIDNw
eCA0JSIpOwordGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggLyAycHgiKTsK
IHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiNWVtIC8gMXB4IDIlIDNweCA0JSIp
OwordGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgLyAzcHggNHB4Iik7
Cit0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCAycHggM2VtIC8gMXB4IDJw
eCAzJSIpOwordGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgLyAycHgg
M2VtIDRweCA1ZW0iKTsKIHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDIl
IDNweCA0JSAvIDVlbSIpOwogCiB0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFw
eCAxcHggMXB4IDIlIC8gMXB4IDIlIDFweCAyJSIsICIxcHggMXB4IDFweCAyJSAvIDFweCAyJSIp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443238</attachid>
            <date>2021-11-03 14:15:26 -0700</date>
            <delta_ts>2021-11-15 22:37:31 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-183994-20211104061524.patch</filename>
            <type>text/plain</type>
            <size>12631</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Q4YjZhZTdjYjdhMTUw
NmMzMzFlOTQ1OWIxZTkxMjY2NzQzODk3Mi4uNWY5ZTQ0NmIwNjA0YWIzMzI0NTVlNGM1OWU2NDVh
N2JiZmY1ZWNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTExLTAzICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFs
dWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuaDoKKyAgICAgICAgKiBj
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKwogMjAyMS0xMS0wMyAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENsaWNraW5nIGEgbGluayBzaG91bGQg
cHJlY29ubmVjdCB0byBkZXN0aW5hdGlvbiBhcyBmaXJzdCBwYXJ0eQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVQcm9wZXJ0aWVzLmNwcAppbmRleCBiZDNiZTU5MGRmZTdhNWY2N2NiOTQ1ZWVhZTZkNmYy
ZWNjMjkwNzE0Li5lNTA5ZWU2N2Y5MDdmYTA2ZTQ5OTY4NDM2YzYyM2Y0MWI0ZDVhNDQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKKyNpbmNsdWRlICJQYWlyLmgiCiAjaW5jbHVkZSAiUHJvcGVydHlTZXRDU1NTdHls
ZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2lu
Y2x1ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhhbmRGdW5jdGlvbnMuaCIKQEAgLTMxOSw3ICszMjAs
NyBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiB2YWx1ZS0+Y3NzVGV4dCgp
OwogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclJh
ZGl1czoKLSAgICAgICAgcmV0dXJuIGdldDRWYWx1ZXMoYm9yZGVyUmFkaXVzU2hvcnRoYW5kKCkp
OworICAgICAgICByZXR1cm4gYm9yZGVyUmFkaXVzVmFsdWUoYm9yZGVyUmFkaXVzU2hvcnRoYW5k
KCkpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVz
KGdhcFNob3J0aGFuZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAt
MzYzLDYgKzM2NCw2NiBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0
eVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJp
bmcoKTsKIH0KIAorU3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kKSBjb25zdAoreworICAgIGF1dG8g
c2VyaWFsaXplID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1ZhbHVlKiB0
b3BSaWdodCwgY29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1ZSogYm90
dG9tTGVmdCkgLT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9ICEoKnRv
cFJpZ2h0ID09ICpib3R0b21MZWZ0KTsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tUmlnaHQgPSAh
KCp0b3BMZWZ0ID09ICpib3R0b21SaWdodCkgfHwgc2hvd0JvdHRvbUxlZnQ7CisgICAgICAgIGJv
b2wgc2hvd1RvcFJpZ2h0ID0gISgqdG9wTGVmdCA9PSAqdG9wUmlnaHQpIHx8IHNob3dCb3R0b21S
aWdodDsKKworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyh0b3BMZWZ0LT5jc3NUZXh0KCksIHNo
b3dUb3BSaWdodCA/ICIgIiA6ICIiLCBzaG93VG9wUmlnaHQgPyB0b3BSaWdodC0+Y3NzVGV4dCgp
IDogIiIsIHNob3dCb3R0b21SaWdodCA/ICIgIiA6ICIiLCBzaG93Qm90dG9tUmlnaHQgPyBib3R0
b21SaWdodC0+Y3NzVGV4dCgpIDogIiIsIHNob3dCb3R0b21MZWZ0ID8gIiAiIDogIiIsIHNob3dC
b3R0b21MZWZ0ID8gYm90dG9tTGVmdC0+Y3NzVGV4dCgpIDogIiIpOworICAgIH07CisKKyAgICBp
bnQgdG9wTGVmdFZhbHVlSW5kZXggPSBmaW5kUHJvcGVydHlJbmRleChzaG9ydGhhbmQucHJvcGVy
dGllcygpWzBdKTsKKyAgICBpbnQgdG9wUmlnaHRWYWx1ZUluZGV4ID0gZmluZFByb3BlcnR5SW5k
ZXgoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVsxXSk7CisgICAgaW50IGJvdHRvbVJpZ2h0VmFsdWVJ
bmRleCA9IGZpbmRQcm9wZXJ0eUluZGV4KHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbMl0pOworICAg
IGludCBib3R0b21MZWZ0VmFsdWVJbmRleCA9IGZpbmRQcm9wZXJ0eUluZGV4KHNob3J0aGFuZC5w
cm9wZXJ0aWVzKClbM10pOworCisgICAgaWYgKHRvcExlZnRWYWx1ZUluZGV4ID09IC0xIHx8IHRv
cFJpZ2h0VmFsdWVJbmRleCA9PSAtMSB8fCBib3R0b21SaWdodFZhbHVlSW5kZXggPT0gLTEgfHwg
Ym90dG9tTGVmdFZhbHVlSW5kZXggPT0gLTEpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKwor
ICAgIFByb3BlcnR5UmVmZXJlbmNlIHRvcExlZnQgPSBwcm9wZXJ0eUF0KHRvcExlZnRWYWx1ZUlu
ZGV4KTsKKyAgICBQcm9wZXJ0eVJlZmVyZW5jZSB0b3BSaWdodCA9IHByb3BlcnR5QXQodG9wUmln
aHRWYWx1ZUluZGV4KTsKKyAgICBQcm9wZXJ0eVJlZmVyZW5jZSBib3R0b21SaWdodCA9IHByb3Bl
cnR5QXQoYm90dG9tUmlnaHRWYWx1ZUluZGV4KTsKKyAgICBQcm9wZXJ0eVJlZmVyZW5jZSBib3R0
b21MZWZ0ID0gcHJvcGVydHlBdChib3R0b21MZWZ0VmFsdWVJbmRleCk7CisKKyAgICBhdXRvKiB0
b3BMZWZ0VmFsdWUgPSB0b3BMZWZ0LnZhbHVlKCk7CisgICAgYXV0byogdG9wUmlnaHRWYWx1ZSA9
IHRvcFJpZ2h0LnZhbHVlKCk7CisgICAgYXV0byogYm90dG9tUmlnaHRWYWx1ZSA9IGJvdHRvbVJp
Z2h0LnZhbHVlKCk7CisgICAgYXV0byogYm90dG9tTGVmdFZhbHVlID0gYm90dG9tTGVmdC52YWx1
ZSgpOworCisgICAgLy8gQWxsIDQgcHJvcGVydGllcyBtdXN0IGJlIHNwZWNpZmllZC4KKyAgICBp
ZiAoIXRvcExlZnRWYWx1ZSB8fCAhdG9wUmlnaHRWYWx1ZSB8fCAhYm90dG9tUmlnaHRWYWx1ZSB8
fCAhYm90dG9tTGVmdFZhbHVlKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICAvLyBJ
bXBvcnRhbnQgZmxhZ3MgbXVzdCBiZSB0aGUgc2FtZQorICAgIGlmICh0b3BMZWZ0LmlzSW1wb3J0
YW50KCkgIT0gdG9wUmlnaHQuaXNJbXBvcnRhbnQoKSB8fCB0b3BSaWdodC5pc0ltcG9ydGFudCgp
ICE9IGJvdHRvbVJpZ2h0LmlzSW1wb3J0YW50KCkgfHwgYm90dG9tUmlnaHQuaXNJbXBvcnRhbnQo
KSAhPSBib3R0b21MZWZ0LmlzSW1wb3J0YW50KCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KworICAgIGlmICh0b3BMZWZ0VmFsdWUtPmlzSW5oZXJpdGVkVmFsdWUoKSAmJiB0b3BSaWdodFZh
bHVlLT5pc0luaGVyaXRlZFZhbHVlKCkgJiYgYm90dG9tUmlnaHRWYWx1ZS0+aXNJbmhlcml0ZWRW
YWx1ZSgpICYmIGJvdHRvbUxlZnRWYWx1ZS0+aXNJbmhlcml0ZWRWYWx1ZSgpKQorICAgICAgICBy
ZXR1cm4gZ2V0VmFsdWVOYW1lKENTU1ZhbHVlSW5oZXJpdCk7CisKKyAgICBpZiAodG9wTGVmdFZh
bHVlLT5pc0luaXRpYWxWYWx1ZSgpIHx8IHRvcFJpZ2h0VmFsdWUtPmlzSW5pdGlhbFZhbHVlKCkg
fHwgYm90dG9tUmlnaHRWYWx1ZS0+aXNJbml0aWFsVmFsdWUoKSB8fCBib3R0b21MZWZ0VmFsdWUt
PmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAgICAgICAgaWYgKHRvcExlZnRWYWx1ZS0+aXNJbml0aWFs
VmFsdWUoKSAmJiB0b3BSaWdodFZhbHVlLT5pc0luaXRpYWxWYWx1ZSgpICYmIGJvdHRvbVJpZ2h0
VmFsdWUtPmlzSW5pdGlhbFZhbHVlKCkgJiYgYm90dG9tTGVmdFZhbHVlLT5pc0luaXRpYWxWYWx1
ZSgpICYmICF0b3BMZWZ0LmlzSW1wbGljaXQoKSkgeworICAgICAgICAgICAgLy8gQWxsIGNvbXBv
bmVudHMgYXJlICJpbml0aWFsIiBhbmQgInRvcExlZnQiIGlzIG5vdCBpbXBsaWNpdC4KKyAgICAg
ICAgICAgIHJldHVybiBnZXRWYWx1ZU5hbWUoQ1NTVmFsdWVJbml0aWFsKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgYXV0byYgdG9wTGVmdFBhaXIg
PSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp0b3BMZWZ0VmFsdWUpLnBhaXJWYWx1ZSgp
OworICAgIGF1dG8mIHRvcFJpZ2h0UGFpciA9ICpkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4o
KnRvcFJpZ2h0VmFsdWUpLnBhaXJWYWx1ZSgpOworICAgIGF1dG8mIGJvdHRvbVJpZ2h0UGFpciA9
ICpkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmJvdHRvbVJpZ2h0VmFsdWUpLnBhaXJWYWx1
ZSgpOworICAgIGF1dG8mIGJvdHRvbUxlZnRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlPigqYm90dG9tTGVmdFZhbHVlKS5wYWlyVmFsdWUoKTsKKworICAgIGF1dG8gZmlyc3QgPSBz
ZXJpYWxpemUodG9wTGVmdFBhaXIuZmlyc3QoKSwgdG9wUmlnaHRQYWlyLmZpcnN0KCksIGJvdHRv
bVJpZ2h0UGFpci5maXJzdCgpLCBib3R0b21MZWZ0UGFpci5maXJzdCgpKTsKKyAgICBhdXRvIHNl
Y29uZCA9IHNlcmlhbGl6ZSh0b3BMZWZ0UGFpci5zZWNvbmQoKSwgdG9wUmlnaHRQYWlyLnNlY29u
ZCgpLCBib3R0b21SaWdodFBhaXIuc2Vjb25kKCksIGJvdHRvbUxlZnRQYWlyLnNlY29uZCgpKTsK
KyAgICBpZiAoZmlyc3QgPT0gc2Vjb25kKQorICAgICAgICByZXR1cm4gZmlyc3Q7CisKKyAgICBy
ZXR1cm4gbWFrZVN0cmluZyhmaXJzdCwgIiAvICIsIHNlY29uZCk7Cit9CisKIFN0cmluZyBTdHls
ZVByb3BlcnRpZXM6OmJvcmRlclNwYWNpbmdWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiBzaG9ydGhhbmQpIGNvbnN0CiB7CiAgICAgYXV0byBob3Jpem9udGFsVmFsdWUgPSBnZXRQ
cm9wZXJ0eUNTU1ZhbHVlKHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbMF0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUHJvcGVydGllcy5oCmluZGV4IGRmODI1OTJhYzc3YzJiOGYzYWUzYmU1OTkxNjIwM2Fl
MWFmMThhNzQuLjc0OWIzMThiNGE1MWY3MDc1YjllYTM5ZjFlZjFmZTJmMGU3MTBkOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgKQEAgLTE3MCw2ICsxNzAsNyBAQCBwcml2YXRl
OgogICAgIFN0cmluZyBnZXRMYXllcmVkU2hvcnRoYW5kVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBnZXQyVmFsdWVzKGNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBTdHJpbmcgZ2V0NFZhbHVlcyhjb25zdCBTdHls
ZVByb3BlcnR5U2hvcnRoYW5kJikgY29uc3Q7CisgICAgU3RyaW5nIGJvcmRlclJhZGl1c1ZhbHVl
KGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBTdHJpbmcgYm9yZGVy
U3BhY2luZ1ZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBT
dHJpbmcgZm9udFZhbHVlKCkgY29uc3Q7CiAgICAgU3RyaW5nIGZvbnRWYXJpYW50VmFsdWUoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5j
cHAKaW5kZXggY2EwZmU0MmZjNmJhODRjZmRkMGYwMjc2NjA4ZmI1YjgyMzBiZWFlNi4uYTIyZjcw
ZWEzYzY0Njc4ZDYxZWQyZjFlMjRlYjY5MmU5Mzc5Yjc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTYzLDYgKzYzLDEwIEBACiAj
aW5jbHVkZSAiQ291bnRlci5oIgogI2luY2x1ZGUgIkZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiSGFz
aFRvb2xzLmgiCisvLyBGSVhNRS1ORVdQQVJTRVI6IENTU1ByaW1pdGl2ZVZhbHVlIGlzIGEgbGFy
Z2UgY2xhc3MgdGhhdCBob2xkcyBtYW55IHVucmVsYXRlZCBvYmplY3RzLAorLy8gc3dpdGNoaW5n
IGJlaGF2aW9yIG9uIHRoZSB0eXBlIG9mIHRoZSBvYmplY3QgaXQgaXMgaG9sZGluZy4KKy8vIFNp
bmNlIENTU1ZhbHVlIGlzIGFscmVhZHkgYSBjbGFzcyBoaWVyYXJjaHksIHRoaXMgYWRkcyBhbiB1
bm5lY2Vzc2FyeSBzZWNvbmQgbGV2ZWwgdG8gdGhlIGhpZXJhcmNoeSB0aGF0IGNvbXBsaWNhdGVz
IGNvZGUuCisvLyBTbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgdmFyaW91cyBiZWhhdmlvcnMgZnJv
bSBDU1NQcmltaXRpdmVWYWx1ZSBhbmQgc3BsaXQgdGhlbSBpbnRvIHNlcGFyYXRlIHN1YmNsYXNz
ZXMgb2YgQ1NTVmFsdWUuCiAvLyBGSVhNRS1ORVdQQVJTRVI6IFJlcGxhY2UgUGFpciBhbmQgUmVj
dCB3aXRoIGFjdHVhbCBDU1NWYWx1ZSBzdWJjbGFzc2VzIChDU1NWYWx1ZVBhaXIgYW5kIENTU1F1
YWRWYWx1ZSkuCiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlJlY3QuaCIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDZlMGIyMDAwMzk1OGQ5NmMzNDU4ZDRhNDZhODM1MDQw
Yzg0MzIxMWMuLjBiNzNkNjYyM2RlNzIxYzBmM2MwMmNhYjQwZjEwN2Y1Nzc3NTI5ZTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTExLTAzICBK
b29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXIt
cmFkaXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKwor
ICAgICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVz
IGluIGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC1leHBlY3RlZC50
eHQ6IEFkZCBtb3JlIHRlc3QgY2FzZSByZXN1bHRzLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC5odG1s
OiBBZGQgbW9yZSB0ZXN0IGNhc2VzLgorCiAyMDIxLTExLTAzICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgSmF2YXNjcmlwdCBVUkxzIGRvIG5vdCBydW4gaW4gdGhl
IHJpZ2h0IGNvbnRleHQgd2hlbiB1c2luZyBmcmFtZSB0YXJnZXRpbmcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3Jv
dW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3Bh
cnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC1leHBlY3RlZC50eHQKaW5kZXggMzE3YzlhNGE5MWYz
ZDU5MzViNzlhNTc0YjU2NTEzMmU1YTc3Yzg3Yy4uYzFiNmI5MGE1Y2NlMmUzNTI0YTg3MTQ5NGIz
YmE4MTJjN2YwZTRhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12
YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxp
ZC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTkgQEAKIAogUEFTUyBlLnN0eWxlWydib3JkZXIt
cmFkaXVzJ10gPSAiMXB4IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDUlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDNweCIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0g
IjFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5
bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1ZW0gLyAxcHggMiUgM3B4IDQlIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBj
YW5vbmljYWwgZXhwZWN0ZWQgIjVlbSAvIDFweCAyJSAzcHggNCUiIGJ1dCBnb3QgIjVlbSAxcHgg
NWVtIDIlIDVlbSAzcHggNWVtIDQlIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
MXB4IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHgg
MiUgM3B4IDQlIC8gNWVtIiBidXQgZ290ICIxcHggNWVtIDIlIDVlbSAzcHggNWVtIDQlIDVlbSIK
LUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDIlIC8gMXB4IDIl
IDFweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2Vy
aWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMXB4IDFweCAyJSAv
IDFweCAyJSIgYnV0IGdvdCAiMXB4IDFweCAyJSAxcHggMiUiCi1GQUlMIGUuc3R5bGVbJ2JvcmRl
ci1yYWRpdXMnXSA9ICIxcHggMXB4IDFweCAxcHggLyAxcHggMXB4IDIlIDFweCIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQg
YmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggLyAxcHggMXB4IDIlIiBidXQgZ290ICIxcHggMXB4
IDFweCAyJSIKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAvIDJweCIgc2hv
dWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cydd
ID0gIjVlbSAvIDFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQ
QVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgLyAzcHggNHB4IiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
MXB4IDJweCAzZW0gLyAxcHggMnB4IDMlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQor
UEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIC8gMnB4IDNlbSA0cHggNWVt
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFk
aXVzJ10gPSAiMXB4IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFs
dWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDIlIC8gMXB4
IDIlIDFweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsn
Ym9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDFweCAvIDFweCAxcHggMiUgMXB4IiBzaG91
bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10g
PSAiMXB4IDFweCAyJSAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5z
dHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAxcHggMXB4IiBzaG91bGQgc2V0IHRoZSBw
cm9wZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDIl
IDIlIC8gMXB4IDIlIDNweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0
X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHgg
MiUgMiUgLyAxcHggMiUgM3B4IiBidXQgZ290ICIxcHggMiUgMiUgM3B4IgorUEFTUyBlLnN0eWxl
Wydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDIlIDIlIC8gMXB4IDIlIDNweCAyJSIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXRvcC1sZWZ0LXJh
ZGl1cyddID0gIjEwcHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5
bGVbJ2JvcmRlci10b3AtcmlnaHQtcmFkaXVzJ10gPSAiMjAlIiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyddID0g
IjMwcHggNDAlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91
bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9y
ZGVyLXJhZGl1cy12YWxpZC5odG1sCmluZGV4IDczODM2MmY5NjkzM2MzNGZhZTM4ZTZhZGZhOWE4
MmE1NTZmYzFmM2IuLjI4N2Y5NWUxNzU1MzlhZjk0Njk3YmY2NWI1OTIwNGY2MjU2NTc4N2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dy
b3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwKQEAgLTEyLDggKzEyLDE0IEBA
CiA8Ym9keT4KIDxzY3JpcHQ+CiB0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFw
eCIpOwordGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggNSUiKTsKK3Rlc3Rf
dmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDIlIDNweCIpOwogdGVzdF92YWxpZF92
YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgM3B4IDQlIik7Cit0ZXN0X3ZhbGlkX3ZhbHVl
KCJib3JkZXItcmFkaXVzIiwgIjFweCAvIDJweCIpOwogdGVzdF92YWxpZF92YWx1ZSgiYm9yZGVy
LXJhZGl1cyIsICI1ZW0gLyAxcHggMiUgM3B4IDQlIik7Cit0ZXN0X3ZhbGlkX3ZhbHVlKCJib3Jk
ZXItcmFkaXVzIiwgIjFweCAyJSAvIDNweCA0cHgiKTsKK3Rlc3RfdmFsaWRfdmFsdWUoImJvcmRl
ci1yYWRpdXMiLCAiMXB4IDJweCAzZW0gLyAxcHggMnB4IDMlIik7Cit0ZXN0X3ZhbGlkX3ZhbHVl
KCJib3JkZXItcmFkaXVzIiwgIjFweCAyJSAvIDJweCAzZW0gNHB4IDVlbSIpOwogdGVzdF92YWxp
ZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgM3B4IDQlIC8gNWVtIik7CiAKIHRlc3Rf
dmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUgMXB4
IDIlIiwgIjFweCAxcHggMXB4IDIlIC8gMXB4IDIlIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444348</attachid>
            <date>2021-11-15 22:37:36 -0800</date>
            <delta_ts>2021-11-16 02:48:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183994-20211116153734.patch</filename>
            <type>text/plain</type>
            <size>13207</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFkMjgxM2FiYTVhOWUy
ZWFlNjQzZjkzMGMxNjgzYzU0MWJjOTMwNC4uYjg0YmFhNjRmNGZiZGYyMTgyMDk4ZTg4MWI1ZDhj
Nzc3MTE2YzVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTExLTE1ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVz
VmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuaDoKKwogMjAyMS0x
MS0xNSAgVGFrYXNoaSBLb21vcmkgIDxUYWthc2hpLktvbW9yaUBzb255LmNvbT4KIAogICAgICAg
ICBbQ3VybF0gU2VjdXJpdHkgaW5mb3JtYXRpb24gc29tZXRpbWVzIGRvIG5vdCBhcHBlYXIgaW4g
aW5zcGVjdG9yIG5ldHdvcmsgdGFiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CmluZGV4IDcwM2ZjMTZhYzk3MWY4OGIyZmY1ZTI2MDRmOTc0ZTU3ZTlmOGU0Y2MuLjljNTU4ZTUw
ZWJmZDE1NzM4MjFmZmM2YzUwM2ExMzQ0MWQzODg2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29s
LmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUg
IlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAtMzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVBy
b3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25z
dAogICAgICAgICAgICAgcmV0dXJuIHZhbHVlLT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1
cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNTaG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBi
b3JkZXJSYWRpdXNWYWx1ZShib3JkZXJSYWRpdXNTaG9ydGhhbmQoKSk7CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUdhcDoKICAgICAgICAgcmV0dXJuIGdldDJWYWx1ZXMoZ2FwU2hvcnRoYW5kKCkpOwog
ICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxNYXJnaW46CkBAIC0zNjMsNiArMzY0LDczIEBAIFN0
cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgU3RyaW5n
JiBwcm9wZXJ0eU5hbWUpIGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcg
U3R5bGVQcm9wZXJ0aWVzOjpib3JkZXJSYWRpdXNWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiBzaG9ydGhhbmQpIGNvbnN0Cit7CisgICAgYXV0byB2YWx1ZSA9IGdldFByb3BlcnR5
Q1NTVmFsdWUoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVswXSk7CisgICAgaWYgKCF2YWx1ZSkKKyAg
ICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgaWYgKHZhbHVlLT5pc0NTU1dpZGVLZXl3b3Jk
KCkpCisgICAgICAgIHJldHVybiB2YWx1ZS0+Y3NzVGV4dCgpOworCisgICAgYXV0byBzZXJpYWxp
emUgPSBbXShjb25zdCBDU1NWYWx1ZSogdG9wTGVmdCwgY29uc3QgQ1NTVmFsdWUqIHRvcFJpZ2h0
LCBjb25zdCBDU1NWYWx1ZSogYm90dG9tUmlnaHQsIGNvbnN0IENTU1ZhbHVlKiBib3R0b21MZWZ0
KSAtPiBTdHJpbmcgeworICAgICAgICBib29sIHNob3dCb3R0b21MZWZ0ID0gISgqdG9wUmlnaHQg
PT0gKmJvdHRvbUxlZnQpOworICAgICAgICBib29sIHNob3dCb3R0b21SaWdodCA9ICEoKnRvcExl
ZnQgPT0gKmJvdHRvbVJpZ2h0KSB8fCBzaG93Qm90dG9tTGVmdDsKKyAgICAgICAgYm9vbCBzaG93
VG9wUmlnaHQgPSAhKCp0b3BMZWZ0ID09ICp0b3BSaWdodCkgfHwgc2hvd0JvdHRvbVJpZ2h0Owor
CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKHRvcExlZnQtPmNzc1RleHQoKSwgc2hvd1RvcFJp
Z2h0ID8gIiAiIDogIiIsIHNob3dUb3BSaWdodCA/IHRvcFJpZ2h0LT5jc3NUZXh0KCkgOiAiIiwg
c2hvd0JvdHRvbVJpZ2h0ID8gIiAiIDogIiIsIHNob3dCb3R0b21SaWdodCA/IGJvdHRvbVJpZ2h0
LT5jc3NUZXh0KCkgOiAiIiwgc2hvd0JvdHRvbUxlZnQgPyAiICIgOiAiIiwgc2hvd0JvdHRvbUxl
ZnQgPyBib3R0b21MZWZ0LT5jc3NUZXh0KCkgOiAiIik7CisgICAgfTsKKworICAgIGludCB0b3BM
ZWZ0VmFsdWVJbmRleCA9IGZpbmRQcm9wZXJ0eUluZGV4KHNob3J0aGFuZC5wcm9wZXJ0aWVzKClb
MF0pOworICAgIGludCB0b3BSaWdodFZhbHVlSW5kZXggPSBmaW5kUHJvcGVydHlJbmRleChzaG9y
dGhhbmQucHJvcGVydGllcygpWzFdKTsKKyAgICBpbnQgYm90dG9tUmlnaHRWYWx1ZUluZGV4ID0g
ZmluZFByb3BlcnR5SW5kZXgoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVsyXSk7CisgICAgaW50IGJv
dHRvbUxlZnRWYWx1ZUluZGV4ID0gZmluZFByb3BlcnR5SW5kZXgoc2hvcnRoYW5kLnByb3BlcnRp
ZXMoKVszXSk7CisKKyAgICBpZiAodG9wTGVmdFZhbHVlSW5kZXggPT0gLTEgfHwgdG9wUmlnaHRW
YWx1ZUluZGV4ID09IC0xIHx8IGJvdHRvbVJpZ2h0VmFsdWVJbmRleCA9PSAtMSB8fCBib3R0b21M
ZWZ0VmFsdWVJbmRleCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgUHJv
cGVydHlSZWZlcmVuY2UgdG9wTGVmdCA9IHByb3BlcnR5QXQodG9wTGVmdFZhbHVlSW5kZXgpOwor
ICAgIFByb3BlcnR5UmVmZXJlbmNlIHRvcFJpZ2h0ID0gcHJvcGVydHlBdCh0b3BSaWdodFZhbHVl
SW5kZXgpOworICAgIFByb3BlcnR5UmVmZXJlbmNlIGJvdHRvbVJpZ2h0ID0gcHJvcGVydHlBdChi
b3R0b21SaWdodFZhbHVlSW5kZXgpOworICAgIFByb3BlcnR5UmVmZXJlbmNlIGJvdHRvbUxlZnQg
PSBwcm9wZXJ0eUF0KGJvdHRvbUxlZnRWYWx1ZUluZGV4KTsKKworICAgIGF1dG8qIHRvcExlZnRW
YWx1ZSA9IHRvcExlZnQudmFsdWUoKTsKKyAgICBhdXRvKiB0b3BSaWdodFZhbHVlID0gdG9wUmln
aHQudmFsdWUoKTsKKyAgICBhdXRvKiBib3R0b21SaWdodFZhbHVlID0gYm90dG9tUmlnaHQudmFs
dWUoKTsKKyAgICBhdXRvKiBib3R0b21MZWZ0VmFsdWUgPSBib3R0b21MZWZ0LnZhbHVlKCk7CisK
KyAgICAvLyBBbGwgNCBwcm9wZXJ0aWVzIG11c3QgYmUgc3BlY2lmaWVkLgorICAgIGlmICghdG9w
TGVmdFZhbHVlIHx8ICF0b3BSaWdodFZhbHVlIHx8ICFib3R0b21SaWdodFZhbHVlIHx8ICFib3R0
b21MZWZ0VmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIC8vIEltcG9ydGFu
dCBmbGFncyBtdXN0IGJlIHRoZSBzYW1lCisgICAgaWYgKHRvcExlZnQuaXNJbXBvcnRhbnQoKSAh
PSB0b3BSaWdodC5pc0ltcG9ydGFudCgpIHx8IHRvcFJpZ2h0LmlzSW1wb3J0YW50KCkgIT0gYm90
dG9tUmlnaHQuaXNJbXBvcnRhbnQoKSB8fCBib3R0b21SaWdodC5pc0ltcG9ydGFudCgpICE9IGJv
dHRvbUxlZnQuaXNJbXBvcnRhbnQoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAg
aWYgKHRvcExlZnRWYWx1ZS0+aXNJbmhlcml0VmFsdWUoKSAmJiB0b3BSaWdodFZhbHVlLT5pc0lu
aGVyaXRWYWx1ZSgpICYmIGJvdHRvbVJpZ2h0VmFsdWUtPmlzSW5oZXJpdFZhbHVlKCkgJiYgYm90
dG9tTGVmdFZhbHVlLT5pc0luaGVyaXRWYWx1ZSgpKQorICAgICAgICByZXR1cm4gZ2V0VmFsdWVO
YW1lKENTU1ZhbHVlSW5oZXJpdCk7CisKKyAgICBpZiAodG9wTGVmdFZhbHVlLT5pc0luaXRpYWxW
YWx1ZSgpIHx8IHRvcFJpZ2h0VmFsdWUtPmlzSW5pdGlhbFZhbHVlKCkgfHwgYm90dG9tUmlnaHRW
YWx1ZS0+aXNJbml0aWFsVmFsdWUoKSB8fCBib3R0b21MZWZ0VmFsdWUtPmlzSW5pdGlhbFZhbHVl
KCkpIHsKKyAgICAgICAgaWYgKHRvcExlZnRWYWx1ZS0+aXNJbml0aWFsVmFsdWUoKSAmJiB0b3BS
aWdodFZhbHVlLT5pc0luaXRpYWxWYWx1ZSgpICYmIGJvdHRvbVJpZ2h0VmFsdWUtPmlzSW5pdGlh
bFZhbHVlKCkgJiYgYm90dG9tTGVmdFZhbHVlLT5pc0luaXRpYWxWYWx1ZSgpICYmICF0b3BMZWZ0
LmlzSW1wbGljaXQoKSkgeworICAgICAgICAgICAgLy8gQWxsIGNvbXBvbmVudHMgYXJlICJpbml0
aWFsIiBhbmQgInRvcExlZnQiIGlzIG5vdCBpbXBsaWNpdC4KKyAgICAgICAgICAgIHJldHVybiBn
ZXRWYWx1ZU5hbWUoQ1NTVmFsdWVJbml0aWFsKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CisgICAgfQorCisgICAgYXV0byYgdG9wTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KCp0b3BMZWZ0VmFsdWUpLnBhaXJWYWx1ZSgpOworICAgIGF1dG8mIHRv
cFJpZ2h0UGFpciA9ICpkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnRvcFJpZ2h0VmFsdWUp
LnBhaXJWYWx1ZSgpOworICAgIGF1dG8mIGJvdHRvbVJpZ2h0UGFpciA9ICpkb3duY2FzdDxDU1NQ
cmltaXRpdmVWYWx1ZT4oKmJvdHRvbVJpZ2h0VmFsdWUpLnBhaXJWYWx1ZSgpOworICAgIGF1dG8m
IGJvdHRvbUxlZnRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYm90dG9tTGVm
dFZhbHVlKS5wYWlyVmFsdWUoKTsKKworICAgIGF1dG8gZmlyc3QgPSBzZXJpYWxpemUodG9wTGVm
dFBhaXIuZmlyc3QoKSwgdG9wUmlnaHRQYWlyLmZpcnN0KCksIGJvdHRvbVJpZ2h0UGFpci5maXJz
dCgpLCBib3R0b21MZWZ0UGFpci5maXJzdCgpKTsKKyAgICBhdXRvIHNlY29uZCA9IHNlcmlhbGl6
ZSh0b3BMZWZ0UGFpci5zZWNvbmQoKSwgdG9wUmlnaHRQYWlyLnNlY29uZCgpLCBib3R0b21SaWdo
dFBhaXIuc2Vjb25kKCksIGJvdHRvbUxlZnRQYWlyLnNlY29uZCgpKTsKKyAgICBpZiAoZmlyc3Qg
PT0gc2Vjb25kKQorICAgICAgICByZXR1cm4gZmlyc3Q7CisKKyAgICByZXR1cm4gbWFrZVN0cmlu
ZyhmaXJzdCwgIiAvICIsIHNlY29uZCk7Cit9CisKIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmJv
cmRlclNwYWNpbmdWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBzaG9ydGhhbmQp
IGNvbnN0CiB7CiAgICAgYXV0byBob3Jpem9udGFsVmFsdWUgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVl
KHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbMF0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUHJvcGVydGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGll
cy5oCmluZGV4IGRmODI1OTJhYzc3YzJiOGYzYWUzYmU1OTkxNjIwM2FlMWFmMThhNzQuLjc0OWIz
MThiNGE1MWY3MDc1YjllYTM5ZjFlZjFmZTJmMGU3MTBkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVQcm9wZXJ0aWVzLmgKQEAgLTE3MCw2ICsxNzAsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBn
ZXRMYXllcmVkU2hvcnRoYW5kVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNv
bnN0OwogICAgIFN0cmluZyBnZXQyVmFsdWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
KSBjb25zdDsKICAgICBTdHJpbmcgZ2V0NFZhbHVlcyhjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJikgY29uc3Q7CisgICAgU3RyaW5nIGJvcmRlclJhZGl1c1ZhbHVlKGNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBTdHJpbmcgYm9yZGVyU3BhY2luZ1ZhbHVlKGNv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBTdHJpbmcgZm9udFZhbHVl
KCkgY29uc3Q7CiAgICAgU3RyaW5nIGZvbnRWYXJpYW50VmFsdWUoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDkzOGMwZjdmZTM3N2U4YWNkZGI3ZGE2NDUyMzgyOWU1
ZjZmNWFiM2QuLmM5N2Q4NTBjZWQ0YTgzZTI4N2M1N2M2YzcxYzk1NmRjNmM3OGFjNzggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTExLTE1ICBK
b29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXIt
cmFkaXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKwor
ICAgICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVz
IGluIGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC1leHBlY3Rl
ZC50eHQ6IEFkZCBjc3Mgd2lkZSBrZXl3b3JkcyB0ZXN0IGNhc2UgcmVzdWx0cy4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1y
YWRpdXMtdmFsaWQuaHRtbDogQWRkIGNzcyB3aWRlIGtleXdvcmRzIHRlc3QgY2FzZXMuCisKIDIw
MjEtMTEtMTUgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmVydCByMjg1MjM1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZh
bGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhw
ZWN0ZWQudHh0CmluZGV4IGZkMTY4NjMxYmViNTBkNjViYTZhZWQ1Y2MzM2MxYjMwN2E0Y2Q0NWIu
LmFjMTg4ODAzN2ZiMDU0YjU2MzhiN2JiNjNlMzg1YjlmZDI0NTFkODUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3Jv
dW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5k
cy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsxLDIz
IEBACiAKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gImluaXRpYWwiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICJp
bmhlcml0IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3Jk
ZXItcmFkaXVzJ10gPSAidW5zZXQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNT
IGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICJyZXZlcnQiIHNob3VsZCBzZXQgdGhlIHByb3Bl
cnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIx
cHggNSUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRl
ci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQog
UEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDNweCA0JSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFw
eCAvIDJweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2Vy
aWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggLyAycHgiIGJ1dCBn
b3QgIjFweCAycHgiCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1ZW0gLyAxcHgg
MiUgM3B4IDQlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBz
ZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjVlbSAvIDFweCAyJSAz
cHggNCUiIGJ1dCBnb3QgIjVlbSAxcHggNWVtIDIlIDVlbSAzcHggNWVtIDQlIgotRkFJTCBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIC8gM3B4IDRweCIgc2hvdWxkIHNldCB0aGUg
cHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fu
b25pY2FsIGV4cGVjdGVkICIxcHggMiUgLyAzcHggNHB4IiBidXQgZ290ICIxcHggM3B4IDIlIDRw
eCIKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAycHggM2VtIC8gMXB4IDJw
eCAzJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFs
aXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMnB4IDNlbSAvIDFweCAy
cHggMyUiIGJ1dCBnb3QgIjFweCAycHggM2VtIDMlIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFk
aXVzJ10gPSAiMXB4IDIlIC8gMnB4IDNlbSA0cHggNWVtIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwg
ZXhwZWN0ZWQgIjFweCAyJSAvIDJweCAzZW0gNHB4IDVlbSIgYnV0IGdvdCAiMXB4IDJweCAyJSAz
ZW0gMXB4IDRweCAyJSA1ZW0iCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgg
MiUgM3B4IDQlIC8gNWVtIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1
YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAyJSAz
cHggNCUgLyA1ZW0iIGJ1dCBnb3QgIjFweCA1ZW0gMiUgNWVtIDNweCA1ZW0gNCUgNWVtIgotRkFJ
TCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUgMXB4
IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxp
emF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAxcHggMXB4IDIlIC8gMXB4
IDIlIiBidXQgZ290ICIxcHggMXB4IDIlIDFweCAyJSIKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJh
ZGl1cyddID0gIjFweCAxcHggMXB4IDFweCAvIDFweCAxcHggMiUgMXB4IiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBj
YW5vbmljYWwgZXhwZWN0ZWQgIjFweCAvIDFweCAxcHggMiUiIGJ1dCBnb3QgIjFweCAxcHggMXB4
IDIlIgorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IC8gMnB4IiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
NWVtIC8gMXB4IDIlIDNweCA0JSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1Mg
ZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAvIDNweCA0cHgiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgg
MnB4IDNlbSAvIDFweCAycHggMyUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNT
IGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgLyAycHggM2VtIDRweCA1ZW0iIHNo
b3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMn
XSA9ICIxcHggMiUgM3B4IDQlIC8gNWVtIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQor
UEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMiUgLyAxcHggMiUg
MXB4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3Jk
ZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMXB4IC8gMXB4IDFweCAyJSAxcHgiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIx
cHggMXB4IDIlIDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxl
Wydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDFweCAxcHgiIHNob3VsZCBzZXQgdGhlIHByb3Bl
cnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgMiUgMiUg
LyAxcHggMiUgM3B4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1
YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAyJSAy
JSAvIDFweCAyJSAzcHgiIGJ1dCBnb3QgIjFweCAyJSAyJSAzcHgiCitQQVNTIGUuc3R5bGVbJ2Jv
cmRlci1yYWRpdXMnXSA9ICIxcHggMiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItdG9wLWxlZnQtcmFkaXVz
J10gPSAiMTBweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsn
Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXMnXSA9ICIyMCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5
IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJ10gPSAiMzBw
eCA0MCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMv
cGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXIt
cmFkaXVzLXZhbGlkLmh0bWwKaW5kZXggMjg3Zjk1ZTE3NTUzOWFmOTQ2OTdiZjY1YjU5MjA0ZjYy
NTY1Nzg3ZC4uNTg0MjExZjA5YWIwMGQ0ZWE0NTIwM2M5NWNjNWVkMzA0ODI4MmRiNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5k
cy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRtbApAQCAtNCwxMyArNCwxOCBAQAogPG1l
dGEgY2hhcnNldD0idXRmLTgiPgogPHRpdGxlPkNTUyBCYWNrZ3JvdW5kcyBhbmQgQm9yZGVycyBN
b2R1bGUgTGV2ZWwgMzogcGFyc2luZyBib3JkZXItcmFkaXVzIHdpdGggdmFsaWQgdmFsdWVzPC90
aXRsZT4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cyI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRl
bnQ9ImJvcmRlci1yYWRpdXMgc3VwcG9ydHMgdGhlIGZ1bGwgZ3JhbW1hciAnPGxlbmd0aC1wZXJj
ZW50YWdlPnsxLDR9IFsgLyA8bGVuZ3RoLXBlcmNlbnRhZ2U+ezEsNH0gXT8nLiI+Cis8bWV0YSBu
YW1lPSJhc3NlcnQiIGNvbnRlbnQ9ImJvcmRlci1yYWRpdXMgc3VwcG9ydHMgQ1NTIFdpZGUga2V5
d29yZHMgYW5kIHRoZSBmdWxsIGdyYW1tYXIgJzxsZW5ndGgtcGVyY2VudGFnZT57MSw0fSBbIC8g
PGxlbmd0aC1wZXJjZW50YWdlPnsxLDR9IF0/Jy4iPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9jc3Mvc3VwcG9ydC9wYXJz
aW5nLXRlc3Rjb21tb24uanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0Pgor
dGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICJpbml0aWFsIik7Cit0ZXN0X3ZhbGlk
X3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgImluaGVyaXQiKTsKK3Rlc3RfdmFsaWRfdmFsdWUoImJv
cmRlci1yYWRpdXMiLCAidW5zZXQiKTsKK3Rlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMi
LCAicmV2ZXJ0Iik7CisKIHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4Iik7
CiB0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCA1JSIpOwogdGVzdF92YWxp
ZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgM3B4Iik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444365</attachid>
            <date>2021-11-16 02:48:05 -0800</date>
            <delta_ts>2021-11-16 16:36:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183994-20211116194803.patch</filename>
            <type>text/plain</type>
            <size>12475</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAyZjkzMWRjYTIwM2Mw
NTE5NDBiM2JkOWM2MzAyYjRlN2M4MTM2Ni4uNTk5Y2JiZjA4NTljZmNkZTEwMzY1MjIxY2ZjZTEz
YzBlYWEzNmFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTExLTE2ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVz
VmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuaDoKKwogMjAyMS0x
MS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFub3Ro
ZXIgPG1vZGVsPiBiYWNrZW5kIGJhY2tlZCBieSBTY2VuZUtpdCB0byBwcm92ZSBvdXQgTW9kZWxQ
bGF5ZXIgaW5mcmFzdHJ1Y3R1cmUgYSBiaXQgbW9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9w
ZXJ0aWVzLmNwcAppbmRleCA3MDNmYzE2YWM5NzFmODhiMmZmNWUyNjA0Zjk3NGU1N2U5ZjhlNGNj
Li44NGI0NGRlYTE3YzI5NTc0OTMxMzBhY2YzNzQ4Mzc0M2RlZTY1NTUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkNT
U1ZhbHVlUG9vbC5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJQYWlyLmgiCiAjaW5jbHVkZSAiUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0
aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgIlN0
eWxlUHJvcGVydHlTaG9ydGhhbmRGdW5jdGlvbnMuaCIKQEAgLTMxOSw3ICszMjAsNyBAQCBTdHJp
bmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiB2YWx1ZS0+Y3NzVGV4dCgpOwogICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclJhZGl1czoKLSAg
ICAgICAgcmV0dXJuIGdldDRWYWx1ZXMoYm9yZGVyUmFkaXVzU2hvcnRoYW5kKCkpOworICAgICAg
ICByZXR1cm4gYm9yZGVyUmFkaXVzVmFsdWUoYm9yZGVyUmFkaXVzU2hvcnRoYW5kKCkpOwogICAg
IGNhc2UgQ1NTUHJvcGVydHlHYXA6CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0
aGFuZCgpKTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgpAQCAtMzYzLDYgKzM2
NCw2MCBAQCBTdHJpbmcgU3R5bGVQcm9wZXJ0aWVzOjpnZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGNv
bnN0IFN0cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0K
IAorU3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFsdWUoY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kKSBjb25zdAoreworICAgIGF1dG8gc2VyaWFsaXpl
ID0gW10oY29uc3QgQ1NTVmFsdWUqIHRvcExlZnQsIGNvbnN0IENTU1ZhbHVlKiB0b3BSaWdodCwg
Y29uc3QgQ1NTVmFsdWUqIGJvdHRvbVJpZ2h0LCBjb25zdCBDU1NWYWx1ZSogYm90dG9tTGVmdCkg
LT4gU3RyaW5nIHsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tTGVmdCA9ICEoKnRvcFJpZ2h0ID09
ICpib3R0b21MZWZ0KTsKKyAgICAgICAgYm9vbCBzaG93Qm90dG9tUmlnaHQgPSAhKCp0b3BMZWZ0
ID09ICpib3R0b21SaWdodCkgfHwgc2hvd0JvdHRvbUxlZnQ7CisgICAgICAgIGJvb2wgc2hvd1Rv
cFJpZ2h0ID0gISgqdG9wTGVmdCA9PSAqdG9wUmlnaHQpIHx8IHNob3dCb3R0b21SaWdodDsKKwor
ICAgICAgICByZXR1cm4gbWFrZVN0cmluZyh0b3BMZWZ0LT5jc3NUZXh0KCksIHNob3dUb3BSaWdo
dCA/ICIgIiA6ICIiLCBzaG93VG9wUmlnaHQgPyB0b3BSaWdodC0+Y3NzVGV4dCgpIDogIiIsIHNo
b3dCb3R0b21SaWdodCA/ICIgIiA6ICIiLCBzaG93Qm90dG9tUmlnaHQgPyBib3R0b21SaWdodC0+
Y3NzVGV4dCgpIDogIiIsIHNob3dCb3R0b21MZWZ0ID8gIiAiIDogIiIsIHNob3dCb3R0b21MZWZ0
ID8gYm90dG9tTGVmdC0+Y3NzVGV4dCgpIDogIiIpOworICAgIH07CisKKyAgICBpbnQgdG9wTGVm
dFZhbHVlSW5kZXggPSBmaW5kUHJvcGVydHlJbmRleChzaG9ydGhhbmQucHJvcGVydGllcygpWzBd
KTsKKyAgICBpbnQgdG9wUmlnaHRWYWx1ZUluZGV4ID0gZmluZFByb3BlcnR5SW5kZXgoc2hvcnRo
YW5kLnByb3BlcnRpZXMoKVsxXSk7CisgICAgaW50IGJvdHRvbVJpZ2h0VmFsdWVJbmRleCA9IGZp
bmRQcm9wZXJ0eUluZGV4KHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbMl0pOworICAgIGludCBib3R0
b21MZWZ0VmFsdWVJbmRleCA9IGZpbmRQcm9wZXJ0eUluZGV4KHNob3J0aGFuZC5wcm9wZXJ0aWVz
KClbM10pOworCisgICAgaWYgKHRvcExlZnRWYWx1ZUluZGV4ID09IC0xIHx8IHRvcFJpZ2h0VmFs
dWVJbmRleCA9PSAtMSB8fCBib3R0b21SaWdodFZhbHVlSW5kZXggPT0gLTEgfHwgYm90dG9tTGVm
dFZhbHVlSW5kZXggPT0gLTEpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIFByb3Bl
cnR5UmVmZXJlbmNlIHRvcExlZnQgPSBwcm9wZXJ0eUF0KHRvcExlZnRWYWx1ZUluZGV4KTsKKyAg
ICBQcm9wZXJ0eVJlZmVyZW5jZSB0b3BSaWdodCA9IHByb3BlcnR5QXQodG9wUmlnaHRWYWx1ZUlu
ZGV4KTsKKyAgICBQcm9wZXJ0eVJlZmVyZW5jZSBib3R0b21SaWdodCA9IHByb3BlcnR5QXQoYm90
dG9tUmlnaHRWYWx1ZUluZGV4KTsKKyAgICBQcm9wZXJ0eVJlZmVyZW5jZSBib3R0b21MZWZ0ID0g
cHJvcGVydHlBdChib3R0b21MZWZ0VmFsdWVJbmRleCk7CisKKyAgICBhdXRvKiB0b3BMZWZ0VmFs
dWUgPSB0b3BMZWZ0LnZhbHVlKCk7CisgICAgaWYgKCF0b3BMZWZ0VmFsdWUpCisgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKKyAgICBpZiAodG9wTGVmdFZhbHVlLT5pc0NTU1dpZGVLZXl3b3JkKCkp
CisgICAgICAgIHJldHVybiB0b3BMZWZ0VmFsdWUtPmNzc1RleHQoKTsKKworICAgIGF1dG8qIHRv
cFJpZ2h0VmFsdWUgPSB0b3BSaWdodC52YWx1ZSgpOworICAgIGF1dG8qIGJvdHRvbVJpZ2h0VmFs
dWUgPSBib3R0b21SaWdodC52YWx1ZSgpOworICAgIGF1dG8qIGJvdHRvbUxlZnRWYWx1ZSA9IGJv
dHRvbUxlZnQudmFsdWUoKTsKKworICAgIC8vIEFsbCA0IHByb3BlcnRpZXMgbXVzdCBiZSBzcGVj
aWZpZWQuCisgICAgaWYgKCF0b3BMZWZ0VmFsdWUgfHwgIXRvcFJpZ2h0VmFsdWUgfHwgIWJvdHRv
bVJpZ2h0VmFsdWUgfHwgIWJvdHRvbUxlZnRWYWx1ZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygp
OworCisgICAgLy8gSW1wb3J0YW50IGZsYWdzIG11c3QgYmUgdGhlIHNhbWUKKyAgICBpZiAodG9w
TGVmdC5pc0ltcG9ydGFudCgpICE9IHRvcFJpZ2h0LmlzSW1wb3J0YW50KCkgfHwgdG9wUmlnaHQu
aXNJbXBvcnRhbnQoKSAhPSBib3R0b21SaWdodC5pc0ltcG9ydGFudCgpIHx8IGJvdHRvbVJpZ2h0
LmlzSW1wb3J0YW50KCkgIT0gYm90dG9tTGVmdC5pc0ltcG9ydGFudCgpKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisKKyAgICBhdXRvJiB0b3BMZWZ0UGFpciA9ICpkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4oKnRvcExlZnRWYWx1ZSkucGFpclZhbHVlKCk7CisgICAgYXV0byYgdG9wUmln
aHRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdG9wUmlnaHRWYWx1ZSkucGFp
clZhbHVlKCk7CisgICAgYXV0byYgYm90dG9tUmlnaHRQYWlyID0gKmRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPigqYm90dG9tUmlnaHRWYWx1ZSkucGFpclZhbHVlKCk7CisgICAgYXV0byYgYm90
dG9tTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpib3R0b21MZWZ0VmFs
dWUpLnBhaXJWYWx1ZSgpOworCisgICAgYXV0byBmaXJzdCA9IHNlcmlhbGl6ZSh0b3BMZWZ0UGFp
ci5maXJzdCgpLCB0b3BSaWdodFBhaXIuZmlyc3QoKSwgYm90dG9tUmlnaHRQYWlyLmZpcnN0KCks
IGJvdHRvbUxlZnRQYWlyLmZpcnN0KCkpOworICAgIGF1dG8gc2Vjb25kID0gc2VyaWFsaXplKHRv
cExlZnRQYWlyLnNlY29uZCgpLCB0b3BSaWdodFBhaXIuc2Vjb25kKCksIGJvdHRvbVJpZ2h0UGFp
ci5zZWNvbmQoKSwgYm90dG9tTGVmdFBhaXIuc2Vjb25kKCkpOworICAgIGlmIChmaXJzdCA9PSBz
ZWNvbmQpCisgICAgICAgIHJldHVybiBmaXJzdDsKKworICAgIHJldHVybiBtYWtlU3RyaW5nKGZp
cnN0LCAiIC8gIiwgc2Vjb25kKTsKK30KKwogU3RyaW5nIFN0eWxlUHJvcGVydGllczo6Ym9yZGVy
U3BhY2luZ1ZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHNob3J0aGFuZCkgY29u
c3QKIHsKICAgICBhdXRvIGhvcml6b250YWxWYWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUoc2hv
cnRoYW5kLnByb3BlcnRpZXMoKVswXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVQcm9wZXJ0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmgK
aW5kZXggZGY4MjU5MmFjNzdjMmI4ZjNhZTNiZTU5OTE2MjAzYWUxYWYxOGE3NC4uNzQ5YjMxOGI0
YTUxZjcwNzViOWVhMzlmMWVmMWZlMmYwZTcxMGQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUHJvcGVydGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVBy
b3BlcnRpZXMuaApAQCAtMTcwLDYgKzE3MCw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGdldExh
eWVyZWRTaG9ydGhhbmRWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJikgY29uc3Q7
CiAgICAgU3RyaW5nIGdldDJWYWx1ZXMoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNv
bnN0OwogICAgIFN0cmluZyBnZXQ0VmFsdWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
KSBjb25zdDsKKyAgICBTdHJpbmcgYm9yZGVyUmFkaXVzVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBib3JkZXJTcGFjaW5nVmFsdWUoY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0cmluZyBmb250VmFsdWUoKSBj
b25zdDsKICAgICBTdHJpbmcgZm9udFZhcmlhbnRWYWx1ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggY2FlZGJiMzlkNWUyZGQ4Yjc1MGM4ODdiM2YzMDQzNzEyYzA4
NTEzOC4uNzI0NDZmMTZkNzRlNTlkYzlmYjlkYTZlMzMxMjRkYTA3NzcwZDFiOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMTYgIEpvb25n
aHVuIFBhcmsgIDxqaDcxOC5wYXJrQHNhbXN1bmcuY29tPgorCisgICAgICAgIGJvcmRlci1yYWRp
dXMgaW5saW5lIHN0eWxlIHNob3VsZCBzZXJpYWxpemUgd2l0aCB2YWxpZCBzeW50YXgKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mzk5NAorCisgICAg
ICAgIFRoaXMgcGF0Y2ggaGF2ZSBib3JkZXItcmFkaXVzIHByb3BlcnR5IHNlcmlhbGl6ZXMgaW4g
Y2Fub25pY2FsIG9yZGVyCisgICAgICAgIGFzIHNwZWNpZmllZCBpbiBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLyNib3JkZXItcmFkaXVzLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4cGVjdGVkLnR4
dDogQWRkIGNzcyB3aWRlIGtleXdvcmRzIHRlc3QgY2FzZSByZXN1bHRzLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1
cy12YWxpZC5odG1sOiBBZGQgY3NzIHdpZGUga2V5d29yZHMgdGVzdCBjYXNlcy4KKwogMjAyMS0x
MS0xNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlLWltcG9ydCBj
c3MvY3NzLXRleHQtZGVjb3IgV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXIt
cmFkaXVzLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMt
dmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IGZkMTY4NjMxYmViNTBkNjViYTZhZWQ1Y2MzM2MxYjMw
N2E0Y2Q0NWIuLmFjMTg4ODAzN2ZiMDU0YjU2MzhiN2JiNjNlMzg1YjlmZDI0NTFkODUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1i
YWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0x
LDE5ICsxLDIzIEBACiAKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gImluaXRpYWwi
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRp
dXMnXSA9ICJpbmhlcml0IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAidW5zZXQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZh
bHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICJyZXZlcnQiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgi
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRp
dXMnXSA9ICIxcHggNSUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5
bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDNweCA0JSIg
c2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1
cyddID0gIjFweCAvIDJweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2Vx
dWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggLyAy
cHgiIGJ1dCBnb3QgIjFweCAycHgiCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICI1
ZW0gLyAxcHggMiUgM3B4IDQlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRf
ZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjVlbSAv
IDFweCAyJSAzcHggNCUiIGJ1dCBnb3QgIjVlbSAxcHggNWVtIDIlIDVlbSAzcHggNWVtIDQlIgot
RkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIC8gM3B4IDRweCIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91
bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMiUgLyAzcHggNHB4IiBidXQgZ290ICIxcHgg
M3B4IDIlIDRweCIKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAycHggM2Vt
IC8gMXB4IDJweCAzJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFs
czogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMnB4IDNl
bSAvIDFweCAycHggMyUiIGJ1dCBnb3QgIjFweCAycHggM2VtIDMlIgotRkFJTCBlLnN0eWxlWydi
b3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIC8gMnB4IDNlbSA0cHggNWVtIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBj
YW5vbmljYWwgZXhwZWN0ZWQgIjFweCAyJSAvIDJweCAzZW0gNHB4IDVlbSIgYnV0IGdvdCAiMXB4
IDJweCAyJSAzZW0gMXB4IDRweCAyJSA1ZW0iCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMn
XSA9ICIxcHggMiUgM3B4IDQlIC8gNWVtIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBh
c3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQg
IjFweCAyJSAzcHggNCUgLyA1ZW0iIGJ1dCBnb3QgIjFweCA1ZW0gMiUgNWVtIDNweCA1ZW0gNCUg
NWVtIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMiUgLyAx
cHggMiUgMXB4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxz
OiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAxcHggMXB4
IDIlIC8gMXB4IDIlIiBidXQgZ290ICIxcHggMXB4IDIlIDFweCAyJSIKLUZBSUwgZS5zdHlsZVsn
Ym9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDFweCAvIDFweCAxcHggMiUgMXB4IiBzaG91
bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNo
b3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFweCAvIDFweCAxcHggMiUiIGJ1dCBnb3QgIjFw
eCAxcHggMXB4IDIlIgorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IC8gMnB4
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFk
aXVzJ10gPSAiNWVtIC8gMXB4IDIlIDNweCA0JSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFs
dWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAvIDNweCA0cHgiIHNo
b3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMn
XSA9ICIxcHggMnB4IDNlbSAvIDFweCAycHggMyUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZh
bHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgLyAycHggM2VtIDRw
eCA1ZW0iIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2JvcmRl
ci1yYWRpdXMnXSA9ICIxcHggMiUgM3B4IDQlIC8gNWVtIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMiUg
LyAxcHggMiUgMXB4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0
eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDFweCAxcHggMXB4IC8gMXB4IDFweCAyJSAxcHgi
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRp
dXMnXSA9ICIxcHggMXB4IDIlIDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFT
UyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDFweCAxcHgiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHgg
MiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBh
c3NlcnRfZXF1YWxzOiBzZXJpYWxpemF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQg
IjFweCAyJSAyJSAvIDFweCAyJSAzcHgiIGJ1dCBnb3QgIjFweCAyJSAyJSAzcHgiCitQQVNTIGUu
c3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgMiUgMiUgLyAxcHggMiUgM3B4IDIlIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItdG9wLWxl
ZnQtcmFkaXVzJ10gPSAiMTBweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1Mg
ZS5zdHlsZVsnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMnXSA9ICIyMCUiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVz
J10gPSAiMzBweCA0MCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFj
a2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2lu
Zy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwKaW5kZXggMjg3Zjk1ZTE3NTUzOWFmOTQ2OTdiZjY1
YjU5MjA0ZjYyNTY1Nzg3ZC4uNTg0MjExZjA5YWIwMGQ0ZWE0NTIwM2M5NWNjNWVkMzA0ODI4MmRi
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1i
YWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRtbApAQCAtNCwxMyArNCwx
OCBAQAogPG1ldGEgY2hhcnNldD0idXRmLTgiPgogPHRpdGxlPkNTUyBCYWNrZ3JvdW5kcyBhbmQg
Qm9yZGVycyBNb2R1bGUgTGV2ZWwgMzogcGFyc2luZyBib3JkZXItcmFkaXVzIHdpdGggdmFsaWQg
dmFsdWVzPC90aXRsZT4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cyI+Ci08bWV0YSBuYW1lPSJhc3Nl
cnQiIGNvbnRlbnQ9ImJvcmRlci1yYWRpdXMgc3VwcG9ydHMgdGhlIGZ1bGwgZ3JhbW1hciAnPGxl
bmd0aC1wZXJjZW50YWdlPnsxLDR9IFsgLyA8bGVuZ3RoLXBlcmNlbnRhZ2U+ezEsNH0gXT8nLiI+
Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9ImJvcmRlci1yYWRpdXMgc3VwcG9ydHMgQ1NT
IFdpZGUga2V5d29yZHMgYW5kIHRoZSBmdWxsIGdyYW1tYXIgJzxsZW5ndGgtcGVyY2VudGFnZT57
MSw0fSBbIC8gPGxlbmd0aC1wZXJjZW50YWdlPnsxLDR9IF0/Jy4iPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9jc3Mvc3Vw
cG9ydC9wYXJzaW5nLXRlc3Rjb21tb24uanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8
c2NyaXB0PgordGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICJpbml0aWFsIik7Cit0
ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgImluaGVyaXQiKTsKK3Rlc3RfdmFsaWRf
dmFsdWUoImJvcmRlci1yYWRpdXMiLCAidW5zZXQiKTsKK3Rlc3RfdmFsaWRfdmFsdWUoImJvcmRl
ci1yYWRpdXMiLCAicmV2ZXJ0Iik7CisKIHRlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMi
LCAiMXB4Iik7CiB0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCA1JSIpOwog
dGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggMiUgM3B4Iik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444450</attachid>
            <date>2021-11-16 16:36:06 -0800</date>
            <delta_ts>2021-11-16 21:53:16 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-183994-20211117093604.patch</filename>
            <type>text/plain</type>
            <size>12467</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdjODk1MGJiMmY4YjYz
NGU2ODBiZDkxOTBkZWVhM2MxZDlhOTgwNC4uZGZiMDYxM2U2NzEzY2I1YTgyY2Q0YTYwYTc1N2Nk
NjM1NmE0N2M5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTExLTE2ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFk
aXVzIGlubGluZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAg
ICAgICBUaGlzIHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGlu
IGNhbm9uaWNhbCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Ym9yZGVyUmFkaXVzVmFs
dWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuaDoKKwogMjAyMS0xMS0x
NiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtY29udGFpbl0g
U3VwcG9ydCBjb250YWluOnBhaW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3Bw
CmluZGV4IDcwM2ZjMTZhYzk3MWY4OGIyZmY1ZTI2MDRmOTc0ZTU3ZTlmOGU0Y2MuLjE4NmU4NzNk
YTc5YTRiMGNiYWI4ZGEyODQwZGM4MTI5MDRkM2IzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVByb3BlcnRpZXMuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29s
LmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUg
IlBhaXIuaCIKICNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZEZ1bmN0aW9ucy5oIgpAQCAtMzE5LDcgKzMyMCw3IEBAIFN0cmluZyBTdHlsZVBy
b3BlcnRpZXM6OmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25z
dAogICAgICAgICAgICAgcmV0dXJuIHZhbHVlLT5jc3NUZXh0KCk7CiAgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyUmFkaXVzOgotICAgICAgICByZXR1
cm4gZ2V0NFZhbHVlcyhib3JkZXJSYWRpdXNTaG9ydGhhbmQoKSk7CisgICAgICAgIHJldHVybiBi
b3JkZXJSYWRpdXNWYWx1ZShib3JkZXJSYWRpdXNTaG9ydGhhbmQoKSk7CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUdhcDoKICAgICAgICAgcmV0dXJuIGdldDJWYWx1ZXMoZ2FwU2hvcnRoYW5kKCkpOwog
ICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxNYXJnaW46CkBAIC0zNjMsNiArMzY0LDYxIEBAIFN0
cmluZyBTdHlsZVByb3BlcnRpZXM6OmdldEN1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgU3RyaW5n
JiBwcm9wZXJ0eU5hbWUpIGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcg
U3R5bGVQcm9wZXJ0aWVzOjpib3JkZXJSYWRpdXNWYWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiBzaG9ydGhhbmQpIGNvbnN0Cit7CisgICAgYXV0byBzZXJpYWxpemUgPSBbXShjb25z
dCBDU1NWYWx1ZSogdG9wTGVmdCwgY29uc3QgQ1NTVmFsdWUqIHRvcFJpZ2h0LCBjb25zdCBDU1NW
YWx1ZSogYm90dG9tUmlnaHQsIGNvbnN0IENTU1ZhbHVlKiBib3R0b21MZWZ0KSAtPiBTdHJpbmcg
eworICAgICAgICBib29sIHNob3dCb3R0b21MZWZ0ID0gISgqdG9wUmlnaHQgPT0gKmJvdHRvbUxl
ZnQpOworICAgICAgICBib29sIHNob3dCb3R0b21SaWdodCA9ICEoKnRvcExlZnQgPT0gKmJvdHRv
bVJpZ2h0KSB8fCBzaG93Qm90dG9tTGVmdDsKKyAgICAgICAgYm9vbCBzaG93VG9wUmlnaHQgPSAh
KCp0b3BMZWZ0ID09ICp0b3BSaWdodCkgfHwgc2hvd0JvdHRvbVJpZ2h0OworCisgICAgICAgIHJl
dHVybiBtYWtlU3RyaW5nKHRvcExlZnQtPmNzc1RleHQoKSwgc2hvd1RvcFJpZ2h0ID8gIiAiIDog
IiIsIHNob3dUb3BSaWdodCA/IHRvcFJpZ2h0LT5jc3NUZXh0KCkgOiAiIiwgc2hvd0JvdHRvbVJp
Z2h0ID8gIiAiIDogIiIsIHNob3dCb3R0b21SaWdodCA/IGJvdHRvbVJpZ2h0LT5jc3NUZXh0KCkg
OiAiIiwgc2hvd0JvdHRvbUxlZnQgPyAiICIgOiAiIiwgc2hvd0JvdHRvbUxlZnQgPyBib3R0b21M
ZWZ0LT5jc3NUZXh0KCkgOiAiIik7CisgICAgfTsKKworICAgIGludCB0b3BMZWZ0VmFsdWVJbmRl
eCA9IGZpbmRQcm9wZXJ0eUluZGV4KHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbMF0pOworICAgIGlu
dCB0b3BSaWdodFZhbHVlSW5kZXggPSBmaW5kUHJvcGVydHlJbmRleChzaG9ydGhhbmQucHJvcGVy
dGllcygpWzFdKTsKKyAgICBpbnQgYm90dG9tUmlnaHRWYWx1ZUluZGV4ID0gZmluZFByb3BlcnR5
SW5kZXgoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVsyXSk7CisgICAgaW50IGJvdHRvbUxlZnRWYWx1
ZUluZGV4ID0gZmluZFByb3BlcnR5SW5kZXgoc2hvcnRoYW5kLnByb3BlcnRpZXMoKVszXSk7CisK
KyAgICBpZiAodG9wTGVmdFZhbHVlSW5kZXggPT0gLTEgfHwgdG9wUmlnaHRWYWx1ZUluZGV4ID09
IC0xIHx8IGJvdHRvbVJpZ2h0VmFsdWVJbmRleCA9PSAtMSB8fCBib3R0b21MZWZ0VmFsdWVJbmRl
eCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgUHJvcGVydHlSZWZlcmVu
Y2UgdG9wTGVmdCA9IHByb3BlcnR5QXQodG9wTGVmdFZhbHVlSW5kZXgpOworICAgIFByb3BlcnR5
UmVmZXJlbmNlIHRvcFJpZ2h0ID0gcHJvcGVydHlBdCh0b3BSaWdodFZhbHVlSW5kZXgpOworICAg
IFByb3BlcnR5UmVmZXJlbmNlIGJvdHRvbVJpZ2h0ID0gcHJvcGVydHlBdChib3R0b21SaWdodFZh
bHVlSW5kZXgpOworICAgIFByb3BlcnR5UmVmZXJlbmNlIGJvdHRvbUxlZnQgPSBwcm9wZXJ0eUF0
KGJvdHRvbUxlZnRWYWx1ZUluZGV4KTsKKworICAgIGF1dG8qIHRvcExlZnRWYWx1ZSA9IHRvcExl
ZnQudmFsdWUoKTsKKyAgICBpZiAoIXRvcExlZnRWYWx1ZSkKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOworICAgIGlmICh0b3BMZWZ0VmFsdWUtPmlzQ1NTV2lkZUtleXdvcmQoKSkKKyAgICAgICAg
cmV0dXJuIHRvcExlZnRWYWx1ZS0+Y3NzVGV4dCgpOworCisgICAgYXV0byogdG9wUmlnaHRWYWx1
ZSA9IHRvcFJpZ2h0LnZhbHVlKCk7CisgICAgYXV0byogYm90dG9tUmlnaHRWYWx1ZSA9IGJvdHRv
bVJpZ2h0LnZhbHVlKCk7CisgICAgYXV0byogYm90dG9tTGVmdFZhbHVlID0gYm90dG9tTGVmdC52
YWx1ZSgpOworCisgICAgLy8gQWxsIDQgcHJvcGVydGllcyBtdXN0IGJlIHNwZWNpZmllZCBhbmQg
dGhlIHJlbWFpbmluZyBvbmVzIG90aGVyIHRoYW4gdG9wTGVmdFZhbHVlIGFyZSBjaGVja2VkIGhl
cmUuCisgICAgaWYgKCF0b3BSaWdodFZhbHVlIHx8ICFib3R0b21SaWdodFZhbHVlIHx8ICFib3R0
b21MZWZ0VmFsdWUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIC8vIEltcG9ydGFu
dCBmbGFncyBtdXN0IGJlIHRoZSBzYW1lCisgICAgYm9vbCBpc0ltcG9ydGFudCA9IHRvcExlZnQu
aXNJbXBvcnRhbnQoKTsKKyAgICBpZiAodG9wUmlnaHQuaXNJbXBvcnRhbnQoKSAhPSBpc0ltcG9y
dGFudCB8fCBib3R0b21SaWdodC5pc0ltcG9ydGFudCgpICE9IGlzSW1wb3J0YW50IHx8IGJvdHRv
bUxlZnQuaXNJbXBvcnRhbnQoKSAhPSBpc0ltcG9ydGFudCkKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOworCisgICAgYXV0byYgdG9wTGVmdFBhaXIgPSAqZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWU+KCp0b3BMZWZ0VmFsdWUpLnBhaXJWYWx1ZSgpOworICAgIGF1dG8mIHRvcFJpZ2h0UGFpciA9
ICpkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnRvcFJpZ2h0VmFsdWUpLnBhaXJWYWx1ZSgp
OworICAgIGF1dG8mIGJvdHRvbVJpZ2h0UGFpciA9ICpkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZT4oKmJvdHRvbVJpZ2h0VmFsdWUpLnBhaXJWYWx1ZSgpOworICAgIGF1dG8mIGJvdHRvbUxlZnRQ
YWlyID0gKmRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYm90dG9tTGVmdFZhbHVlKS5wYWly
VmFsdWUoKTsKKworICAgIGF1dG8gZmlyc3QgPSBzZXJpYWxpemUodG9wTGVmdFBhaXIuZmlyc3Qo
KSwgdG9wUmlnaHRQYWlyLmZpcnN0KCksIGJvdHRvbVJpZ2h0UGFpci5maXJzdCgpLCBib3R0b21M
ZWZ0UGFpci5maXJzdCgpKTsKKyAgICBhdXRvIHNlY29uZCA9IHNlcmlhbGl6ZSh0b3BMZWZ0UGFp
ci5zZWNvbmQoKSwgdG9wUmlnaHRQYWlyLnNlY29uZCgpLCBib3R0b21SaWdodFBhaXIuc2Vjb25k
KCksIGJvdHRvbUxlZnRQYWlyLnNlY29uZCgpKTsKKyAgICBpZiAoZmlyc3QgPT0gc2Vjb25kKQor
ICAgICAgICByZXR1cm4gZmlyc3Q7CisKKyAgICByZXR1cm4gbWFrZVN0cmluZyhmaXJzdCwgIiAv
ICIsIHNlY29uZCk7Cit9CisKIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmJvcmRlclNwYWNpbmdW
YWx1ZShjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBzaG9ydGhhbmQpIGNvbnN0CiB7CiAg
ICAgYXV0byBob3Jpem9udGFsVmFsdWUgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKHNob3J0aGFuZC5w
cm9wZXJ0aWVzKClbMF0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJv
cGVydGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5oCmluZGV4IGRm
ODI1OTJhYzc3YzJiOGYzYWUzYmU1OTkxNjIwM2FlMWFmMThhNzQuLjc0OWIzMThiNGE1MWY3MDc1
YjllYTM5ZjFlZjFmZTJmMGU3MTBkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVByb3BlcnRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVz
LmgKQEAgLTE3MCw2ICsxNzAsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBnZXRMYXllcmVkU2hv
cnRoYW5kVmFsdWUoY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpIGNvbnN0OwogICAgIFN0
cmluZyBnZXQyVmFsdWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAg
ICBTdHJpbmcgZ2V0NFZhbHVlcyhjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJikgY29uc3Q7
CisgICAgU3RyaW5nIGJvcmRlclJhZGl1c1ZhbHVlKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmKSBjb25zdDsKICAgICBTdHJpbmcgYm9yZGVyU3BhY2luZ1ZhbHVlKGNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmKSBjb25zdDsKICAgICBTdHJpbmcgZm9udFZhbHVlKCkgY29uc3Q7CiAg
ICAgU3RyaW5nIGZvbnRWYXJpYW50VmFsdWUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGIzOWJhNDdmODI5ODA3Y2Q3NDIyMDFlZGZmZjhmYzUzNThhMzM0NzEuLjc0
YWVhOTY0YjkyYTQ3NGEyNjRhMjBkZjBjOWE5OWE4NjkwODU2MjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTExLTE2ICBKb29uZ2h1biBQYXJr
ICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBib3JkZXItcmFkaXVzIGlubGlu
ZSBzdHlsZSBzaG91bGQgc2VyaWFsaXplIHdpdGggdmFsaWQgc3ludGF4CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5OTQKKworICAgICAgICBUaGlz
IHBhdGNoIGhhdmUgYm9yZGVyLXJhZGl1cyBwcm9wZXJ0eSBzZXJpYWxpemVzIGluIGNhbm9uaWNh
bCBvcmRlcgorICAgICAgICBhcyBzcGVjaWZpZWQgaW4gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1iYWNrZ3JvdW5kcy8jYm9yZGVyLXJhZGl1cy4KKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tn
cm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZCBjc3Mg
d2lkZSBrZXl3b3JkcyB0ZXN0IGNhc2UgcmVzdWx0cy4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRt
bDogQWRkIGNzcyB3aWRlIGtleXdvcmRzIHRlc3QgY2FzZXMuCisKIDIwMjEtMTEtMTYgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQg
Y29udGFpbjpwYWludApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12
YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYmFja2dyb3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4
cGVjdGVkLnR4dAppbmRleCBmZDE2ODYzMWJlYjUwZDY1YmE2YWVkNWNjMzNjMWIzMDdhNGNkNDVi
Li5hYzE4ODgwMzdmYjA1NGI1NjM4YjdiYjYzZTM4NWI5ZmQyNDUxZDg1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dy
b3VuZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3Vu
ZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMSwxOSArMSwy
MyBAQAogCitQQVNTIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICJpbml0aWFsIiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
aW5oZXJpdCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9y
ZGVyLXJhZGl1cyddID0gInVuc2V0IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFT
UyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAicmV2ZXJ0IiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
MXB4IDUlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3Jk
ZXItcmFkaXVzJ10gPSAiMXB4IDIlIDNweCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUK
IFBBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAzcHggNCUiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIx
cHggLyAycHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNl
cmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IC8gMnB4IiBidXQg
Z290ICIxcHggMnB4IgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiNWVtIC8gMXB4
IDIlIDNweCA0JSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczog
c2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICI1ZW0gLyAxcHggMiUg
M3B4IDQlIiBidXQgZ290ICI1ZW0gMXB4IDVlbSAyJSA1ZW0gM3B4IDVlbSA0JSIKLUZBSUwgZS5z
dHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAvIDNweCA0cHgiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNh
bm9uaWNhbCBleHBlY3RlZCAiMXB4IDIlIC8gM3B4IDRweCIgYnV0IGdvdCAiMXB4IDNweCAyJSA0
cHgiCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMnB4IDNlbSAvIDFweCAy
cHggMyUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVhbHM6IHNlcmlh
bGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMXB4IDJweCAzZW0gLyAxcHgg
MnB4IDMlIiBidXQgZ290ICIxcHggMnB4IDNlbSAzJSIKLUZBSUwgZS5zdHlsZVsnYm9yZGVyLXJh
ZGl1cyddID0gIjFweCAyJSAvIDJweCAzZW0gNHB4IDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2Fs
IGV4cGVjdGVkICIxcHggMiUgLyAycHggM2VtIDRweCA1ZW0iIGJ1dCBnb3QgIjFweCAycHggMiUg
M2VtIDFweCA0cHggMiUgNWVtIgotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4
IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2Vx
dWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMiUg
M3B4IDQlIC8gNWVtIiBidXQgZ290ICIxcHggNWVtIDIlIDVlbSAzcHggNWVtIDQlIDVlbSIKLUZB
SUwgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDIlIC8gMXB4IDIlIDFw
eCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFs
aXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMXB4IDFweCAyJSAvIDFw
eCAyJSIgYnV0IGdvdCAiMXB4IDFweCAyJSAxcHggMiUiCi1GQUlMIGUuc3R5bGVbJ2JvcmRlci1y
YWRpdXMnXSA9ICIxcHggMXB4IDFweCAxcHggLyAxcHggMXB4IDIlIDFweCIgc2hvdWxkIHNldCB0
aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2VxdWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUg
Y2Fub25pY2FsIGV4cGVjdGVkICIxcHggLyAxcHggMXB4IDIlIiBidXQgZ290ICIxcHggMXB4IDFw
eCAyJSIKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAvIDJweCIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0g
IjVlbSAvIDFweCAyJSAzcHggNCUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNT
IGUuc3R5bGVbJ2JvcmRlci1yYWRpdXMnXSA9ICIxcHggMiUgLyAzcHggNHB4IiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4
IDJweCAzZW0gLyAxcHggMnB4IDMlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFT
UyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIC8gMnB4IDNlbSA0cHggNWVtIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVz
J10gPSAiMXB4IDIlIDNweCA0JSAvIDVlbSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUK
K1BBU1MgZS5zdHlsZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDIlIC8gMXB4IDIl
IDFweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnYm9y
ZGVyLXJhZGl1cyddID0gIjFweCAxcHggMXB4IDFweCAvIDFweCAxcHggMiUgMXB4IiBzaG91bGQg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAi
MXB4IDFweCAyJSAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHls
ZVsnYm9yZGVyLXJhZGl1cyddID0gIjFweCAyJSAxcHggMXB4IiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydib3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDIlIDIl
IC8gMXB4IDIlIDNweCAyJSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2Vx
dWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIxcHggMiUg
MiUgLyAxcHggMiUgM3B4IiBidXQgZ290ICIxcHggMiUgMiUgM3B4IgorUEFTUyBlLnN0eWxlWydi
b3JkZXItcmFkaXVzJ10gPSAiMXB4IDIlIDIlIDIlIC8gMXB4IDIlIDNweCAyJSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYm9yZGVyLXRvcC1sZWZ0LXJhZGl1
cyddID0gIjEwcHgiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVb
J2JvcmRlci10b3AtcmlnaHQtcmFkaXVzJ10gPSAiMjAlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyddID0gIjMw
cHggNDAlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRz
L3BhcnNpbmcvYm9yZGVyLXJhZGl1cy12YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL3BhcnNpbmcvYm9yZGVy
LXJhZGl1cy12YWxpZC5odG1sCmluZGV4IDI4N2Y5NWUxNzU1MzlhZjk0Njk3YmY2NWI1OTIwNGY2
MjU2NTc4N2QuLjU4NDIxMWYwOWFiMDBkNGVhNDUyMDNjOTVjYzVlZDMwNDgyODJkYjYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1iYWNrZ3JvdW5kcy9wYXJzaW5nL2JvcmRlci1yYWRpdXMtdmFsaWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYmFja2dyb3Vu
ZHMvcGFyc2luZy9ib3JkZXItcmFkaXVzLXZhbGlkLmh0bWwKQEAgLTQsMTMgKzQsMTggQEAKIDxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KIDx0aXRsZT5DU1MgQmFja2dyb3VuZHMgYW5kIEJvcmRlcnMg
TW9kdWxlIExldmVsIDM6IHBhcnNpbmcgYm9yZGVyLXJhZGl1cyB3aXRoIHZhbGlkIHZhbHVlczwv
dGl0bGU+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtYmFja2dyb3VuZHMvI2JvcmRlci1yYWRpdXMiPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250
ZW50PSJib3JkZXItcmFkaXVzIHN1cHBvcnRzIHRoZSBmdWxsIGdyYW1tYXIgJzxsZW5ndGgtcGVy
Y2VudGFnZT57MSw0fSBbIC8gPGxlbmd0aC1wZXJjZW50YWdlPnsxLDR9IF0/Jy4iPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJib3JkZXItcmFkaXVzIHN1cHBvcnRzIENTUyBXaWRlIGtl
eXdvcmRzIGFuZCB0aGUgZnVsbCBncmFtbWFyICc8bGVuZ3RoLXBlcmNlbnRhZ2U+ezEsNH0gWyAv
IDxsZW5ndGgtcGVyY2VudGFnZT57MSw0fSBdPycuIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvY3NzL3N1cHBvcnQvcGFy
c2luZy10ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4K
K3Rlc3RfdmFsaWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiaW5pdGlhbCIpOwordGVzdF92YWxp
ZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICJpbmhlcml0Iik7Cit0ZXN0X3ZhbGlkX3ZhbHVlKCJi
b3JkZXItcmFkaXVzIiwgInVuc2V0Iik7Cit0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVz
IiwgInJldmVydCIpOworCiB0ZXN0X3ZhbGlkX3ZhbHVlKCJib3JkZXItcmFkaXVzIiwgIjFweCIp
OwogdGVzdF92YWxpZF92YWx1ZSgiYm9yZGVyLXJhZGl1cyIsICIxcHggNSUiKTsKIHRlc3RfdmFs
aWRfdmFsdWUoImJvcmRlci1yYWRpdXMiLCAiMXB4IDIlIDNweCIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>