<?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>111121</bug_id>
          
          <creation_ts>2013-02-28 15:31:18 -0800</creation_ts>
          <short_desc>getComputedStyle not working with more than one background image.</short_desc>
          <delta_ts>2021-11-28 14:25:25 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Uday Kiran">udaykiran4u</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eae</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>heycam</cc>
    
    <cc>macpherson</cc>
    
    <cc>mattwoodrow</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>844542</commentid>
    <comment_count>0</comment_count>
    <who name="Uday Kiran">udaykiran4u</who>
    <bug_when>2013-02-28 15:31:18 -0800</bug_when>
    <thetext>getComputedStyle of background: url(&quot;dummy://test/1.png&quot;), url(&quot;dummy://test/2.png&quot;); is incorrect.
Tested on Chrome 24.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844545</commentid>
    <comment_count>1</comment_count>
      <attachid>190824</attachid>
    <who name="Uday Kiran">udaykiran4u</who>
    <bug_when>2013-02-28 15:32:27 -0800</bug_when>
    <thetext>Created attachment 190824
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858175</commentid>
    <comment_count>2</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2013-03-19 04:57:25 -0700</bug_when>
    <thetext>What do you expect the computed style to return and what are you seeing instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860036</commentid>
    <comment_count>3</comment_count>
    <who name="Uday Kiran">udaykiran4u</who>
    <bug_when>2013-03-20 22:42:05 -0700</bug_when>
    <thetext>Actual Result:
rgba(0, 0, 0, 0) url(dummy://test/1.png), url(dummy://test/2.png) repeat, repeat scroll, scroll 0% 0%, 0% 0% / auto, auto padding-box, padding-box border-box, border-box

I think expected result should be
rgba(0, 0, 0, 0) url(dummy://test/1.png) repeat scroll 0% 0% / auto padding-box border-box, url(dummy://test/2.png) repeat scroll 0% 0% / auto padding-box border-box</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817746</commentid>
    <comment_count>4</comment_count>
      <attachid>445122</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2021-11-25 00:20:09 -0800</bug_when>
    <thetext>Created attachment 445122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817829</commentid>
    <comment_count>5</comment_count>
      <attachid>445148</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2021-11-25 11:21:15 -0800</bug_when>
    <thetext>Created attachment 445148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817831</commentid>
    <comment_count>6</comment_count>
      <attachid>445149</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2021-11-25 11:40:41 -0800</bug_when>
    <thetext>Created attachment 445149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817857</commentid>
    <comment_count>7</comment_count>
      <attachid>445160</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2021-11-25 16:14:09 -0800</bug_when>
    <thetext>Created attachment 445160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817862</commentid>
    <comment_count>8</comment_count>
      <attachid>445160</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-11-25 17:02:39 -0800</bug_when>
    <thetext>Comment on attachment 445160
Patch

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

Patch is good but I&apos;d like to see the next version. Some comments and questions below.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4451
&gt; +size_t ComputedStyleExtractor::getLayerCount(CSSPropertyID property)
&gt; +{

You have the assertion about `property` in getBackgroundPropertyShorthandValue, but I&apos;d repeat it in here too.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4452
&gt; +    auto* styledElement = this-&gt;styledElement();

Can drop the &quot;this-&gt;&quot;. (Not sure why some other functions in this file do that.)

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4469
&gt; +Ref&lt;CSSValueList&gt; ComputedStyleExtractor::getBackgroundPropertyShorthandValue(CSSPropertyID property, const StylePropertyShorthand&amp; propertiesBeforeSlashSeperator, const StylePropertyShorthand&amp; propertiesAfterSlashSeperator, CSSPropertyID lastLayerProperty)

Maybe &quot;getFillLayerPropertyShorthandValue&quot; (after the naming of the FillLayer type)? I don&apos;t really think of &quot;mask&quot; as a being background-ish.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4475
&gt; +    auto bgColor = lastLayerProperty != CSSPropertyInvalid ? propertyValue(CSSPropertyBackgroundColor, DoNotUpdateLayout) : nullptr;

Feels a bit weird to pass in a property for lastLayerProperty but use CSSPropertyBackgroundColor here. Maybe call bgColor &quot;lastValue&quot; and pass in lastLayerProperty to propertyValue()?

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4488
&gt; +        // Background color is a singleton, and should only be prepended to the last layer.

WebKit style is to avoid comments that describe what the code is doing, if it&apos;s reasonably clear what the code is doing by reading it. (And to make code clear enough that a comment isn&apos;t required, if possible.) So I would probably drop this comment.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4494
&gt; +            beforeList-&gt;append(layerCount == 1 ? value : *downcast&lt;CSSValueList&gt;(value).item(i));

When layerCount == 1, is value a CSSValueList or a single value? If it&apos;s a list, we should append item(i).

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4497
&gt; +

Do we need to append the slash in here?

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4506
&gt; +        // If there was only a single layer, then don&apos;t bother wrapping in the
&gt; +        // layers list.

And I&apos;d drop this one too.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4520
&gt; +    static const CSSPropertyID propertiesBeforeSlashSeperator[4] = { CSSPropertyBackgroundImage, CSSPropertyBackgroundRepeat, CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition };
&gt;      static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyBackgroundSize, CSSPropertyBackgroundOrigin, CSSPropertyBackgroundClip };

Do you know what other browsers do in terms of the ordering of the longhand components? The general rule should be to follow the grammar order in the spec, unless there is some other explicit rules about serialization, and this ordering here doesn&apos;t match what&apos;s in the spec.

Also we can drop the explicit array lengths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817867</commentid>
    <comment_count>9</comment_count>
      <attachid>445160</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2021-11-25 17:27:50 -0800</bug_when>
    <thetext>Comment on attachment 445160
Patch

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

&gt;&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4469
&gt;&gt; +Ref&lt;CSSValueList&gt; ComputedStyleExtractor::getBackgroundPropertyShorthandValue(CSSPropertyID property, const StylePropertyShorthand&amp; propertiesBeforeSlashSeperator, const StylePropertyShorthand&amp; propertiesAfterSlashSeperator, CSSPropertyID lastLayerProperty)
&gt; 
&gt; Maybe &quot;getFillLayerPropertyShorthandValue&quot; (after the naming of the FillLayer type)? I don&apos;t really think of &quot;mask&quot; as a being background-ish.

Yeah, that&apos;s probably a good idea. Some of the other mask code is using &apos;background&apos; naming (in the parser etc), though that&apos;s probably just an artefact of how it was developed, rather than an explicit style choice.

&gt;&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4475
&gt;&gt; +    auto bgColor = lastLayerProperty != CSSPropertyInvalid ? propertyValue(CSSPropertyBackgroundColor, DoNotUpdateLayout) : nullptr;
&gt; 
&gt; Feels a bit weird to pass in a property for lastLayerProperty but use CSSPropertyBackgroundColor here. Maybe call bgColor &quot;lastValue&quot; and pass in lastLayerProperty to propertyValue()?

Whoops, that indeed was the intent, just forgot to change it.

&gt;&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4494
&gt;&gt; +            beforeList-&gt;append(layerCount == 1 ? value : *downcast&lt;CSSValueList&gt;(value).item(i));
&gt; 
&gt; When layerCount == 1, is value a CSSValueList or a single value? If it&apos;s a list, we should append item(i).

When layerCount == 1 then it&apos;s just a single value (which could itself be a list, if the property itself is a list), if layerCount &gt; 1, then it&apos;s a list with a value per-layer.

&gt;&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4497
&gt;&gt; +
&gt; 
&gt; Do we need to append the slash in here?

It&apos;s a slash-separated list, so just by having the two sublist, we get the &apos;/&apos; into the serialised output.

&gt;&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4520
&gt;&gt;      static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyBackgroundSize, CSSPropertyBackgroundOrigin, CSSPropertyBackgroundClip };
&gt; 
&gt; Do you know what other browsers do in terms of the ordering of the longhand components? The general rule should be to follow the grammar order in the spec, unless there is some other explicit rules about serialization, and this ordering here doesn&apos;t match what&apos;s in the spec.
&gt; 
&gt; Also we can drop the explicit array lengths.

This matches the order we were outputting previously, and matches what blink does. Gecko doesn&apos;t appear to make any attempt to produce a computed style for the background shorthand.

I figured it&apos;d be easier to just change the (obviously broken) behaviour for multi-layer backgrounds to match blink, and worry about the property ordering as a separate issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817871</commentid>
    <comment_count>10</comment_count>
      <attachid>445165</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2021-11-25 17:56:09 -0800</bug_when>
    <thetext>Created attachment 445165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817872</commentid>
    <comment_count>11</comment_count>
      <attachid>445165</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-11-25 18:29:25 -0800</bug_when>
    <thetext>Comment on attachment 445165
Patch

r=me though it would be nice if some subtests checked for the correct interleaving of the longhand components when there is more than one layer present.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817873</commentid>
    <comment_count>12</comment_count>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2021-11-25 18:42:16 -0800</bug_when>
    <thetext>(In reply to Cameron McCormack (:heycam) from comment #11)
&gt; Comment on attachment 445165 [details]
&gt; Patch
&gt; 
&gt; r=me though it would be nice if some subtests checked for the correct
&gt; interleaving of the longhand components when there is more than one layer
&gt; present.

The new tests that I added should be checking multiple layers, and that all the components are in the expected order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818099</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-28 14:24:12 -0800</bug_when>
    <thetext>Committed r286200 (244582@main): &lt;https://commits.webkit.org/244582@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445165.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818100</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-28 14:25:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/85790272&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>190824</attachid>
            <date>2013-02-28 15:32:27 -0800</date>
            <delta_ts>2013-02-28 15:32:27 -0800</delta_ts>
            <desc>testcase</desc>
            <filename>computed.html</filename>
            <type>text/html</type>
            <size>289</size>
            <attacher name="Uday Kiran">udaykiran4u</attacher>
            
              <data encoding="base64">PHN0eWxlPgojdGVzdCB7CiAgYmFja2dyb3VuZDogdXJsKCJkdW1teTovL3Rlc3QvMS5wbmciKSwg
dXJsKCJkdW1teTovL3Rlc3QvMi5wbmciKTsKfQo8L3N0eWxlPgo8ZGl2IGlkPSJ0ZXN0Ij48L2Rp
dj4KPHNjcmlwdD4KdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIp
Owp2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKTsKZG9j
dW1lbnQud3JpdGUoc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZCIpKTsKPC9zY3Jp
cHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445122</attachid>
            <date>2021-11-25 00:20:09 -0800</date>
            <delta_ts>2021-11-25 11:21:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111121-20211125212007.patch</filename>
            <type>text/plain</type>
            <size>14005</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRhZTk5MmMwODIyYzhh
YTljNTVlMmNhNTdlYjhkYjJlZjM5MTE0ZC4uYzFmOWZmMWFiZWM5YmNjYjU0MTE2YThhMzAxODA4
NTk4ZGQ0ZjQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTI1ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dAZ21haWwuY29tPgorCisgICAgICAgIFNlcmlhbGl6ZSBj
b21wdXRlZCBzdHlsZSBvZiBiYWNrZ3JvdW5kIHNob3J0aGFuZCB3aXRoIG11bHRpcGxlIGxheWVy
cyBjb3JyZWN0bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTExMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBOZXcgc3VidGVzdHMgYWRkZWQgdG8gZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNo
b3J0aGFuZAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpnZXRCYWNrZ3JvdW5k
U2hvcnRoYW5kVmFsdWUpOgorCiAyMDIxLTExLTI0ICBNYXR0IFdvb2Ryb3cgIDxtYXR0Lndvb2Ry
b3dAZ21haWwuY29tPgogCiAgICAgICAgIE1hc2sgdW5wcmVmaXgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNWRiMjhjZDdl
ODA1ZTU2OGNmZjA3NGZlNGJmMGE0MDliNWNhNWNiNC4uNzI5MjZjZDFkMjM2MDA2OTliN2NkOWNl
YzcyMzgxZThmOTIzMmFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTQ0NTMsMTMgKzQ0NTMsNDkgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpzZXRQcm9wZXJ0eUludGVybmFs
KENTU1Byb3BlcnR5SUQKIAogUmVmPENTU1ZhbHVlTGlzdD4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6Z2V0QmFja2dyb3VuZFNob3J0aGFuZFZhbHVlKCkKIHsKLSAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0aWVzQmVmb3JlU2xhc2hTZXBlcmF0b3JbNV0gPSB7IENTU1Byb3Bl
cnR5QmFja2dyb3VuZENvbG9yLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSwgQ1NTUHJvcGVy
dHlCYWNrZ3JvdW5kUmVwZWF0LCBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50LCBDU1NQ
cm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvbiB9OworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0
eUlEIHByb3BlcnRpZXNCZWZvcmVTbGFzaFNlcGVyYXRvcls0XSA9IHsgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kSW1hZ2UsIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdCwgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kQXR0YWNobWVudCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb24gfTsKICAgICBz
dGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0aWVzQWZ0ZXJTbGFzaFNlcGVyYXRvclsz
XSA9IHsgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kT3Jp
Z2luLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRDbGlwIH07CiAKLSAgICBhdXRvIGxpc3QgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZVNsYXNoU2VwYXJhdGVkKCk7Ci0gICAgbGlzdC0+YXBwZW5kKGdldENT
U1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVByb3BlcnR5U2hvcnRo
YW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgcHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9y
KSkpOwotICAgIGxpc3QtPmFwcGVuZChnZXRDU1NQcm9wZXJ0eVZhbHVlc0ZvclNob3J0aGFuZFBy
b3BlcnRpZXMoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZChDU1NQcm9wZXJ0eUJhY2tncm91bmQsIHBy
b3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yKSkpOwotICAgIHJldHVybiBsaXN0OworICAgIGF1
dG8gYmdDb2xvciA9IHByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IsIERv
Tm90VXBkYXRlTGF5b3V0KTsKKyAgICBhdXRvIGJlZm9yZSA9IGdldENTU1Byb3BlcnR5VmFsdWVz
Rm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVByb3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5
QmFja2dyb3VuZCwgcHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yKSk7CisgICAgYXV0byBh
ZnRlciA9IGdldENTU1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgcHJvcGVydGllc0FmdGVyU2xh
c2hTZXBlcmF0b3IpKTsKKworICAgIC8vIFRoZSBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSByZXR1
cm5lZCBhcyBsaXN0cyBvZiBwcm9wZXJ0aWVzLCB3aXRoIGEgbGlzdCBvZiBsYXllcnMgaW4gZWFj
aC4KKyAgICAvLyBXZSB3YW50IHRvIHN3YXAgdGhhdCBhcm91bmQgdG8gaGF2ZSBhIGxpc3Qgb2Yg
bGF5ZXJzLCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGluIGVhY2guCisKKyAgICAvLyBGaW5k
IG91dCBob3cgbWFueSBsYXllcnMgdGhlcmUuIFByb3BlcnRpZXMgaG9sZCBhIGxpc3QgaWYgdGhl
cmUgYXJlIG11bHRpcGxlIGxheWVycywgb3RoZXJ3aXNlIHRoZXkgaG9sZAorICAgIC8vIHRoZSB2
YWx1ZSBkaXJlY3RseS4KKyAgICBzaXplX3QgbGF5ZXJDb3VudCA9IGlzPENTU1ZhbHVlTGlzdD4o
KmJlZm9yZS0+aXRlbSgwKSkgPyBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpiZWZvcmUtPml0ZW0o
MSkpLmxlbmd0aCgpIDogMTsKKyAgICBhdXRvIGxheWVycyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRl
Q29tbWFTZXBhcmF0ZWQoKTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGF5ZXJDb3Vu
dDsgaSsrKSB7CisgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU2xhc2hT
ZXBhcmF0ZWQoKTsKKyAgICAgICAgYXV0byBiZWZvcmVMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVh
dGVTcGFjZVNlcGFyYXRlZCgpOworICAgICAgICBpZiAoaSArIDEgPT0gbGF5ZXJDb3VudCkKKyAg
ICAgICAgICAgIGJlZm9yZUxpc3QtPmFwcGVuZCgqYmdDb2xvcik7CisKKyAgICAgICAgZm9yIChz
aXplX3QgaiA9IDA7IGogPCBBUlJBWV9TSVpFKHByb3BlcnRpZXNCZWZvcmVTbGFzaFNlcGVyYXRv
cik7IGorKykgeworICAgICAgICAgICAgYXV0byYgdmFsdWUgPSAqYmVmb3JlLT5pdGVtKGopOwor
ICAgICAgICAgICAgYmVmb3JlTGlzdC0+YXBwZW5kKGxheWVyQ291bnQgPT0gMSA/IHZhbHVlIDog
KmRvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUpLml0ZW0oaSkpOworICAgICAgICB9CisgICAg
ICAgIGxpc3QtPmFwcGVuZChiZWZvcmVMaXN0KTsKKworICAgICAgICBhdXRvIGFmdGVyTGlzdCA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICAgICAgZm9yIChzaXpl
X3QgaiA9IDA7IGogPCBBUlJBWV9TSVpFKHByb3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yKTsg
aisrKSB7CisgICAgICAgICAgICBhdXRvJiB2YWx1ZSA9ICphZnRlci0+aXRlbShqKTsKKyAgICAg
ICAgICAgIGFmdGVyTGlzdC0+YXBwZW5kKGxheWVyQ291bnQgPT0gMSA/IHZhbHVlIDogKmRvd25j
YXN0PENTU1ZhbHVlTGlzdD4odmFsdWUpLml0ZW0oaSkpOworICAgICAgICB9CisgICAgICAgIGxp
c3QtPmFwcGVuZChhZnRlckxpc3QpOworCisgICAgICAgIC8vIElmIHRoZXJlIHdhcyBvbmx5IGEg
c2luZ2xlIGxheWVyLCB0aGVuIGRvbid0IGJvdGhlciB3cmFwcGluZyBpbiB0aGUKKyAgICAgICAg
Ly8gbGF5ZXJzIGxpc3QuCisgICAgICAgIGlmIChsYXllckNvdW50ID09IDEpCisgICAgICAgICAg
ICByZXR1cm4gbGlzdDsKKworICAgICAgICBsYXllcnMtPmFwcGVuZChsaXN0KTsKKyAgICB9CisK
KyAgICByZXR1cm4gbGF5ZXJzOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MDUzN2UzZmFjYzM3MDExM2Y3NjM5NGJiZTIzMzVhMjU0NzI0MmVhMC4uNzY4MjQ5MTFmMThkMWU3
MTlhYWI3YmM5YjIyMzZjMGUxZGYzNGI0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTEx
LTI1ICBNYXR0IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dAZ21haWwuY29tPgorCisgICAgICAgIFNl
cmlhbGl6ZSBjb21wdXRlZCBzdHlsZSBvZiBiYWNrZ3JvdW5kIHNob3J0aGFuZCB3aXRoIG11bHRp
cGxlIGxheWVycyBjb3JyZWN0bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTExMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHls
ZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0
bWw6CisKIDIwMjEtMTEtMjQgIE1hdHQgV29vZHJvdyAgPG1hdHQud29vZHJvd0BnbWFpbC5jb20+
CiAKICAgICAgICAgTWFzayB1bnByZWZpeApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5k
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0
Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3RlZC50eHQKaW5kZXggMWUz
MzI4NjFkNWYwYWNhZDQwN2Q5ZmU3MmZhMGNlYjM4MGU2NTFjOC4uYWZhZmZhMTdlYTY4OGYyNWUx
Mzc0YmIyZTg3MzQ3NWY0YTA2MTA0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dl
dENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CkBAIC0xNzQs
NiArMTc0LDM3IEBAIFBBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLmdldFN0cmluZ1ZhCiBQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5nZXRTdHJp
bmdWYWx1ZSgpIGlzICdib3JkZXItYm94JwogUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSBp
cyAncGFkZGluZy1ib3gnCiBQQVNTIGNoZWNrQ29tcHV0ZWRTdHlsZVZhbHVlKCkgaXMgdHJ1ZQor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQnKSBpcyAndXJs
KCJkdW1teTovL3Rlc3QucG5nIikgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1i
b3ggYm9yZGVyLWJveCwgcmdiKDI1NSwgMCwgMCkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8g
YXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVl
TGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3Vu
ZCcpLmNzc1RleHQgaXMgJ3VybCgiZHVtbXk6Ly90ZXN0LnBuZyIpIHJlcGVhdCBzY3JvbGwgMCUg
MCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1ib3gsIHJnYigyNTUsIDAsIDApIG5vbmUgcmVw
ZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveCcKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykubGVuZ3RoIGlzIDIK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRl
bSgwKS5sZW5ndGggaXMgMgorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkubGVuZ3RoIGlzIDQKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLmxl
bmd0aCBpcyAzCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDApLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2R1bW15
Oi8vdGVzdC5wbmcnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFj
a2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDEpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3Jl
cGVhdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5k
JykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAnc2Nyb2xsJwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVt
KDApLml0ZW0oMCkuaXRlbSgzKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0n
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0
ZW0oMCkuaXRlbSgwKS5pdGVtKDMpLml0ZW0oMCkuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVW
YWx1ZS5DU1NfUEVSQ0VOVEFHRSkgaXMgMAorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS5pdGVtKDEpLmdl
dEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIGlzIDAKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5p
dGVtKDEpLml0ZW0oMCkuZ2V0U3RyaW5nVmFsdWUoKSBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLml0
ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSBpcyAncGFkZGluZy1ib3gnCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVt
KDIpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2JvcmRlci1ib3gnCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5sZW5ndGgg
aXMgNQorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDEpLml0ZW0oMSkubGVuZ3RoIGlzIDMKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdC
Q29sb3JWYWx1ZSgpLnJlZC5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1C
RVIpIGlzIDI1NQorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tn
cm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgwKS5nZXRSR0JDb2xvclZhbHVlKCkuZ3JlZW4u
Z2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAwCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRl
bSgwKS5pdGVtKDApLmdldFJHQkNvbG9yVmFsdWUoKS5ibHVlLmdldEZsb2F0VmFsdWUoQ1NTUHJp
bWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMAorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJp
bmdWYWx1ZSgpIGlzICdub25lJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgp
IGlzICdyZXBlYXQnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFj
a2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDMpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3Nj
cm9sbCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5k
JykuaXRlbSgxKS5pdGVtKDApLml0ZW0oNCkudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1
ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSg0KS5pdGVtKDApLmdldEZsb2F0VmFsdWUoQ1NTUHJp
bWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oNCkuaXRl
bSgxKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19QRVJDRU5UQUdFKSBpcyAw
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0
ZW0oMSkuaXRlbSgxKS5pdGVtKDApLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2F1dG8nCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRl
bSgxKS5pdGVtKDEpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3BhZGRpbmctYm94JworUEFTUyBjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0o
MSkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdib3JkZXItYm94JworUEFTUyBjaGVja0Nv
bXB1dGVkU3R5bGVWYWx1ZSgpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
YmFja2dyb3VuZC1zaG9ydGhhbmQuaHRtbAppbmRleCBkMGIwZGYxYWNlY2Y2MWIyYmI0YTkwZWNj
MjNmYzQ4MjYxMDZkYTU0Li41YTRjNmFmZDI1YTE1YzE3MzZkYjE1MjNlN2E3NDFlZjY3YzNlN2Iz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9y
dGhhbmQuaHRtbApAQCAtMjE0LDYgKzIxNCw0MCBAQCBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLmdldFN0cgog
c2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcp
Lml0ZW0oMSkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidwYWRkaW5nLWJveCciKTsKIHNo
b3VsZEJlKCJjaGVja0NvbXB1dGVkU3R5bGVWYWx1ZSgpIiwgInRydWUiKTsKIAorCitlLnN0eWxl
LmJhY2tncm91bmQgPSAidXJsKGR1bW15Oi8vdGVzdC5wbmcpLCByZWQiOworc2hvdWxkQmUoImNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZCcpIiwgIid1cmwoXCJkdW1t
eTovL3Rlc3QucG5nXCIpIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJv
cmRlci1ib3gsIHJnYigyNTUsIDAsIDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8g
cGFkZGluZy1ib3ggYm9yZGVyLWJveCciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS50b1N0cmluZygpIiwgIidbb2JqZWN0IENTU1Zh
bHVlTGlzdF0nIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIsICIndXJsKFwiZHVtbXk6Ly90ZXN0LnBuZ1wiKSByZXBl
YXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94LCByZ2IoMjU1LCAw
LCAwKSBub25lIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1i
b3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLmxlbmd0aCIsICIyIik7CitzaG91bGRC
ZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgw
KS5pdGVtKDApLmxlbmd0aCIsICI0Iik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLmxlbmd0aCIsICIzIik7
CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5k
JykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMCkuZ2V0U3RyaW5nVmFsdWUoKSIsICInZHVtbXk6Ly90
ZXN0LnBuZyciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIiwg
IidyZXBlYXQnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSIs
ICInc2Nyb2xsJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDMpLnRvU3RyaW5nKCkiLCAiJ1tv
YmplY3QgQ1NTVmFsdWVMaXN0XSciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS5pdGVtKDAp
LmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsK
K3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS5pdGVtKDEpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0
aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgw
KS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidhdXRvJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDEp
LmdldFN0cmluZ1ZhbHVlKCkiLCAiJ3BhZGRpbmctYm94JyIpOworc2hvdWxkQmUoImNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5p
dGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2JvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVt
KDApLmxlbmd0aCIsICI1Iik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLmxlbmd0aCIsICIzIik7CitzaG91
bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRl
bSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29sb3JWYWx1ZSgpLnJlZC5nZXRGbG9hdFZhbHVl
KENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIiwgIjI1NSIpOworc2hvdWxkQmUoImNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgw
KS5pdGVtKDApLmdldFJHQkNvbG9yVmFsdWUoKS5ncmVlbi5nZXRGbG9hdFZhbHVlKENTU1ByaW1p
dGl2ZVZhbHVlLkNTU19OVU1CRVIpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgwKS5n
ZXRSR0JDb2xvclZhbHVlKCkuYmx1ZS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNT
U19OVU1CRVIpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1
ZSgpIiwgIidub25lJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVl
KCkiLCAiJ3JlcGVhdCciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgzKS5nZXRTdHJpbmdWYWx1
ZSgpIiwgIidzY3JvbGwnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oNCkudG9TdHJpbmcoKSIs
ICInW29iamVjdCBDU1NWYWx1ZUxpc3RdJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLml0
ZW0oMCkuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkiLCAi
MCIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLml0ZW0oMSkuZ2V0RmxvYXRWYWx1ZShDU1NQ
cmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkiLCAiMCIpOworc2hvdWxkQmUoImNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5p
dGVtKDApLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2F1dG8nIik7CitzaG91bGRCZSgiY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLml0
ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSIsICIncGFkZGluZy1ib3gnIik7CitzaG91bGRCZSgiY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVt
KDEpLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSIsICInYm9yZGVyLWJveCciKTsKK3Nob3VsZEJl
KCJjaGVja0NvbXB1dGVkU3R5bGVWYWx1ZSgpIiwgInRydWUiKTsKKwogZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsKIAogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445148</attachid>
            <date>2021-11-25 11:21:15 -0800</date>
            <delta_ts>2021-11-25 11:40:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111121-20211126082113.patch</filename>
            <type>text/plain</type>
            <size>14339</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRhZTk5MmMwODIyYzhh
YTljNTVlMmNhNTdlYjhkYjJlZjM5MTE0ZC4uYzFmOWZmMWFiZWM5YmNjYjU0MTE2YThhMzAxODA4
NTk4ZGQ0ZjQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTI1ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dAZ21haWwuY29tPgorCisgICAgICAgIFNlcmlhbGl6ZSBj
b21wdXRlZCBzdHlsZSBvZiBiYWNrZ3JvdW5kIHNob3J0aGFuZCB3aXRoIG11bHRpcGxlIGxheWVy
cyBjb3JyZWN0bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTExMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBOZXcgc3VidGVzdHMgYWRkZWQgdG8gZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNo
b3J0aGFuZAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpnZXRCYWNrZ3JvdW5k
U2hvcnRoYW5kVmFsdWUpOgorCiAyMDIxLTExLTI0ICBNYXR0IFdvb2Ryb3cgIDxtYXR0Lndvb2Ry
b3dAZ21haWwuY29tPgogCiAgICAgICAgIE1hc2sgdW5wcmVmaXgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNWRiMjhjZDdl
ODA1ZTU2OGNmZjA3NGZlNGJmMGE0MDliNWNhNWNiNC4uNGVjODY1OTRlYTdkYTAyNWIxMzAzNGJl
MmI1MmJlOTBkNzc2MWI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTQ0NTMsMTMgKzQ0NTMsNTMgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpzZXRQcm9wZXJ0eUludGVybmFs
KENTU1Byb3BlcnR5SUQKIAogUmVmPENTU1ZhbHVlTGlzdD4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6Z2V0QmFja2dyb3VuZFNob3J0aGFuZFZhbHVlKCkKIHsKLSAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0aWVzQmVmb3JlU2xhc2hTZXBlcmF0b3JbNV0gPSB7IENTU1Byb3Bl
cnR5QmFja2dyb3VuZENvbG9yLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSwgQ1NTUHJvcGVy
dHlCYWNrZ3JvdW5kUmVwZWF0LCBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50LCBDU1NQ
cm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvbiB9OworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0
eUlEIHByb3BlcnRpZXNCZWZvcmVTbGFzaFNlcGVyYXRvcls0XSA9IHsgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kSW1hZ2UsIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdCwgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kQXR0YWNobWVudCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb24gfTsKICAgICBz
dGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0aWVzQWZ0ZXJTbGFzaFNlcGVyYXRvclsz
XSA9IHsgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kT3Jp
Z2luLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRDbGlwIH07CiAKLSAgICBhdXRvIGxpc3QgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZVNsYXNoU2VwYXJhdGVkKCk7Ci0gICAgbGlzdC0+YXBwZW5kKGdldENT
U1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVByb3BlcnR5U2hvcnRo
YW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgcHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9y
KSkpOwotICAgIGxpc3QtPmFwcGVuZChnZXRDU1NQcm9wZXJ0eVZhbHVlc0ZvclNob3J0aGFuZFBy
b3BlcnRpZXMoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZChDU1NQcm9wZXJ0eUJhY2tncm91bmQsIHBy
b3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yKSkpOwotICAgIHJldHVybiBsaXN0OworICAgIGF1
dG8gYmdDb2xvciA9IHByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IsIERv
Tm90VXBkYXRlTGF5b3V0KTsKKyAgICBhdXRvIGJlZm9yZSA9IGdldENTU1Byb3BlcnR5VmFsdWVz
Rm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVByb3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5
QmFja2dyb3VuZCwgcHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yKSk7CisgICAgYXV0byBh
ZnRlciA9IGdldENTU1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgcHJvcGVydGllc0FmdGVyU2xh
c2hTZXBlcmF0b3IpKTsKKworICAgIC8vIFRoZSBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSByZXR1
cm5lZCBhcyBsaXN0cyBvZiBwcm9wZXJ0aWVzLCB3aXRoIGEgbGlzdCBvZiBsYXllcnMgaW4gZWFj
aC4KKyAgICAvLyBXZSB3YW50IHRvIHN3YXAgdGhhdCBhcm91bmQgdG8gaGF2ZSBhIGxpc3Qgb2Yg
bGF5ZXJzLCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGluIGVhY2guCisKKyAgICAvLyBGaW5k
IG91dCBob3cgbWFueSBsYXllcnMgdGhlcmUuIFByb3BlcnRpZXMgaG9sZCBhIGxpc3QgaWYgdGhl
cmUgYXJlIG11bHRpcGxlIGxheWVycywgb3RoZXJ3aXNlIHRoZXkgaG9sZAorICAgIC8vIHRoZSB2
YWx1ZSBkaXJlY3RseS4KKyAgICBzaXplX3QgbGF5ZXJDb3VudCA9IGlzPENTU1ZhbHVlTGlzdD4o
KmJlZm9yZS0+aXRlbSgwKSkgPyBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpiZWZvcmUtPml0ZW0o
MCkpLmxlbmd0aCgpIDogMTsKKyAgICBhdXRvIGxheWVycyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRl
Q29tbWFTZXBhcmF0ZWQoKTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGF5ZXJDb3Vu
dDsgaSsrKSB7CisgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU2xhc2hT
ZXBhcmF0ZWQoKTsKKyAgICAgICAgYXV0byBiZWZvcmVMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVh
dGVTcGFjZVNlcGFyYXRlZCgpOworCisgICAgICAgIC8vIEJhY2tncm91bmQgY29sb3IgaXMgYSBz
aW5nbGV0b24sIGFuZCBzaG91bGQgb25seSBiZSBwcmVwZW5kZWQgdG8gdGhlIGxhc3QgbGF5ZXIu
CisgICAgICAgIGlmIChpICsgMSA9PSBsYXllckNvdW50KQorICAgICAgICAgICAgYmVmb3JlTGlz
dC0+YXBwZW5kKCpiZ0NvbG9yKTsKKworICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IEFS
UkFZX1NJWkUocHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yKTsgaisrKSB7CisgICAgICAg
ICAgICBhdXRvJiB2YWx1ZSA9ICpiZWZvcmUtPml0ZW0oaik7CisgICAgICAgICAgICBBU1NFUlRf
V0lUSF9NRVNTQUdFKGlzPENTU1ZhbHVlTGlzdD4odmFsdWUpLCAiUHJvcGVydHkgYmVmb3JlIHNs
YXNoIGlzbid0IGEgbGlzdCAlenUgJXp1IiwgaiwgbGF5ZXJDb3VudCk7CisgICAgICAgICAgICBi
ZWZvcmVMaXN0LT5hcHBlbmQobGF5ZXJDb3VudCA9PSAxID8gdmFsdWUgOiAqZG93bmNhc3Q8Q1NT
VmFsdWVMaXN0Pih2YWx1ZSkuaXRlbShpKSk7CisgICAgICAgIH0KKyAgICAgICAgbGlzdC0+YXBw
ZW5kKGJlZm9yZUxpc3QpOworCisgICAgICAgIGF1dG8gYWZ0ZXJMaXN0ID0gQ1NTVmFsdWVMaXN0
OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8
IEFSUkFZX1NJWkUocHJvcGVydGllc0FmdGVyU2xhc2hTZXBlcmF0b3IpOyBqKyspIHsKKyAgICAg
ICAgICAgIGF1dG8mIHZhbHVlID0gKmFmdGVyLT5pdGVtKGopOworICAgICAgICAgICAgQVNTRVJU
X1dJVEhfTUVTU0FHRShpczxDU1NWYWx1ZUxpc3Q+KHZhbHVlKSwgIlByb3BlcnR5IGFmdGVyIHNs
YXNoIGlzbid0IGEgbGlzdCAlenUgJXp1IiwgaiwgbGF5ZXJDb3VudCk7CisgICAgICAgICAgICBh
ZnRlckxpc3QtPmFwcGVuZChsYXllckNvdW50ID09IDEgPyB2YWx1ZSA6ICpkb3duY2FzdDxDU1NW
YWx1ZUxpc3Q+KHZhbHVlKS5pdGVtKGkpKTsKKyAgICAgICAgfQorICAgICAgICBsaXN0LT5hcHBl
bmQoYWZ0ZXJMaXN0KTsKKworICAgICAgICAvLyBJZiB0aGVyZSB3YXMgb25seSBhIHNpbmdsZSBs
YXllciwgdGhlbiBkb24ndCBib3RoZXIgd3JhcHBpbmcgaW4gdGhlCisgICAgICAgIC8vIGxheWVy
cyBsaXN0LgorICAgICAgICBpZiAobGF5ZXJDb3VudCA9PSAxKQorICAgICAgICAgICAgcmV0dXJu
IGxpc3Q7CisKKyAgICAgICAgbGF5ZXJzLT5hcHBlbmQobGlzdCk7CisgICAgfQorCisgICAgcmV0
dXJuIGxheWVyczsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA1MzdlM2Zh
Y2MzNzAxMTNmNzYzOTRiYmUyMzM1YTI1NDcyNDJlYTAuLjc2ODI0OTExZjE4ZDFlNzE5YWFiN2Jj
OWIyMjM2YzBlMWRmMzRiNGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMS0yNSAgTWF0
dCBXb29kcm93ICA8bWF0dC53b29kcm93QGdtYWlsLmNvbT4KKworICAgICAgICBTZXJpYWxpemUg
Y29tcHV0ZWQgc3R5bGUgb2YgYmFja2dyb3VuZCBzaG9ydGhhbmQgd2l0aCBtdWx0aXBsZSBsYXll
cnMgY29ycmVjdGx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dy
b3VuZC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC5odG1sOgorCiAy
MDIxLTExLTI0ICBNYXR0IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dAZ21haWwuY29tPgogCiAgICAg
ICAgIE1hc2sgdW5wcmVmaXgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVk
U3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CmluZGV4IDFlMzMyODYxZDVm
MGFjYWQ0MDdkOWZlNzJmYTBjZWIzODBlNjUxYzguLmFmYWZmYTE3ZWE2ODhmMjVlMTM3NGJiMmU4
NzM0NzVmNGEwNjEwNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRl
ZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dApAQCAtMTc0LDYgKzE3NCwz
NyBAQCBQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcp
Lml0ZW0oMSkuaXRlbSgwKS5nZXRTdHJpbmdWYQogUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUo
KSBpcyAnYm9yZGVyLWJveCcKIFBBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3BhZGRp
bmctYm94JwogUEFTUyBjaGVja0NvbXB1dGVkU3R5bGVWYWx1ZSgpIGlzIHRydWUKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kJykgaXMgJ3VybCgiZHVtbXk6
Ly90ZXN0LnBuZyIpIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRl
ci1ib3gsIHJnYigyNTUsIDAsIDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFk
ZGluZy1ib3ggYm9yZGVyLWJveCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NU
ZXh0IGlzICd1cmwoImR1bW15Oi8vdGVzdC5wbmciKSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0
byBwYWRkaW5nLWJveCBib3JkZXItYm94LCByZ2IoMjU1LCAwLCAwKSBub25lIHJlcGVhdCBzY3Jv
bGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1ib3gnCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmxlbmd0aCBpcyAyCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkubGVu
Z3RoIGlzIDIKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuaXRlbSgwKS5pdGVtKDApLmxlbmd0aCBpcyA0CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5sZW5ndGggaXMg
MworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5p
dGVtKDApLml0ZW0oMCkuaXRlbSgwKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdkdW1teTovL3Rlc3Qu
cG5nJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDApLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdyZXBlYXQnCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0o
MCkuaXRlbSgwKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3Njcm9sbCcKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVt
KDApLml0ZW0oMykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0
ZW0oMCkuaXRlbSgzKS5pdGVtKDApLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NT
X1BFUkNFTlRBR0UpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMykuaXRlbSgxKS5nZXRGbG9hdFZh
bHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19QRVJDRU5UQUdFKSBpcyAwCitQQVNTIGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5p
dGVtKDApLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDEpLmdl
dFN0cmluZ1ZhbHVlKCkgaXMgJ3BhZGRpbmctYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgyKS5nZXRT
dHJpbmdWYWx1ZSgpIGlzICdib3JkZXItYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkubGVuZ3RoIGlzIDUKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgx
KS5pdGVtKDEpLmxlbmd0aCBpcyAzCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDApLmdldFJHQkNvbG9yVmFs
dWUoKS5yZWQuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAy
NTUKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJyku
aXRlbSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29sb3JWYWx1ZSgpLmdyZWVuLmdldEZsb2F0
VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMAorUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRl
bSgwKS5nZXRSR0JDb2xvclZhbHVlKCkuYmx1ZS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlLkNTU19OVU1CRVIpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUo
KSBpcyAnbm9uZScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAncmVw
ZWF0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgzKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdzY3JvbGwnCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0o
MSkuaXRlbSgwKS5pdGVtKDQpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRl
bSgxKS5pdGVtKDApLml0ZW0oNCkuaXRlbSgwKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlLkNTU19QRVJDRU5UQUdFKSBpcyAwCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLml0ZW0oMSkuZ2V0
RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkgaXMgMAorUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0
ZW0oMSkuaXRlbSgwKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuaXRl
bSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdwYWRkaW5nLWJveCcKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLml0ZW0o
MikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAnYm9yZGVyLWJveCcKK1BBU1MgY2hlY2tDb21wdXRlZFN0
eWxlVmFsdWUoKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91
bmQtc2hvcnRoYW5kLmh0bWwKaW5kZXggZDBiMGRmMWFjZWNmNjFiMmJiNGE5MGVjYzIzZmM0ODI2
MTA2ZGE1NC4uNWE0YzZhZmQyNWExNWMxNzM2ZGIxNTIzZTdhNzQxZWY2N2MzZTdiMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0
bWwKQEAgLTIxNCw2ICsyMTQsNDAgQEAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5nZXRTdHIKIHNob3VsZEJl
KCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEp
Lml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSIsICIncGFkZGluZy1ib3gnIik7CiBzaG91bGRCZSgi
Y2hlY2tDb21wdXRlZFN0eWxlVmFsdWUoKSIsICJ0cnVlIik7CiAKKworZS5zdHlsZS5iYWNrZ3Jv
dW5kID0gInVybChkdW1teTovL3Rlc3QucG5nKSwgcmVkIjsKK3Nob3VsZEJlKCJjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQnKSIsICIndXJsKFwiZHVtbXk6Ly90ZXN0
LnBuZ1wiKSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94
LCByZ2IoMjU1LCAwLCAwKSBub25lIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmct
Ym94IGJvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykudG9TdHJpbmcoKSIsICInW29iamVjdCBDU1NWYWx1ZUxpc3Rd
JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLmNzc1RleHQiLCAiJ3VybChcImR1bW15Oi8vdGVzdC5wbmdcIikgcmVwZWF0IHNjcm9s
bCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveCwgcmdiKDI1NSwgMCwgMCkgbm9u
ZSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94JyIpOwor
c2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcp
Lmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoImNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgw
KS5sZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5sZW5ndGgiLCAiMyIpOworc2hvdWxk
QmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0o
MCkuaXRlbSgwKS5pdGVtKDApLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2R1bW15Oi8vdGVzdC5wbmcn
Iik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSIsICIncmVwZWF0
JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ3Njcm9s
bCciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tn
cm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS50b1N0cmluZygpIiwgIidbb2JqZWN0IENT
U1ZhbHVlTGlzdF0nIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMykuaXRlbSgwKS5nZXRGbG9h
dFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19QRVJDRU5UQUdFKSIsICIwIik7CitzaG91bGRC
ZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgw
KS5pdGVtKDApLml0ZW0oMykuaXRlbSgxKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVl
LkNTU19QRVJDRU5UQUdFKSIsICIwIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLml0ZW0oMCkuZ2V0U3Ry
aW5nVmFsdWUoKSIsICInYXV0byciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgxKS5nZXRTdHJp
bmdWYWx1ZSgpIiwgIidwYWRkaW5nLWJveCciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgyKS5n
ZXRTdHJpbmdWYWx1ZSgpIiwgIidib3JkZXItYm94JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5sZW5n
dGgiLCAiNSIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoImNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRl
bSgwKS5pdGVtKDApLmdldFJHQkNvbG9yVmFsdWUoKS5yZWQuZ2V0RmxvYXRWYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIyNTUiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgw
KS5nZXRSR0JDb2xvclZhbHVlKCkuZ3JlZW4uZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1
ZS5DU1NfTlVNQkVSKSIsICIwIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29s
b3JWYWx1ZSgpLmJsdWUuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVS
KSIsICIwIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdi
YWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSIsICIn
bm9uZSciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidy
ZXBlYXQnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdi
YWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMykuZ2V0U3RyaW5nVmFsdWUoKSIsICIn
c2Nyb2xsJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLnRvU3RyaW5nKCkiLCAiJ1tvYmpl
Y3QgQ1NTVmFsdWVMaXN0XSciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSg0KS5pdGVtKDApLmdl
dEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsKK3No
b3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5p
dGVtKDEpLml0ZW0oMCkuaXRlbSg0KS5pdGVtKDEpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZl
VmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuaXRlbSgwKS5n
ZXRTdHJpbmdWYWx1ZSgpIiwgIidhdXRvJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDEpLmdl
dFN0cmluZ1ZhbHVlKCkiLCAiJ3BhZGRpbmctYm94JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVt
KDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2JvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY2hlY2tD
b21wdXRlZFN0eWxlVmFsdWUoKSIsICJ0cnVlIik7CisKIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQodGVzdENvbnRhaW5lcik7CiAKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445149</attachid>
            <date>2021-11-25 11:40:41 -0800</date>
            <delta_ts>2021-11-25 16:14:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111121-20211126084039.patch</filename>
            <type>text/plain</type>
            <size>14203</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRhZTk5MmMwODIyYzhh
YTljNTVlMmNhNTdlYjhkYjJlZjM5MTE0ZC4uYzFmOWZmMWFiZWM5YmNjYjU0MTE2YThhMzAxODA4
NTk4ZGQ0ZjQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTI1ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dAZ21haWwuY29tPgorCisgICAgICAgIFNlcmlhbGl6ZSBj
b21wdXRlZCBzdHlsZSBvZiBiYWNrZ3JvdW5kIHNob3J0aGFuZCB3aXRoIG11bHRpcGxlIGxheWVy
cyBjb3JyZWN0bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTExMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBOZXcgc3VidGVzdHMgYWRkZWQgdG8gZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNo
b3J0aGFuZAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpnZXRCYWNrZ3JvdW5k
U2hvcnRoYW5kVmFsdWUpOgorCiAyMDIxLTExLTI0ICBNYXR0IFdvb2Ryb3cgIDxtYXR0Lndvb2Ry
b3dAZ21haWwuY29tPgogCiAgICAgICAgIE1hc2sgdW5wcmVmaXgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNWRiMjhjZDdl
ODA1ZTU2OGNmZjA3NGZlNGJmMGE0MDliNWNhNWNiNC4uOTg3N2JjZWIwMjRkNmViZmU1NWJjYzli
Zjg5MGEzOTI0OTc0YWM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTQ0NTMsMTMgKzQ0NTMsNTIgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpzZXRQcm9wZXJ0eUludGVybmFs
KENTU1Byb3BlcnR5SUQKIAogUmVmPENTU1ZhbHVlTGlzdD4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6Z2V0QmFja2dyb3VuZFNob3J0aGFuZFZhbHVlKCkKIHsKLSAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0aWVzQmVmb3JlU2xhc2hTZXBlcmF0b3JbNV0gPSB7IENTU1Byb3Bl
cnR5QmFja2dyb3VuZENvbG9yLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSwgQ1NTUHJvcGVy
dHlCYWNrZ3JvdW5kUmVwZWF0LCBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50LCBDU1NQ
cm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvbiB9OworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0
eUlEIHByb3BlcnRpZXNCZWZvcmVTbGFzaFNlcGVyYXRvcls0XSA9IHsgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kSW1hZ2UsIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdCwgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kQXR0YWNobWVudCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb24gfTsKICAgICBz
dGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0aWVzQWZ0ZXJTbGFzaFNlcGVyYXRvclsz
XSA9IHsgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kT3Jp
Z2luLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRDbGlwIH07CiAKLSAgICBhdXRvIGxpc3QgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZVNsYXNoU2VwYXJhdGVkKCk7Ci0gICAgbGlzdC0+YXBwZW5kKGdldENT
U1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVByb3BlcnR5U2hvcnRo
YW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgcHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9y
KSkpOwotICAgIGxpc3QtPmFwcGVuZChnZXRDU1NQcm9wZXJ0eVZhbHVlc0ZvclNob3J0aGFuZFBy
b3BlcnRpZXMoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZChDU1NQcm9wZXJ0eUJhY2tncm91bmQsIHBy
b3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yKSkpOwotICAgIHJldHVybiBsaXN0OworICAgIGF1
dG8gYmdDb2xvciA9IHByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IsIERv
Tm90VXBkYXRlTGF5b3V0KTsKKyAgICBhdXRvIGJlZm9yZSA9IGdldENTU1Byb3BlcnR5VmFsdWVz
Rm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVByb3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5
QmFja2dyb3VuZCwgcHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yKSk7CisgICAgYXV0byBh
ZnRlciA9IGdldENTU1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgcHJvcGVydGllc0FmdGVyU2xh
c2hTZXBlcmF0b3IpKTsKKworICAgIC8vIFRoZSBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSByZXR1
cm5lZCBhcyBsaXN0cyBvZiBwcm9wZXJ0aWVzLCB3aXRoIGEgbGlzdCBvZiBsYXllcnMgaW4gZWFj
aC4KKyAgICAvLyBXZSB3YW50IHRvIHN3YXAgdGhhdCBhcm91bmQgdG8gaGF2ZSBhIGxpc3Qgb2Yg
bGF5ZXJzLCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGluIGVhY2guCisKKyAgICAvLyBGaW5k
IG91dCBob3cgbWFueSBsYXllcnMgdGhlcmUuIFByb3BlcnRpZXMgaG9sZCBhIGxpc3QgaWYgdGhl
cmUgYXJlIG11bHRpcGxlIGxheWVycywgb3RoZXJ3aXNlIHRoZXkgaG9sZAorICAgIC8vIHRoZSB2
YWx1ZSBkaXJlY3RseS4gV2UgbG9vayBhdCBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50
LCBzaW5jZSB0aGUgdmFsdWUgZm9yIHRoYXQgaXMgbmV2ZXIgYSBuZXN0ZWQKKyAgICAvLyBsaXN0
ZWQuCisgICAgc2l6ZV90IGxheWVyQ291bnQgPSBpczxDU1NWYWx1ZUxpc3Q+KCpiZWZvcmUtPml0
ZW0oMikpID8gZG93bmNhc3Q8Q1NTVmFsdWVMaXN0PigqYmVmb3JlLT5pdGVtKDIpKS5sZW5ndGgo
KSA6IDE7CisgICAgYXV0byBsYXllcnMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJh
dGVkKCk7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxheWVyQ291bnQ7IGkrKykgewor
ICAgICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNsYXNoU2VwYXJhdGVkKCk7
CisgICAgICAgIGF1dG8gYmVmb3JlTGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBh
cmF0ZWQoKTsKKworICAgICAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIGlzIGEgc2luZ2xldG9uLCBh
bmQgc2hvdWxkIG9ubHkgYmUgcHJlcGVuZGVkIHRvIHRoZSBsYXN0IGxheWVyLgorICAgICAgICBp
ZiAoaSArIDEgPT0gbGF5ZXJDb3VudCkKKyAgICAgICAgICAgIGJlZm9yZUxpc3QtPmFwcGVuZCgq
YmdDb2xvcik7CisKKyAgICAgICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBBUlJBWV9TSVpFKHBy
b3BlcnRpZXNCZWZvcmVTbGFzaFNlcGVyYXRvcik7IGorKykgeworICAgICAgICAgICAgYXV0byYg
dmFsdWUgPSAqYmVmb3JlLT5pdGVtKGopOworICAgICAgICAgICAgYmVmb3JlTGlzdC0+YXBwZW5k
KGxheWVyQ291bnQgPT0gMSA/IHZhbHVlIDogKmRvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUp
Lml0ZW0oaSkpOworICAgICAgICB9CisgICAgICAgIGxpc3QtPmFwcGVuZChiZWZvcmVMaXN0KTsK
KworICAgICAgICBhdXRvIGFmdGVyTGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBh
cmF0ZWQoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBBUlJBWV9TSVpFKHByb3Bl
cnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yKTsgaisrKSB7CisgICAgICAgICAgICBhdXRvJiB2YWx1
ZSA9ICphZnRlci0+aXRlbShqKTsKKyAgICAgICAgICAgIGFmdGVyTGlzdC0+YXBwZW5kKGxheWVy
Q291bnQgPT0gMSA/IHZhbHVlIDogKmRvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUpLml0ZW0o
aSkpOworICAgICAgICB9CisgICAgICAgIGxpc3QtPmFwcGVuZChhZnRlckxpc3QpOworCisgICAg
ICAgIC8vIElmIHRoZXJlIHdhcyBvbmx5IGEgc2luZ2xlIGxheWVyLCB0aGVuIGRvbid0IGJvdGhl
ciB3cmFwcGluZyBpbiB0aGUKKyAgICAgICAgLy8gbGF5ZXJzIGxpc3QuCisgICAgICAgIGlmIChs
YXllckNvdW50ID09IDEpCisgICAgICAgICAgICByZXR1cm4gbGlzdDsKKworICAgICAgICBsYXll
cnMtPmFwcGVuZChsaXN0KTsKKyAgICB9CisKKyAgICByZXR1cm4gbGF5ZXJzOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDUzN2UzZmFjYzM3MDExM2Y3NjM5NGJiZTIzMzVh
MjU0NzI0MmVhMC4uNzY4MjQ5MTFmMThkMWU3MTlhYWI3YmM5YjIyMzZjMGUxZGYzNGI0YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTExLTI1ICBNYXR0IFdvb2Ryb3cgIDxtYXR0Lndvb2Ry
b3dAZ21haWwuY29tPgorCisgICAgICAgIFNlcmlhbGl6ZSBjb21wdXRlZCBzdHlsZSBvZiBiYWNr
Z3JvdW5kIHNob3J0aGFuZCB3aXRoIG11bHRpcGxlIGxheWVycyBjb3JyZWN0bHkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTExMjEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0bWw6CisKIDIwMjEtMTEtMjQgIE1hdHQgV29vZHJv
dyAgPG1hdHQud29vZHJvd0BnbWFpbC5jb20+CiAKICAgICAgICAgTWFzayB1bnByZWZpeApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRl
ZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0
aGFuZC1leHBlY3RlZC50eHQKaW5kZXggMWUzMzI4NjFkNWYwYWNhZDQwN2Q5ZmU3MmZhMGNlYjM4
MGU2NTFjOC4uYWZhZmZhMTdlYTY4OGYyNWUxMzc0YmIyZTg3MzQ3NWY0YTA2MTA0MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9y
dGhhbmQtZXhwZWN0ZWQudHh0CkBAIC0xNzQsNiArMTc0LDM3IEBAIFBBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLmdldFN0
cmluZ1ZhCiBQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3Vu
ZCcpLml0ZW0oMSkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdib3JkZXItYm94JwogUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEp
Lml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAncGFkZGluZy1ib3gnCiBQQVNTIGNoZWNrQ29t
cHV0ZWRTdHlsZVZhbHVlKCkgaXMgdHJ1ZQorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
VmFsdWUoJ2JhY2tncm91bmQnKSBpcyAndXJsKCJkdW1teTovL3Rlc3QucG5nIikgcmVwZWF0IHNj
cm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveCwgcmdiKDI1NSwgMCwgMCkg
bm9uZSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94Jwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS50b1N0
cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQgaXMgJ3VybCgiZHVtbXk6Ly90
ZXN0LnBuZyIpIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1i
b3gsIHJnYigyNTUsIDAsIDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGlu
Zy1ib3ggYm9yZGVyLWJveCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykubGVuZ3RoIGlzIDIKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5sZW5ndGggaXMgMgorUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCku
bGVuZ3RoIGlzIDQKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLmxlbmd0aCBpcyAzCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDAp
LmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2R1bW15Oi8vdGVzdC5wbmcnCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVt
KDEpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3JlcGVhdCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMikuZ2V0
U3RyaW5nVmFsdWUoKSBpcyAnc2Nyb2xsJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS50b1N0cmluZygp
IGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDMpLml0ZW0oMCku
Z2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkgaXMgMAorUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDAp
Lml0ZW0oMCkuaXRlbSgzKS5pdGVtKDEpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUu
Q1NTX1BFUkNFTlRBR0UpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLml0ZW0oMCkuZ2V0U3RyaW5nVmFsdWUo
KSBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSBpcyAncGFk
ZGluZy1ib3gnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2JvcmRl
ci1ib3gnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3Vu
ZCcpLml0ZW0oMSkuaXRlbSgwKS5sZW5ndGggaXMgNQorUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkubGVuZ3RoIGlzIDMK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRl
bSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29sb3JWYWx1ZSgpLnJlZC5nZXRGbG9hdFZhbHVl
KENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDI1NQorUEFTUyBjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgw
KS5nZXRSR0JDb2xvclZhbHVlKCkuZ3JlZW4uZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1
ZS5DU1NfTlVNQkVSKSBpcyAwCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDApLmdldFJHQkNvbG9yVmFsdWUo
KS5ibHVlLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMAor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVt
KDEpLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdub25lJworUEFTUyBjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0o
MCkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdyZXBlYXQnCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVt
KDMpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3Njcm9sbCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oNCkudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSg0KS5p
dGVtKDApLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIGlz
IDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJyku
aXRlbSgxKS5pdGVtKDApLml0ZW0oNCkuaXRlbSgxKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2
ZVZhbHVlLkNTU19QRVJDRU5UQUdFKSBpcyAwCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDApLmdldFN0cmlu
Z1ZhbHVlKCkgaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDEpLmdldFN0cmluZ1ZhbHVlKCkg
aXMgJ3BhZGRpbmctYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgpIGlz
ICdib3JkZXItYm94JworUEFTUyBjaGVja0NvbXB1dGVkU3R5bGVWYWx1ZSgpIGlzIHRydWUKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxl
LWJhY2tncm91bmQtc2hvcnRoYW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21w
dXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQuaHRtbAppbmRl
eCBkMGIwZGYxYWNlY2Y2MWIyYmI0YTkwZWNjMjNmYzQ4MjYxMDZkYTU0Li41YTRjNmFmZDI1YTE1
YzE3MzZkYjE1MjNlN2E3NDFlZjY3YzNlN2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9ydGhh
bmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQuaHRtbApAQCAtMjE0LDYgKzIxNCw0MCBA
QCBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5k
JykuaXRlbSgxKS5pdGVtKDEpLmdldFN0cgogc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1
ZSgpIiwgIidwYWRkaW5nLWJveCciKTsKIHNob3VsZEJlKCJjaGVja0NvbXB1dGVkU3R5bGVWYWx1
ZSgpIiwgInRydWUiKTsKIAorCitlLnN0eWxlLmJhY2tncm91bmQgPSAidXJsKGR1bW15Oi8vdGVz
dC5wbmcpLCByZWQiOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
YmFja2dyb3VuZCcpIiwgIid1cmwoXCJkdW1teTovL3Rlc3QucG5nXCIpIHJlcGVhdCBzY3JvbGwg
MCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1ib3gsIHJnYigyNTUsIDAsIDApIG5vbmUg
cmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveCciKTsKK3No
b3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS50
b1N0cmluZygpIiwgIidbb2JqZWN0IENTU1ZhbHVlTGlzdF0nIik7CitzaG91bGRCZSgiY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIsICIndXJs
KFwiZHVtbXk6Ly90ZXN0LnBuZ1wiKSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5n
LWJveCBib3JkZXItYm94LCByZ2IoMjU1LCAwLCAwKSBub25lIHJlcGVhdCBzY3JvbGwgMCUgMCUg
LyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykubGVuZ3RoIiwgIjIiKTsKK3Nob3Vs
ZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVt
KDApLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLmxlbmd0aCIsICI0Iik7CitzaG91
bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRl
bSgwKS5pdGVtKDEpLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMCkuZ2V0
U3RyaW5nVmFsdWUoKSIsICInZHVtbXk6Ly90ZXN0LnBuZyciKTsKK3Nob3VsZEJlKCJjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCku
aXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidyZXBlYXQnIik7CitzaG91bGRCZSgiY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDAp
Lml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSIsICInc2Nyb2xsJyIpOworc2hvdWxkQmUoImNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgw
KS5pdGVtKDMpLnRvU3RyaW5nKCkiLCAiJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XSciKTsKK3Nob3Vs
ZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVt
KDApLml0ZW0oMCkuaXRlbSgzKS5pdGVtKDApLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFs
dWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS5pdGVt
KDEpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAi
KTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgwKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidhdXRvJyIp
Oworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3Vu
ZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDEpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ3BhZGRpbmct
Ym94JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFj
a2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2Jv
cmRlci1ib3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLmxlbmd0aCIsICI1Iik7CitzaG91bGRCZSgi
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5p
dGVtKDEpLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29s
b3JWYWx1ZSgpLnJlZC5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIp
IiwgIjI1NSIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDApLmdldFJHQkNvbG9yVmFsdWUoKS5n
cmVlbi5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIiwgIjAiKTsK
K3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgwKS5nZXRSR0JDb2xvclZhbHVlKCkuYmx1ZS5nZXRGbG9h
dFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIiwgIjAiKTsKK3Nob3VsZEJlKCJj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0
ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidub25lJyIpOworc2hvdWxkQmUoImNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRl
bSgwKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ3JlcGVhdCciKTsKK3Nob3VsZEJlKCJj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0
ZW0oMCkuaXRlbSgzKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidzY3JvbGwnIik7CitzaG91bGRCZSgi
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5p
dGVtKDApLml0ZW0oNCkudG9TdHJpbmcoKSIsICInW29iamVjdCBDU1NWYWx1ZUxpc3RdJyIpOwor
c2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcp
Lml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLml0ZW0oMCkuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRp
dmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkiLCAiMCIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQp
Lml0ZW0oMSkuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSki
LCAiMCIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFj
a2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDApLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2F1
dG8nIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSIsICIncGFk
ZGluZy1ib3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSIs
ICInYm9yZGVyLWJveCciKTsKK3Nob3VsZEJlKCJjaGVja0NvbXB1dGVkU3R5bGVWYWx1ZSgpIiwg
InRydWUiKTsKKwogZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsKIAog
PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445160</attachid>
            <date>2021-11-25 16:14:09 -0800</date>
            <delta_ts>2021-11-25 17:56:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111121-20211126131408.patch</filename>
            <type>text/plain</type>
            <size>16391</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y4MWQ1Mjg0MTUwMDQ5
MDVmNmQ1YWM1NTZiZTAyMDQzYjA1MjI5YS4uOTM1MDdlY2MxYTEzN2MyNGU1YzJkYjkyYWY3YmZk
ZGI1YjhiMWYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTI1ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dAZ21haWwuY29tPgorCisgICAgICAgIFNlcmlhbGl6ZSBj
b21wdXRlZCBzdHlsZSBvZiBiYWNrZ3JvdW5kIHNob3J0aGFuZCB3aXRoIG11bHRpcGxlIGxheWVy
cyBjb3JyZWN0bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTExMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBOZXcgc3VidGVzdHMgYWRkZWQgdG8gZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNo
b3J0aGFuZAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpnZXRCYWNrZ3JvdW5k
U2hvcnRoYW5kVmFsdWUpOgorCiAyMDIxLTExLTIyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEhhdmUgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFRvUG9z
aXRpb25XaXRoQW5pbWF0aW9uKCkgdGFrZSBhIGNsYW1waW5nIGFyZ3VtZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDA1
MTAwOGYwYTBiYjIyMjVjZGU1N2MyZjkyYTI4YzcwYjFlN2U5MzQuLmYxZDJmYjk4ZGExMjFkZTZm
NWQwNWM2N2RjZDQwMzcxNjY5MGU0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC00NDQ3LDE1ICs0NDQ3LDc5IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6c2V0UHJvcGVydHlJ
bnRlcm5hbChDU1NQcm9wZXJ0eUlECiAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vTW9kaWZpY2F0
aW9uQWxsb3dlZEVycm9yIH07CiB9CiAKK3NpemVfdCBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpn
ZXRMYXllckNvdW50KENTU1Byb3BlcnR5SUQgcHJvcGVydHkpCit7CisgICAgYXV0byogc3R5bGVk
RWxlbWVudCA9IHRoaXMtPnN0eWxlZEVsZW1lbnQoKTsKKyAgICBpZiAoIXN0eWxlZEVsZW1lbnQp
CisgICAgICAgIHJldHVybiAwOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBv
d25lZFN0eWxlOworICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbXB1dGVSZW5kZXJT
dHlsZUZvclByb3BlcnR5KCpzdHlsZWRFbGVtZW50LCBtX3BzZXVkb0VsZW1lbnRTcGVjaWZpZXIs
IHByb3BlcnR5LCBvd25lZFN0eWxlKTsKKyAgICBpZiAoIXN0eWxlKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIGF1dG8mIGxheWVycyA9IHByb3BlcnR5ID09IENTU1Byb3BlcnR5TWFzayA/IHN0
eWxlLT5tYXNrTGF5ZXJzKCkgOiBzdHlsZS0+YmFja2dyb3VuZExheWVycygpOworCisgICAgc2l6
ZV90IGxheWVyQ291bnQgPSAwOworICAgIGZvciAoYXV0byogY3VyckxheWVyID0gJmxheWVyczsg
Y3VyckxheWVyOyBjdXJyTGF5ZXIgPSBjdXJyTGF5ZXItPm5leHQoKSkKKyAgICAgICAgbGF5ZXJD
b3VudCsrOworICAgIHJldHVybiBsYXllckNvdW50OworfQorCitSZWY8Q1NTVmFsdWVMaXN0PiBD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjpnZXRCYWNrZ3JvdW5kUHJvcGVydHlTaG9ydGhhbmRWYWx1
ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBw
cm9wZXJ0aWVzQmVmb3JlU2xhc2hTZXBlcmF0b3IsIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIHByb3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yLCBDU1NQcm9wZXJ0eUlEIGxhc3RMYXll
clByb3BlcnR5KQoreworICAgIEFTU0VSVChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUJhY2tncm91
bmQgfHwgcHJvcGVydHkgPT0gQ1NTUHJvcGVydHlNYXNrKTsKKyAgICBzaXplX3QgbGF5ZXJDb3Vu
dCA9IGdldExheWVyQ291bnQocHJvcGVydHkpOworICAgIEFTU0VSVChsYXllckNvdW50KTsKKwor
ICAgIGF1dG8gYmdDb2xvciA9IGxhc3RMYXllclByb3BlcnR5ICE9IENTU1Byb3BlcnR5SW52YWxp
ZCA/IHByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IsIERvTm90VXBkYXRl
TGF5b3V0KSA6IG51bGxwdHI7CisgICAgYXV0byBiZWZvcmUgPSBnZXRDU1NQcm9wZXJ0eVZhbHVl
c0ZvclNob3J0aGFuZFByb3BlcnRpZXMocHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yKTsK
KyAgICBhdXRvIGFmdGVyID0gZ2V0Q1NTUHJvcGVydHlWYWx1ZXNGb3JTaG9ydGhhbmRQcm9wZXJ0
aWVzKHByb3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yKTsKKworICAgIC8vIFRoZSBjb21wdXRl
ZCBwcm9wZXJ0aWVzIGFyZSByZXR1cm5lZCBhcyBsaXN0cyBvZiBwcm9wZXJ0aWVzLCB3aXRoIGEg
bGlzdCBvZiBsYXllcnMgaW4gZWFjaC4KKyAgICAvLyBXZSB3YW50IHRvIHN3YXAgdGhhdCBhcm91
bmQgdG8gaGF2ZSBhIGxpc3Qgb2YgbGF5ZXJzLCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGlu
IGVhY2guCisKKyAgICBhdXRvIGxheWVycyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBh
cmF0ZWQoKTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGF5ZXJDb3VudDsgaSsrKSB7
CisgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU2xhc2hTZXBhcmF0ZWQo
KTsKKyAgICAgICAgYXV0byBiZWZvcmVMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNl
cGFyYXRlZCgpOworCisgICAgICAgIC8vIEJhY2tncm91bmQgY29sb3IgaXMgYSBzaW5nbGV0b24s
IGFuZCBzaG91bGQgb25seSBiZSBwcmVwZW5kZWQgdG8gdGhlIGxhc3QgbGF5ZXIuCisgICAgICAg
IGlmIChpID09IGxheWVyQ291bnQgLSAxICYmIGJnQ29sb3IpCisgICAgICAgICAgICBiZWZvcmVM
aXN0LT5hcHBlbmQoKmJnQ29sb3IpOworCisgICAgICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwg
cHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yLmxlbmd0aCgpOyBqKyspIHsKKyAgICAgICAg
ICAgIGF1dG8mIHZhbHVlID0gKmJlZm9yZS0+aXRlbShqKTsKKyAgICAgICAgICAgIGJlZm9yZUxp
c3QtPmFwcGVuZChsYXllckNvdW50ID09IDEgPyB2YWx1ZSA6ICpkb3duY2FzdDxDU1NWYWx1ZUxp
c3Q+KHZhbHVlKS5pdGVtKGkpKTsKKyAgICAgICAgfQorICAgICAgICBsaXN0LT5hcHBlbmQoYmVm
b3JlTGlzdCk7CisKKyAgICAgICAgYXV0byBhZnRlckxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0
ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgcHJvcGVy
dGllc0FmdGVyU2xhc2hTZXBlcmF0b3IubGVuZ3RoKCk7IGorKykgeworICAgICAgICAgICAgYXV0
byYgdmFsdWUgPSAqYWZ0ZXItPml0ZW0oaik7CisgICAgICAgICAgICBhZnRlckxpc3QtPmFwcGVu
ZChsYXllckNvdW50ID09IDEgPyB2YWx1ZSA6ICpkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KHZhbHVl
KS5pdGVtKGkpKTsKKyAgICAgICAgfQorICAgICAgICBsaXN0LT5hcHBlbmQoYWZ0ZXJMaXN0KTsK
KworICAgICAgICAvLyBJZiB0aGVyZSB3YXMgb25seSBhIHNpbmdsZSBsYXllciwgdGhlbiBkb24n
dCBib3RoZXIgd3JhcHBpbmcgaW4gdGhlCisgICAgICAgIC8vIGxheWVycyBsaXN0LgorICAgICAg
ICBpZiAobGF5ZXJDb3VudCA9PSAxKQorICAgICAgICAgICAgcmV0dXJuIGxpc3Q7CisKKyAgICAg
ICAgbGF5ZXJzLT5hcHBlbmQobGlzdCk7CisgICAgfQorCisgICAgcmV0dXJuIGxheWVyczsKK30K
KworCiBSZWY8Q1NTVmFsdWVMaXN0PiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpnZXRCYWNrZ3Jv
dW5kU2hvcnRoYW5kVmFsdWUoKQogewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIHBy
b3BlcnRpZXNCZWZvcmVTbGFzaFNlcGVyYXRvcls1XSA9IHsgQ1NTUHJvcGVydHlCYWNrZ3JvdW5k
Q29sb3IsIENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRS
ZXBlYXQsIENTU1Byb3BlcnR5QmFja2dyb3VuZEF0dGFjaG1lbnQsIENTU1Byb3BlcnR5QmFja2dy
b3VuZFBvc2l0aW9uIH07CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgcHJvcGVydGll
c0JlZm9yZVNsYXNoU2VwZXJhdG9yWzRdID0geyBDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSwg
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0LCBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2ht
ZW50LCBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvbiB9OwogICAgIHN0YXRpYyBjb25zdCBD
U1NQcm9wZXJ0eUlEIHByb3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9yWzNdID0geyBDU1NQcm9w
ZXJ0eUJhY2tncm91bmRTaXplLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRPcmlnaW4sIENTU1Byb3Bl
cnR5QmFja2dyb3VuZENsaXAgfTsKIAotICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3Jl
YXRlU2xhc2hTZXBhcmF0ZWQoKTsKLSAgICBsaXN0LT5hcHBlbmQoZ2V0Q1NTUHJvcGVydHlWYWx1
ZXNGb3JTaG9ydGhhbmRQcm9wZXJ0aWVzKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoQ1NTUHJvcGVy
dHlCYWNrZ3JvdW5kLCBwcm9wZXJ0aWVzQmVmb3JlU2xhc2hTZXBlcmF0b3IpKSk7Ci0gICAgbGlz
dC0+YXBwZW5kKGdldENTU1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhTdHls
ZVByb3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgcHJvcGVydGllc0FmdGVy
U2xhc2hTZXBlcmF0b3IpKSk7Ci0gICAgcmV0dXJuIGxpc3Q7CisgICAgcmV0dXJuIGdldEJhY2tn
cm91bmRQcm9wZXJ0eVNob3J0aGFuZFZhbHVlKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZChDU1NQcm9wZXJ0eUJhY2tncm91bmQsIHByb3BlcnRpZXNCZWZvcmVT
bGFzaFNlcGVyYXRvciksIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kLCBwcm9wZXJ0aWVzQWZ0ZXJTbGFzaFNlcGVyYXRvciksIENTU1Byb3BlcnR5QmFja2dyb3Vu
ZENvbG9yKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IGNkZDBjNGEzYzlmZWUw
Y2QxOTVhNTg1ZGY2NTIxODNmYWFkZTkyOWYuLjkxNzkyYzdlMjhiNmE3YjdjMWFiOWFkZjQ4OGM2
ZDlmZjNkOTc5ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmgKQEAgLTk2LDYgKzk2LDkgQEAgcHJpdmF0ZToKICAgICBSZWY8Q1NTVmFs
dWVMaXN0PiBnZXRDU1NQcm9wZXJ0eVZhbHVlc0ZvclNob3J0aGFuZFByb3BlcnRpZXMoY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYpOwogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGdldENT
U1Byb3BlcnR5VmFsdWVzRm9yMlNpZGVzU2hvcnRoYW5kKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9y
dGhhbmQmKTsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBnZXRDU1NQcm9wZXJ0eVZhbHVlc0Zv
cjRTaWRlc1Nob3J0aGFuZChjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJik7CisKKyAgICBz
aXplX3QgZ2V0TGF5ZXJDb3VudChDU1NQcm9wZXJ0eUlEKTsKKyAgICBSZWY8Q1NTVmFsdWVMaXN0
PiBnZXRCYWNrZ3JvdW5kUHJvcGVydHlTaG9ydGhhbmRWYWx1ZShDU1NQcm9wZXJ0eUlELCBjb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBwcm9wZXJ0aWVzQmVmb3JlU2xhc2hTZXBlcmF0b3Is
IGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHByb3BlcnRpZXNBZnRlclNsYXNoU2VwZXJh
dG9yLCBDU1NQcm9wZXJ0eUlEIGxhc3RMYXllclByb3BlcnR5KTsKICAgICBSZWY8Q1NTVmFsdWVM
aXN0PiBnZXRCYWNrZ3JvdW5kU2hvcnRoYW5kVmFsdWUoKTsKICAgICBSZWY8Q1NTVmFsdWVMaXN0
PiBnZXRDU1NQcm9wZXJ0eVZhbHVlc0ZvckdyaWRTaG9ydGhhbmQoY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWI3NzcxODAwNjJjYThlZDE3MTlhNWE4ZmRkYTE4Mzhj
OThmZmI1My4uZTRmYTczNWI5Y2U3NWZjNTIxMjA1OTU5YWE1Mjc3NzZmNzk4YmJmZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDIxLTExLTI1ICBNYXR0IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dA
Z21haWwuY29tPgorCisgICAgICAgIFNlcmlhbGl6ZSBjb21wdXRlZCBzdHlsZSBvZiBiYWNrZ3Jv
dW5kIHNob3J0aGFuZCB3aXRoIG11bHRpcGxlIGxheWVycyBjb3JyZWN0bHkuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTExMjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxl
LWJhY2tncm91bmQtc2hvcnRoYW5kLmh0bWw6CisKIDIwMjEtMTEtMjIgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICByZW0gaW4gbWVkaWEgcXVlcmll
cyBzaG91bGQgYmUgY2FsY3VsYXRlZCB1c2luZyBmb250LXNpemU6aW5pdGlhbCwgbm90IHJvb3Qg
ZWxlbWVudCBmb250LXNpemUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVk
U3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CmluZGV4IDFlMzMyODYxZDVm
MGFjYWQ0MDdkOWZlNzJmYTBjZWIzODBlNjUxYzguLmFmYWZmYTE3ZWE2ODhmMjVlMTM3NGJiMmU4
NzM0NzVmNGEwNjEwNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRl
ZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dApAQCAtMTc0LDYgKzE3NCwz
NyBAQCBQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcp
Lml0ZW0oMSkuaXRlbSgwKS5nZXRTdHJpbmdWYQogUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUo
KSBpcyAnYm9yZGVyLWJveCcKIFBBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3BhZGRp
bmctYm94JwogUEFTUyBjaGVja0NvbXB1dGVkU3R5bGVWYWx1ZSgpIGlzIHRydWUKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kJykgaXMgJ3VybCgiZHVtbXk6
Ly90ZXN0LnBuZyIpIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRl
ci1ib3gsIHJnYigyNTUsIDAsIDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFk
ZGluZy1ib3ggYm9yZGVyLWJveCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NU
ZXh0IGlzICd1cmwoImR1bW15Oi8vdGVzdC5wbmciKSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0
byBwYWRkaW5nLWJveCBib3JkZXItYm94LCByZ2IoMjU1LCAwLCAwKSBub25lIHJlcGVhdCBzY3Jv
bGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1ib3gnCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmxlbmd0aCBpcyAyCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkubGVu
Z3RoIGlzIDIKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuaXRlbSgwKS5pdGVtKDApLmxlbmd0aCBpcyA0CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5sZW5ndGggaXMg
MworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5p
dGVtKDApLml0ZW0oMCkuaXRlbSgwKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdkdW1teTovL3Rlc3Qu
cG5nJworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDApLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdyZXBlYXQnCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0o
MCkuaXRlbSgwKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3Njcm9sbCcKK1BBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVt
KDApLml0ZW0oMykudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0
ZW0oMCkuaXRlbSgzKS5pdGVtKDApLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NT
X1BFUkNFTlRBR0UpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMykuaXRlbSgxKS5nZXRGbG9hdFZh
bHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19QRVJDRU5UQUdFKSBpcyAwCitQQVNTIGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5p
dGVtKDApLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDEpLmdl
dFN0cmluZ1ZhbHVlKCkgaXMgJ3BhZGRpbmctYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgyKS5nZXRT
dHJpbmdWYWx1ZSgpIGlzICdib3JkZXItYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkubGVuZ3RoIGlzIDUKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgx
KS5pdGVtKDEpLmxlbmd0aCBpcyAzCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDApLmdldFJHQkNvbG9yVmFs
dWUoKS5yZWQuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAy
NTUKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJyku
aXRlbSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29sb3JWYWx1ZSgpLmdyZWVuLmdldEZsb2F0
VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMAorUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRl
bSgwKS5nZXRSR0JDb2xvclZhbHVlKCkuYmx1ZS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlLkNTU19OVU1CRVIpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUo
KSBpcyAnbm9uZScKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAncmVw
ZWF0JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgzKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdzY3JvbGwnCitQ
QVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0o
MSkuaXRlbSgwKS5pdGVtKDQpLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XScK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRl
bSgxKS5pdGVtKDApLml0ZW0oNCkuaXRlbSgwKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlLkNTU19QRVJDRU5UQUdFKSBpcyAwCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLml0ZW0oMSkuZ2V0
RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkgaXMgMAorUEFTUyBj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0
ZW0oMSkuaXRlbSgwKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdhdXRvJworUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuaXRl
bSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdwYWRkaW5nLWJveCcKK1BBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLml0ZW0o
MikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAnYm9yZGVyLWJveCcKK1BBU1MgY2hlY2tDb21wdXRlZFN0
eWxlVmFsdWUoKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5kLXNob3J0aGFuZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91
bmQtc2hvcnRoYW5kLmh0bWwKaW5kZXggZDBiMGRmMWFjZWNmNjFiMmJiNGE5MGVjYzIzZmM0ODI2
MTA2ZGE1NC4uNWE0YzZhZmQyNWExNWMxNzM2ZGIxNTIzZTdhNzQxZWY2N2MzZTdiMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0
bWwKQEAgLTIxNCw2ICsyMTQsNDAgQEAgc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5nZXRTdHIKIHNob3VsZEJl
KCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEp
Lml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSIsICIncGFkZGluZy1ib3gnIik7CiBzaG91bGRCZSgi
Y2hlY2tDb21wdXRlZFN0eWxlVmFsdWUoKSIsICJ0cnVlIik7CiAKKworZS5zdHlsZS5iYWNrZ3Jv
dW5kID0gInVybChkdW1teTovL3Rlc3QucG5nKSwgcmVkIjsKK3Nob3VsZEJlKCJjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQnKSIsICIndXJsKFwiZHVtbXk6Ly90ZXN0
LnBuZ1wiKSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94
LCByZ2IoMjU1LCAwLCAwKSBub25lIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmct
Ym94IGJvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykudG9TdHJpbmcoKSIsICInW29iamVjdCBDU1NWYWx1ZUxpc3Rd
JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLmNzc1RleHQiLCAiJ3VybChcImR1bW15Oi8vdGVzdC5wbmdcIikgcmVwZWF0IHNjcm9s
bCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveCwgcmdiKDI1NSwgMCwgMCkgbm9u
ZSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94JyIpOwor
c2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcp
Lmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoImNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgw
KS5sZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5sZW5ndGgiLCAiMyIpOworc2hvdWxk
QmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0o
MCkuaXRlbSgwKS5pdGVtKDApLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2R1bW15Oi8vdGVzdC5wbmcn
Iik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSIsICIncmVwZWF0
JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ3Njcm9s
bCciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tn
cm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS50b1N0cmluZygpIiwgIidbb2JqZWN0IENT
U1ZhbHVlTGlzdF0nIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0ZW0oMykuaXRlbSgwKS5nZXRGbG9h
dFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19QRVJDRU5UQUdFKSIsICIwIik7CitzaG91bGRC
ZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgw
KS5pdGVtKDApLml0ZW0oMykuaXRlbSgxKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVl
LkNTU19QRVJDRU5UQUdFKSIsICIwIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLml0ZW0oMCkuZ2V0U3Ry
aW5nVmFsdWUoKSIsICInYXV0byciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgxKS5nZXRTdHJp
bmdWYWx1ZSgpIiwgIidwYWRkaW5nLWJveCciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgyKS5n
ZXRTdHJpbmdWYWx1ZSgpIiwgIidib3JkZXItYm94JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5sZW5n
dGgiLCAiNSIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoImNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRl
bSgwKS5pdGVtKDApLmdldFJHQkNvbG9yVmFsdWUoKS5yZWQuZ2V0RmxvYXRWYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIyNTUiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgw
KS5nZXRSR0JDb2xvclZhbHVlKCkuZ3JlZW4uZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1
ZS5DU1NfTlVNQkVSKSIsICIwIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29s
b3JWYWx1ZSgpLmJsdWUuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVS
KSIsICIwIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdi
YWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUoKSIsICIn
bm9uZSciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidy
ZXBlYXQnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdi
YWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMykuZ2V0U3RyaW5nVmFsdWUoKSIsICIn
c2Nyb2xsJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLnRvU3RyaW5nKCkiLCAiJ1tvYmpl
Y3QgQ1NTVmFsdWVMaXN0XSciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSg0KS5pdGVtKDApLmdl
dEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsKK3No
b3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5p
dGVtKDEpLml0ZW0oMCkuaXRlbSg0KS5pdGVtKDEpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZl
VmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuaXRlbSgwKS5n
ZXRTdHJpbmdWYWx1ZSgpIiwgIidhdXRvJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDEpLmdl
dFN0cmluZ1ZhbHVlKCkiLCAiJ3BhZGRpbmctYm94JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVt
KDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ2JvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY2hlY2tD
b21wdXRlZFN0eWxlVmFsdWUoKSIsICJ0cnVlIik7CisKIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQodGVzdENvbnRhaW5lcik7CiAKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445165</attachid>
            <date>2021-11-25 17:56:09 -0800</date>
            <delta_ts>2021-11-28 14:24:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111121-20211126145608.patch</filename>
            <type>text/plain</type>
            <size>16378</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y4MWQ1Mjg0MTUwMDQ5
MDVmNmQ1YWM1NTZiZTAyMDQzYjA1MjI5YS4uMDI3YjcyMzQwNzliZTdiMmM4MzM3ODEwYTQxYzQ5
MDE4YmJjNTI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTI1ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0Lndvb2Ryb3dAZ21haWwuY29tPgorCisgICAgICAgIFNlcmlhbGl6ZSBj
b21wdXRlZCBzdHlsZSBvZiBiYWNrZ3JvdW5kIHNob3J0aGFuZCB3aXRoIG11bHRpcGxlIGxheWVy
cyBjb3JyZWN0bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTExMjEKKworICAgICAgICBSZXZpZXdlZCBieSBDYW1lcm9uIE1jQ29ybWFjay4KKwor
ICAgICAgICBOZXcgc3VidGVzdHMgYWRkZWQgdG8gZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3JvdW5k
LXNob3J0aGFuZAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpnZXRCYWNrZ3Jv
dW5kU2hvcnRoYW5kVmFsdWUpOgorCiAyMDIxLTExLTIyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEhhdmUgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFRv
UG9zaXRpb25XaXRoQW5pbWF0aW9uKCkgdGFrZSBhIGNsYW1waW5nIGFyZ3VtZW50CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4
IDA1MTAwOGYwYTBiYjIyMjVjZGU1N2MyZjkyYTI4YzcwYjFlN2U5MzQuLjQ5YTMxNjU3ODI1OGIz
Njg4MDUyNjg4Y2FmZjZmMGY4ZmNiMmVjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC00NDQ3LDE1ICs0NDQ3LDc2IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6c2V0UHJvcGVy
dHlJbnRlcm5hbChDU1NQcm9wZXJ0eUlECiAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vTW9kaWZp
Y2F0aW9uQWxsb3dlZEVycm9yIH07CiB9CiAKK3NpemVfdCBDb21wdXRlZFN0eWxlRXh0cmFjdG9y
OjpnZXRMYXllckNvdW50KENTU1Byb3BlcnR5SUQgcHJvcGVydHkpCit7CisgICAgQVNTRVJUKHBy
b3BlcnR5ID09IENTU1Byb3BlcnR5QmFja2dyb3VuZCB8fCBwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0
eU1hc2spOworICAgIGlmICghc3R5bGVkRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gb3duZWRTdHlsZTsKKyAgICBjb25zdCBS
ZW5kZXJTdHlsZSogc3R5bGUgPSBjb21wdXRlUmVuZGVyU3R5bGVGb3JQcm9wZXJ0eSgqc3R5bGVk
RWxlbWVudCgpLCBtX3BzZXVkb0VsZW1lbnRTcGVjaWZpZXIsIHByb3BlcnR5LCBvd25lZFN0eWxl
KTsKKyAgICBpZiAoIXN0eWxlKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGF1dG8mIGxheWVy
cyA9IHByb3BlcnR5ID09IENTU1Byb3BlcnR5TWFzayA/IHN0eWxlLT5tYXNrTGF5ZXJzKCkgOiBz
dHlsZS0+YmFja2dyb3VuZExheWVycygpOworCisgICAgc2l6ZV90IGxheWVyQ291bnQgPSAwOwor
ICAgIGZvciAoYXV0byogY3VyckxheWVyID0gJmxheWVyczsgY3VyckxheWVyOyBjdXJyTGF5ZXIg
PSBjdXJyTGF5ZXItPm5leHQoKSkKKyAgICAgICAgbGF5ZXJDb3VudCsrOworICAgIHJldHVybiBs
YXllckNvdW50OworfQorCitSZWY8Q1NTVmFsdWVMaXN0PiBDb21wdXRlZFN0eWxlRXh0cmFjdG9y
OjpnZXRGaWxsTGF5ZXJQcm9wZXJ0eVNob3J0aGFuZFZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVy
dHksIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHByb3BlcnRpZXNCZWZvcmVTbGFzaFNl
cGFyYXRvciwgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgcHJvcGVydGllc0FmdGVyU2xh
c2hTZXBhcmF0b3IsIENTU1Byb3BlcnR5SUQgbGFzdExheWVyUHJvcGVydHkpCit7CisgICAgQVNT
RVJUKHByb3BlcnR5ID09IENTU1Byb3BlcnR5QmFja2dyb3VuZCB8fCBwcm9wZXJ0eSA9PSBDU1NQ
cm9wZXJ0eU1hc2spOworICAgIHNpemVfdCBsYXllckNvdW50ID0gZ2V0TGF5ZXJDb3VudChwcm9w
ZXJ0eSk7CisgICAgQVNTRVJUKGxheWVyQ291bnQpOworCisgICAgYXV0byBsYXN0VmFsdWUgPSBs
YXN0TGF5ZXJQcm9wZXJ0eSAhPSBDU1NQcm9wZXJ0eUludmFsaWQgPyBwcm9wZXJ0eVZhbHVlKGxh
c3RMYXllclByb3BlcnR5LCBEb05vdFVwZGF0ZUxheW91dCkgOiBudWxscHRyOworICAgIGF1dG8g
YmVmb3JlID0gZ2V0Q1NTUHJvcGVydHlWYWx1ZXNGb3JTaG9ydGhhbmRQcm9wZXJ0aWVzKHByb3Bl
cnRpZXNCZWZvcmVTbGFzaFNlcGFyYXRvcik7CisgICAgYXV0byBhZnRlciA9IGdldENTU1Byb3Bl
cnR5VmFsdWVzRm9yU2hvcnRoYW5kUHJvcGVydGllcyhwcm9wZXJ0aWVzQWZ0ZXJTbGFzaFNlcGFy
YXRvcik7CisKKyAgICAvLyBUaGUgY29tcHV0ZWQgcHJvcGVydGllcyBhcmUgcmV0dXJuZWQgYXMg
bGlzdHMgb2YgcHJvcGVydGllcywgd2l0aCBhIGxpc3Qgb2YgbGF5ZXJzIGluIGVhY2guCisgICAg
Ly8gV2Ugd2FudCB0byBzd2FwIHRoYXQgYXJvdW5kIHRvIGhhdmUgYSBsaXN0IG9mIGxheWVycywg
d2l0aCBhIGxpc3Qgb2YgcHJvcGVydGllcyBpbiBlYWNoLgorCisgICAgYXV0byBsYXllcnMgPSBD
U1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGxheWVyQ291bnQ7IGkrKykgeworICAgICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1
ZUxpc3Q6OmNyZWF0ZVNsYXNoU2VwYXJhdGVkKCk7CisgICAgICAgIGF1dG8gYmVmb3JlTGlzdCA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKworICAgICAgICBpZiAoaSA9
PSBsYXllckNvdW50IC0gMSAmJiBsYXN0VmFsdWUpCisgICAgICAgICAgICBiZWZvcmVMaXN0LT5h
cHBlbmQoKmxhc3RWYWx1ZSk7CisKKyAgICAgICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBwcm9w
ZXJ0aWVzQmVmb3JlU2xhc2hTZXBhcmF0b3IubGVuZ3RoKCk7IGorKykgeworICAgICAgICAgICAg
YXV0byYgdmFsdWUgPSAqYmVmb3JlLT5pdGVtKGopOworICAgICAgICAgICAgYmVmb3JlTGlzdC0+
YXBwZW5kKGxheWVyQ291bnQgPT0gMSA/IHZhbHVlIDogKmRvd25jYXN0PENTU1ZhbHVlTGlzdD4o
dmFsdWUpLml0ZW0oaSkpOworICAgICAgICB9CisgICAgICAgIGxpc3QtPmFwcGVuZChiZWZvcmVM
aXN0KTsKKworICAgICAgICBhdXRvIGFmdGVyTGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3Bh
Y2VTZXBhcmF0ZWQoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBwcm9wZXJ0aWVz
QWZ0ZXJTbGFzaFNlcGFyYXRvci5sZW5ndGgoKTsgaisrKSB7CisgICAgICAgICAgICBhdXRvJiB2
YWx1ZSA9ICphZnRlci0+aXRlbShqKTsKKyAgICAgICAgICAgIGFmdGVyTGlzdC0+YXBwZW5kKGxh
eWVyQ291bnQgPT0gMSA/IHZhbHVlIDogKmRvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUpLml0
ZW0oaSkpOworICAgICAgICB9CisgICAgICAgIGxpc3QtPmFwcGVuZChhZnRlckxpc3QpOworCisg
ICAgICAgIGlmIChsYXllckNvdW50ID09IDEpCisgICAgICAgICAgICByZXR1cm4gbGlzdDsKKwor
ICAgICAgICBsYXllcnMtPmFwcGVuZChsaXN0KTsKKyAgICB9CisKKyAgICByZXR1cm4gbGF5ZXJz
OworfQorCisKIFJlZjxDU1NWYWx1ZUxpc3Q+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OmdldEJh
Y2tncm91bmRTaG9ydGhhbmRWYWx1ZSgpCiB7Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5
SUQgcHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yWzVdID0geyBDU1NQcm9wZXJ0eUJhY2tn
cm91bmRDb2xvciwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UsIENTU1Byb3BlcnR5QmFja2dy
b3VuZFJlcGVhdCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQXR0YWNobWVudCwgQ1NTUHJvcGVydHlC
YWNrZ3JvdW5kUG9zaXRpb24gfTsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBwcm9w
ZXJ0aWVzQWZ0ZXJTbGFzaFNlcGVyYXRvclszXSA9IHsgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6
ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kT3JpZ2luLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRDbGlw
IH07CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgcHJvcGVydGllc0JlZm9yZVNsYXNo
U2VwYXJhdG9yW10gPSB7IENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlLCBDU1NQcm9wZXJ0eUJh
Y2tncm91bmRSZXBlYXQsIENTU1Byb3BlcnR5QmFja2dyb3VuZEF0dGFjaG1lbnQsIENTU1Byb3Bl
cnR5QmFja2dyb3VuZFBvc2l0aW9uIH07CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQg
cHJvcGVydGllc0FmdGVyU2xhc2hTZXBhcmF0b3JbXSA9IHsgQ1NTUHJvcGVydHlCYWNrZ3JvdW5k
U2l6ZSwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kT3JpZ2luLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRD
bGlwIH07CiAKLSAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNsYXNoU2VwYXJh
dGVkKCk7Ci0gICAgbGlzdC0+YXBwZW5kKGdldENTU1Byb3BlcnR5VmFsdWVzRm9yU2hvcnRoYW5k
UHJvcGVydGllcyhTdHlsZVByb3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5QmFja2dyb3VuZCwg
cHJvcGVydGllc0JlZm9yZVNsYXNoU2VwZXJhdG9yKSkpOwotICAgIGxpc3QtPmFwcGVuZChnZXRD
U1NQcm9wZXJ0eVZhbHVlc0ZvclNob3J0aGFuZFByb3BlcnRpZXMoU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZChDU1NQcm9wZXJ0eUJhY2tncm91bmQsIHByb3BlcnRpZXNBZnRlclNsYXNoU2VwZXJhdG9y
KSkpOwotICAgIHJldHVybiBsaXN0OworICAgIHJldHVybiBnZXRGaWxsTGF5ZXJQcm9wZXJ0eVNo
b3J0aGFuZFZhbHVlKENTU1Byb3BlcnR5QmFja2dyb3VuZCwgU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZChDU1NQcm9wZXJ0eUJhY2tncm91bmQsIHByb3BlcnRpZXNCZWZvcmVTbGFzaFNlcGFyYXRvciks
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kLCBwcm9wZXJ0aWVz
QWZ0ZXJTbGFzaFNlcGFyYXRvciksIENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IGNkZDBjNGEzYzlmZWUwY2QxOTVhNTg1ZGY2NTIx
ODNmYWFkZTkyOWYuLmQyNjE0MTVjZDdhNDk3MTMwMGEwN2Q2ZGNjODhiODgzZmEyZDNkNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgK
QEAgLTk2LDYgKzk2LDkgQEAgcHJpdmF0ZToKICAgICBSZWY8Q1NTVmFsdWVMaXN0PiBnZXRDU1NQ
cm9wZXJ0eVZhbHVlc0ZvclNob3J0aGFuZFByb3BlcnRpZXMoY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYpOwogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGdldENTU1Byb3BlcnR5VmFsdWVz
Rm9yMlNpZGVzU2hvcnRoYW5kKGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmKTsKICAgICBS
ZWZQdHI8Q1NTVmFsdWVMaXN0PiBnZXRDU1NQcm9wZXJ0eVZhbHVlc0ZvcjRTaWRlc1Nob3J0aGFu
ZChjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJik7CisKKyAgICBzaXplX3QgZ2V0TGF5ZXJD
b3VudChDU1NQcm9wZXJ0eUlEKTsKKyAgICBSZWY8Q1NTVmFsdWVMaXN0PiBnZXRGaWxsTGF5ZXJQ
cm9wZXJ0eVNob3J0aGFuZFZhbHVlKENTU1Byb3BlcnR5SUQsIGNvbnN0IFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQmIHByb3BlcnRpZXNCZWZvcmVTbGFzaFNlcGFyYXRvciwgY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgcHJvcGVydGllc0FmdGVyU2xhc2hTZXBhcmF0b3IsIENTU1Byb3BlcnR5
SUQgbGFzdExheWVyUHJvcGVydHkpOwogICAgIFJlZjxDU1NWYWx1ZUxpc3Q+IGdldEJhY2tncm91
bmRTaG9ydGhhbmRWYWx1ZSgpOwogICAgIFJlZjxDU1NWYWx1ZUxpc3Q+IGdldENTU1Byb3BlcnR5
VmFsdWVzRm9yR3JpZFNob3J0aGFuZChjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJik7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYjc3NzE4MDA2MmNhOGVkMTcxOWE1YThmZGRhMTgzOGM5OGZmYjUzLi43N2U1YzMy
OWViMjczZmI0MjU5ZDJmODk0NWQ0MjU3NWFiYTM2NzY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMjEtMTEtMjUgIE1hdHQgV29vZHJvdyAgPG1hdHQud29vZHJvd0BnbWFpbC5jb20+CisKKyAg
ICAgICAgU2VyaWFsaXplIGNvbXB1dGVkIHN0eWxlIG9mIGJhY2tncm91bmQgc2hvcnRoYW5kIHdp
dGggbXVsdGlwbGUgbGF5ZXJzIGNvcnJlY3RseS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTEyMQorCisgICAgICAgIFJldmlld2VkIGJ5IENhbWVy
b24gTWNDb3JtYWNrLgorCisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1z
aG9ydGhhbmQuaHRtbDoKKwogMjAyMS0xMS0yMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgogCiAgICAgICAgIHJlbSBpbiBtZWRpYSBxdWVyaWVzIHNob3VsZCBiZSBj
YWxjdWxhdGVkIHVzaW5nIGZvbnQtc2l6ZTppbml0aWFsLCBub3Qgcm9vdCBlbGVtZW50IGZvbnQt
c2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9n
ZXRDb21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1iYWNrZ3Jv
dW5kLXNob3J0aGFuZC1leHBlY3RlZC50eHQKaW5kZXggMWUzMzI4NjFkNWYwYWNhZDQwN2Q5ZmU3
MmZhMGNlYjM4MGU2NTFjOC4uYWZhZmZhMTdlYTY4OGYyNWUxMzc0YmIyZTg3MzQ3NWY0YTA2MTA0
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dy
b3VuZC1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CkBAIC0xNzQsNiArMTc0LDM3IEBAIFBBU1MgY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVt
KDApLmdldFN0cmluZ1ZhCiBQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdib3JkZXIt
Ym94JwogUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDEpLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAncGFkZGluZy1ib3gnCiBQQVNT
IGNoZWNrQ29tcHV0ZWRTdHlsZVZhbHVlKCkgaXMgdHJ1ZQorUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQnKSBpcyAndXJsKCJkdW1teTovL3Rlc3QucG5nIikg
cmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveCwgcmdiKDI1
NSwgMCwgMCkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3Jk
ZXItYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS50b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQgaXMgJ3VybCgi
ZHVtbXk6Ly90ZXN0LnBuZyIpIHJlcGVhdCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94
IGJvcmRlci1ib3gsIHJnYigyNTUsIDAsIDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1
dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveCcKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykubGVuZ3RoIGlzIDIKK1BBU1MgY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5sZW5ndGggaXMgMgorUEFT
UyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDAp
Lml0ZW0oMCkubGVuZ3RoIGlzIDQKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLmxlbmd0aCBpcyAzCitQQVNTIGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgw
KS5pdGVtKDApLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2R1bW15Oi8vdGVzdC5wbmcnCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRl
bSgwKS5pdGVtKDEpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3JlcGVhdCcKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0
ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSBpcyAnc2Nyb2xsJworUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS50
b1N0cmluZygpIGlzICdbb2JqZWN0IENTU1ZhbHVlTGlzdF0nCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgwKS5pdGVtKDMp
Lml0ZW0oMCkuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkg
aXMgMAorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS5pdGVtKDEpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0
aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLml0ZW0oMCkuZ2V0U3Ry
aW5nVmFsdWUoKSBpcyAnYXV0bycKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDEpLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUo
KSBpcyAncGFkZGluZy1ib3gnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkg
aXMgJ2JvcmRlci1ib3gnCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5sZW5ndGggaXMgNQorUEFTUyBjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkubGVu
Z3RoIGlzIDMKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMCkuZ2V0UkdCQ29sb3JWYWx1ZSgpLnJlZC5nZXRG
bG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDI1NQorUEFTUyBjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0o
MCkuaXRlbSgwKS5nZXRSR0JDb2xvclZhbHVlKCkuZ3JlZW4uZ2V0RmxvYXRWYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAwCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDApLmdldFJHQkNv
bG9yVmFsdWUoKS5ibHVlLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJF
UikgaXMgMAorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdub25lJwor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVt
KDEpLml0ZW0oMCkuaXRlbSgyKS5nZXRTdHJpbmdWYWx1ZSgpIGlzICdyZXBlYXQnCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRl
bSgwKS5pdGVtKDMpLmdldFN0cmluZ1ZhbHVlKCkgaXMgJ3Njcm9sbCcKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0
ZW0oNCkudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NWYWx1ZUxpc3RdJworUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCku
aXRlbSg0KS5pdGVtKDApLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNF
TlRBR0UpIGlzIDAKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oNCkuaXRlbSgxKS5nZXRGbG9hdFZhbHVlKENT
U1ByaW1pdGl2ZVZhbHVlLkNTU19QRVJDRU5UQUdFKSBpcyAwCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDAp
LmdldFN0cmluZ1ZhbHVlKCkgaXMgJ2F1dG8nCitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDEpLmdldFN0cmlu
Z1ZhbHVlKCkgaXMgJ3BhZGRpbmctYm94JworUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMSkuaXRlbSgyKS5nZXRTdHJpbmdW
YWx1ZSgpIGlzICdib3JkZXItYm94JworUEFTUyBjaGVja0NvbXB1dGVkU3R5bGVWYWx1ZSgpIGlz
IHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21w
dXRlZFN0eWxlLWJhY2tncm91bmQtc2hvcnRoYW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQu
aHRtbAppbmRleCBkMGIwZGYxYWNlY2Y2MWIyYmI0YTkwZWNjMjNmYzQ4MjYxMDZkYTU0Li41YTRj
NmFmZDI1YTE1YzE3MzZkYjE1MjNlN2E3NDFlZjY3YzNlN2IzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3Vu
ZC1zaG9ydGhhbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtYmFja2dyb3VuZC1zaG9ydGhhbmQuaHRtbApAQCAtMjE0LDYg
KzIxNCw0MCBAQCBzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdi
YWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLmdldFN0cgogc2hvdWxkQmUoImNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgyKS5nZXRT
dHJpbmdWYWx1ZSgpIiwgIidwYWRkaW5nLWJveCciKTsKIHNob3VsZEJlKCJjaGVja0NvbXB1dGVk
U3R5bGVWYWx1ZSgpIiwgInRydWUiKTsKIAorCitlLnN0eWxlLmJhY2tncm91bmQgPSAidXJsKGR1
bW15Oi8vdGVzdC5wbmcpLCByZWQiOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnYmFja2dyb3VuZCcpIiwgIid1cmwoXCJkdW1teTovL3Rlc3QucG5nXCIpIHJlcGVh
dCBzY3JvbGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1ib3gsIHJnYigyNTUsIDAs
IDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJv
eCciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tn
cm91bmQnKS50b1N0cmluZygpIiwgIidbb2JqZWN0IENTU1ZhbHVlTGlzdF0nIik7CitzaG91bGRC
ZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4
dCIsICIndXJsKFwiZHVtbXk6Ly90ZXN0LnBuZ1wiKSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0
byBwYWRkaW5nLWJveCBib3JkZXItYm94LCByZ2IoMjU1LCAwLCAwKSBub25lIHJlcGVhdCBzY3Jv
bGwgMCUgMCUgLyBhdXRvIHBhZGRpbmctYm94IGJvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykubGVuZ3RoIiwgIjIi
KTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS5pdGVtKDApLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLmxlbmd0aCIsICI0
Iik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuaXRlbSgwKS5pdGVtKDEpLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgiY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgwKS5pdGVtKDApLml0
ZW0oMCkuZ2V0U3RyaW5nVmFsdWUoKSIsICInZHVtbXk6Ly90ZXN0LnBuZyciKTsKK3Nob3VsZEJl
KCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDAp
Lml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidyZXBlYXQnIik7CitzaG91bGRC
ZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgw
KS5pdGVtKDApLml0ZW0oMikuZ2V0U3RyaW5nVmFsdWUoKSIsICInc2Nyb2xsJyIpOworc2hvdWxk
QmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0o
MCkuaXRlbSgwKS5pdGVtKDMpLnRvU3RyaW5nKCkiLCAiJ1tvYmplY3QgQ1NTVmFsdWVMaXN0XSci
KTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRlbSgzKS5pdGVtKDApLmdldEZsb2F0VmFsdWUoQ1NTUHJp
bWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRBR0UpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMCkuaXRl
bSgzKS5pdGVtKDEpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BFUkNFTlRB
R0UpIiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2JhY2tncm91bmQnKS5pdGVtKDApLml0ZW0oMSkuaXRlbSgwKS5nZXRTdHJpbmdWYWx1ZSgpIiwg
IidhdXRvJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDEpLmdldFN0cmluZ1ZhbHVlKCkiLCAi
J3BhZGRpbmctYm94JyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMCkuaXRlbSgxKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVl
KCkiLCAiJ2JvcmRlci1ib3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLmxlbmd0aCIsICI1Iik7Citz
aG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJyku
aXRlbSgxKS5pdGVtKDEpLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDApLml0ZW0oMCku
Z2V0UkdCQ29sb3JWYWx1ZSgpLnJlZC5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNT
U19OVU1CRVIpIiwgIjI1NSIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDApLmdldFJHQkNvbG9y
VmFsdWUoKS5ncmVlbi5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIp
IiwgIjAiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5pdGVtKDEpLml0ZW0oMCkuaXRlbSgwKS5nZXRSR0JDb2xvclZhbHVlKCkuYmx1
ZS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIiwgIjAiKTsKK3No
b3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5p
dGVtKDEpLml0ZW0oMCkuaXRlbSgxKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidub25lJyIpOworc2hv
dWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0
ZW0oMSkuaXRlbSgwKS5pdGVtKDIpLmdldFN0cmluZ1ZhbHVlKCkiLCAiJ3JlcGVhdCciKTsKK3No
b3VsZEJlKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5p
dGVtKDEpLml0ZW0oMCkuaXRlbSgzKS5nZXRTdHJpbmdWYWx1ZSgpIiwgIidzY3JvbGwnIik7Citz
aG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJyku
aXRlbSgxKS5pdGVtKDApLml0ZW0oNCkudG9TdHJpbmcoKSIsICInW29iamVjdCBDU1NWYWx1ZUxp
c3RdJyIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFj
a2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgwKS5pdGVtKDQpLml0ZW0oMCkuZ2V0RmxvYXRWYWx1ZShD
U1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVSQ0VOVEFHRSkiLCAiMCIpOworc2hvdWxkQmUoImNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgw
KS5pdGVtKDQpLml0ZW0oMSkuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfUEVS
Q0VOVEFHRSkiLCAiMCIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLml0ZW0oMSkuaXRlbSgxKS5pdGVtKDApLmdldFN0cmluZ1ZhbHVl
KCkiLCAiJ2F1dG8nIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLml0ZW0oMSkuZ2V0U3RyaW5nVmFsdWUo
KSIsICIncGFkZGluZy1ib3gnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuaXRlbSgxKS5pdGVtKDEpLml0ZW0oMikuZ2V0U3RyaW5n
VmFsdWUoKSIsICInYm9yZGVyLWJveCciKTsKK3Nob3VsZEJlKCJjaGVja0NvbXB1dGVkU3R5bGVW
YWx1ZSgpIiwgInRydWUiKTsKKwogZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFp
bmVyKTsKIAogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>