<?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>235222</bug_id>
          
          <creation_ts>2022-01-14 00:40:33 -0800</creation_ts>
          <short_desc>Setting `content: normal` on a ::marker should make computed style return resolved values</short_desc>
          <delta_ts>2022-01-15 05:33:16 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830832</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-14 00:40:33 -0800</bug_when>
    <thetext>Setting `content: normal` on a ::marker should make computed style return resolved values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830835</commentid>
    <comment_count>1</comment_count>
      <attachid>449145</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-14 00:48:49 -0800</bug_when>
    <thetext>Created attachment 449145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830853</commentid>
    <comment_count>2</comment_count>
      <attachid>449153</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-14 02:27:47 -0800</bug_when>
    <thetext>Created attachment 449153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830885</commentid>
    <comment_count>3</comment_count>
      <attachid>449153</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-14 05:20:29 -0800</bug_when>
    <thetext>Comment on attachment 449153
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyle.h:1474
&gt; +    bool hasContentNone() const { return m_nonInheritedFlags.hasExplicitlyClearedContent || styleType() == PseudoId::Before || styleType() == PseudoId::After; }

Not quite following the logic of this patch. Like any ::before/after has content:none?

&gt; Source/WebCore/style/StyleBuilderCustom.h:1524
&gt; +    auto isEquivalentToNone = builderState.style().styleType() == PseudoId::Before || builderState.style().styleType() == PseudoId::After;
&gt; +    builderState.style().setHasExplicitlyClearedContent(isEquivalentToNone);

Seems like the flag should have a new name but I&apos;m not sure what that would be (because above).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830902</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-14 07:19:12 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #3)
&gt; Comment on attachment 449153 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449153&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/style/RenderStyle.h:1474
&gt; &gt; +    bool hasContentNone() const { return m_nonInheritedFlags.hasExplicitlyClearedContent || styleType() == PseudoId::Before || styleType() == PseudoId::After; }
&gt; 
&gt; Not quite following the logic of this patch. Like any ::before/after has
&gt; content:none?

No, that&apos;s just wrong, it should be checking for hasContent() as well. I&apos;ll fix this.

&gt; &gt; Source/WebCore/style/StyleBuilderCustom.h:1524
&gt; &gt; +    auto isEquivalentToNone = builderState.style().styleType() == PseudoId::Before || builderState.style().styleType() == PseudoId::After;
&gt; &gt; +    builderState.style().setHasExplicitlyClearedContent(isEquivalentToNone);
&gt; 
&gt; Seems like the flag should have a new name but I&apos;m not sure what that would
&gt; be (because above).

It should probably be: setHasContentNone() I think. I&apos;ll modify it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830997</commentid>
    <comment_count>5</comment_count>
      <attachid>449196</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-14 12:02:48 -0800</bug_when>
    <thetext>Created attachment 449196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831036</commentid>
    <comment_count>6</comment_count>
      <attachid>449196</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-01-14 12:54:19 -0800</bug_when>
    <thetext>Comment on attachment 449196
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyle.h:1474
&gt; +    bool hasContentNone() const { return !contentData() &amp;&amp; (m_nonInheritedFlags.hasContentNone || styleType() == PseudoId::Before || styleType() == PseudoId::After); }

I&apos;m concerned the method name is potentially inaccurate.

I understand that the `PseudoId::Before` and `PseudoId::After` checks are because the spec says &quot;normal: For ::before and ::after, this computes to none.&quot; 

But the specified value is not none. I would name this method `hasEffectiveContentNone` or something similar to indicate this is speaking to the computed value.

&gt; Source/WebCore/rendering/style/RenderStyle.h:1475
&gt; +    bool hasContentNormal() const { return !contentData() &amp;&amp; !hasContentNone(); }

If we decide to go with the &quot;effective&quot; naming scheme above, this method no longer makes sense without also being renamed. But &quot;effective&quot; doesn&apos;t work here either, because &quot;content: normal&quot; could also compute to &quot;contents&quot;.

Since it only has one call site, I would remove the method entirely. Then, in RenderThemeIOS, update the condition to `return style.hasContent() || style.hasEffectiveContentNone()`).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831039</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-14 13:04:08 -0800</bug_when>
    <thetext>(In reply to Aditya Keerthi from comment #6)
&gt; Comment on attachment 449196 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449196&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/style/RenderStyle.h:1474
&gt; &gt; +    bool hasContentNone() const { return !contentData() &amp;&amp; (m_nonInheritedFlags.hasContentNone || styleType() == PseudoId::Before || styleType() == PseudoId::After); }
&gt; 
&gt; I&apos;m concerned the method name is potentially inaccurate.
&gt; 
&gt; I understand that the `PseudoId::Before` and `PseudoId::After` checks are
&gt; because the spec says &quot;normal: For ::before and ::after, this computes to
&gt; none.&quot; 
&gt; 
&gt; But the specified value is not none. I would name this method
&gt; `hasEffectiveContentNone` or something similar to indicate this is speaking
&gt; to the computed value.
&gt; 
&gt; &gt; Source/WebCore/rendering/style/RenderStyle.h:1475
&gt; &gt; +    bool hasContentNormal() const { return !contentData() &amp;&amp; !hasContentNone(); }
&gt; 
&gt; If we decide to go with the &quot;effective&quot; naming scheme above, this method no
&gt; longer makes sense without also being renamed. But &quot;effective&quot; doesn&apos;t work
&gt; here either, because &quot;content: normal&quot; could also compute to &quot;contents&quot;.
&gt; 
&gt; Since it only has one call site, I would remove the method entirely. Then,
&gt; in RenderThemeIOS, update the condition to `return style.hasContent() ||
&gt; style.hasEffectiveContentNone()`).

Good points, I&apos;ll update the patch to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831044</commentid>
    <comment_count>8</comment_count>
      <attachid>449211</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-14 13:09:23 -0800</bug_when>
    <thetext>Created attachment 449211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831181</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-15 05:26:52 -0800</bug_when>
    <thetext>/Volumes/Data/worker/Commit-Queue/build/LayoutTests/imported/w3c/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831183</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-15 05:32:20 -0800</bug_when>
    <thetext>Committed r288054 (?): &lt;https://commits.webkit.org/r288054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831184</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-15 05:33:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/87637233&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449145</attachid>
            <date>2022-01-14 00:48:49 -0800</date>
            <delta_ts>2022-01-14 02:27:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235222-20220114094847.patch</filename>
            <type>text/plain</type>
            <size>10498</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U5ZDRjN2Y3ZGQ5Mzcy
MmI5MGNkMmY4YWM0N2YxZjU2MmJlOGVhNS4uMmM0YTJkZTVjODAyZTVkODdiMjc3NmUzMGM5MjRk
NzIzN2IxMzJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFNldHRpbmcgYGNvbnRl
bnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQgbWFrZSBjb21wdXRlZCBzdHlsZSByZXR1
cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVbnRpbCBub3csIFN0eWxlQnVpbGRlciB3b3VsZCB0cmVhdCAibm9uZSIgYW5k
ICJub3JtYWwiIHZhbHVlcyB0aGUgc2FtZSB3YXkgZm9yIHRoZSAiY29udGVudCIKKyAgICAgICAg
Q1NTIHByb3BlcnR5LiBIb3dldmVyLCAibm9ybWFsIiwgdGhlIGluaXRpYWwgdmFsdWUsIGlzIG5v
dCB0aGUgc2FtZSBhcyAibm9uZSIgd2hpY2ggZXhwbGljaXRseQorICAgICAgICBzdGF0ZXMgdGhh
dCB3ZSBkbyBub3QgaGF2ZSBhbnkgY29udGVudC4gVGhlIFdQVCB0ZXN0IGNzcy9jc3MtcHNldWRv
L21hcmtlci1jb21wdXRlZC1zaXplLmh0bWwKKyAgICAgICAgY2hlY2tzIG9uIHRoaXMgYnkgc2V0
dGluZyBgY29udGVudDogbm9ybWFsYCBvbiBhIDo6bWFya2VyIGFuZCBleHBlY3RpbmcgdGhlIGNv
bXB1dGVkIHN0eWxlCisgICAgICAgIGZvciAid2lkdGgiIGFuZCAiaGVpZ2h0IiB0byBiZSBwaXhl
bCB2YWx1ZXMgYW5kIG5vdCAiYXV0byIuCisKKyAgICAgICAgV2UgYWxyZWFkeSBoYXZlIGEgYml0
IGluIFJlbmRlclN0eWxlIHRoYXQgd291bGQgYmUgdHVybmVkIG9uIHdoZW4gd2Ugd291bGQgcGFy
c2UgZWl0aGVyICJub25lIgorICAgICAgICBvciAibm9ybWFsIi4gV2UncmUgbm93IG9ubHkgc2V0
dGluZyB0aGF0IGJpdCB3aGVuIHRoZSB2YWx1ZSBpcyAibm9uZSIgb3IgaWYgdGhlIHBzZXVkby1l
bGVtZW50CisgICAgICAgIGlzIDo6YmVmb3JlIG9yIDo6YWZ0ZXIgaW4gd2hpY2ggY2FzZSB0aGUg
c3BlYyBzYXlzIHRoYXQgIm5vcm1hbCIgaXMgZXF1aXZhbGVudCB0byAibm9uZSIuCisKKyAgICAg
ICAgU28gd2Ugbm93IHJlbW92ZSBSZW5kZXJTdHlsZTo6aGFzRXhwbGljaXRseUNsZWFyZWRDb250
ZW50KCkgYW5kIGluc3RlYWQgZXhwb3NlCisgICAgICAgIFJlbmRlclN0eWxlOjpoYXNDb250ZW50
Tm9uZSgpIGFuZCBSZW5kZXJTdHlsZTo6aGFzQ29udGVudE5vcm1hbCgpIHRvIGNsZWFybHkgaW5k
aWNhdGUgdGhlCisgICAgICAgIGRpc3RpbmN0aW9uLgorCisgICAgICAgIFdlIGFsc28gcmVtb3Zl
IGEgc3RhbGUgY29tbWVudCBpbiBhcHBseUluaGVyaXRDb250ZW50KCkgc2luY2UgdGhlIHNwZWMg
aGFzIG5vdCBjaGFuZ2VkIHRvIG1ha2UKKyAgICAgICAgImNvbnRlbnQiIGluaGVyaXRlZC4KKwor
ICAgICAgICBGaW5hbGx5LCBTdHlsZWFibGU6OnJlbmRlcmVyKCkgbm93IHJldHVybnMgdGhlIG1h
cmtlclJlbmRlcmVyKCkgdW5sZXNzIFJlbmRlclN0eWxlOjpoYXNDb250ZW50Tm9uZSgpCisgICAg
ICAgIGlzIHRydWUuCisKKyAgICAgICAgRm9yIHJlZmVyZW5jZSwgdGhlIHJlbGV2YW50IHNwZWMg
aXMgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250ZW50LTMvI2NvbnRlbnQtcHJvcGVy
dHkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnRlbnRUb0NTU1ZhbHVlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6aXND
b250cm9sU3R5bGVkIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpoYXNDb250ZW50Tm9uZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFzQ29udGVudE5vcm1hbCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SGFzRXhwbGljaXRseUNsZWFy
ZWRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpoYXNFeHBsaWNpdGx5
Q2xlYXJlZENvbnRlbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVp
bGRlckN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFw
cGx5SW5pdGlhbENvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0
b206OmFwcGx5SW5oZXJpdENvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxk
ZXJDdXN0b206OmFwcGx5VmFsdWVDb250ZW50KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZWFibGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVhYmxlOjpyZW5kZXJlciBjb25zdCk6CisKIDIw
MjItMDEtMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgRG9uJ3QgY2FsbCBpbnZhbGlkYXRlUmVjdHNGb3JBbGxNYXJrZXJzKCkgZm9yIGV2ZXJ5IGxh
eWVyIGluIHRoZSB1cGRhdGVMYXllclBvc2l0aW9ucygpIHRyYXZlcnNhbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAxZWMw
ZTkxZGNmOWFlNTY5NjgwOGRmOWRlNjY4YjI3Y2U3ZThlMTdmLi4wZTkxZmYwMGViMzMxMTlhY2Nh
ZWZkZWZmNjA4MGU2ODkzMzM1NDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTkyNCwxMCArMTkyNCw4IEBAIHN0YXRp
YyBSZWY8Q1NTVmFsdWVMaXN0PiBjb250ZW50VG9DU1NWYWx1ZShjb25zdCBSZW5kZXJTdHlsZSYg
c3R5bGUpCiAgICAgICAgIGVsc2UgaWYgKGlzPFRleHRDb250ZW50RGF0YT4oKmNvbnRlbnREYXRh
KSkKICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUoZG93
bmNhc3Q8VGV4dENvbnRlbnREYXRhPigqY29udGVudERhdGEpLnRleHQoKSwgQ1NTVW5pdFR5cGU6
OkNTU19TVFJJTkcpKTsKICAgICB9Ci0gICAgaWYgKCFsaXN0LT5sZW5ndGgoKSkgewotICAgICAg
ICBhdXRvIGlzQmVmb3JlT3JBZnRlciA9IHN0eWxlLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpC
ZWZvcmUgfHwgc3R5bGUuc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkFmdGVyOwotICAgICAgICBs
aXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShpc0JlZm9yZU9y
QWZ0ZXIgPyBDU1NWYWx1ZU5vbmUgOiBDU1NWYWx1ZU5vcm1hbCkpOwotICAgIH0KKyAgICBpZiAo
IWxpc3QtPmxlbmd0aCgpKQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZShzdHlsZS5oYXNDb250ZW50Tm9uZSgpID8gQ1NTVmFsdWVOb25lIDog
Q1NTVmFsdWVOb3JtYWwpKTsKICAgICByZXR1cm4gbGlzdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IDlmMDlmMjhkZWFjNzU2OGYwN2Y1MjI4
ODY1N2NkMGQ0YTViNDg2N2QuLmYwMjhkMWVlOGNiNTkyYWY0NjZlZmMzMTNlNWM4YzI4YTIwYTdi
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTQ5
Niw3ICs0OTYsNyBAQCBib29sIFJlbmRlclRoZW1lSU9TOjppc0NvbnRyb2xTdHlsZWQoY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZQogCiAjaWYgRU5BQkxFKERBVEFM
SVNUX0VMRU1FTlQpCiAgICAgaWYgKHN0eWxlLmVmZmVjdGl2ZUFwcGVhcmFuY2UoKSA9PSBMaXN0
QnV0dG9uUGFydCkKLSAgICAgICAgcmV0dXJuIHN0eWxlLmhhc0NvbnRlbnQoKSB8fCBzdHlsZS5o
YXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQoKTsKKyAgICAgICAgcmV0dXJuIHN0eWxlLmhhc0Nv
bnRlbnQoKSB8fCBzdHlsZS5oYXNDb250ZW50Tm9uZSgpOwogI2VuZGlmCiAKICAgICByZXR1cm4g
UmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZChzdHlsZSwgdXNlckFnZW50U3R5bGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAwNzQzMWY5
YTI4MDExYzdmN2VhOWFhNWM2NTljMDU5MDExODE0NTg4Li4xMGRmOGNhZmQ2NmUwYjgxMDJkMzhj
NDc3ZTJjNWQ3NjViNmFkMmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaApAQCAtMTQ3MSwxMyArMTQ3MSwxNCBAQCBwdWJsaWM6CiAgICAgUGF0aE9w
ZXJhdGlvbiogY2xpcFBhdGgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5jbGlwUGF0aC5nZXQoKTsgfQogICAgIHN0YXRpYyBQYXRoT3BlcmF0aW9uKiBpbml0aWFsQ2xp
cFBhdGgoKSB7IHJldHVybiBudWxscHRyOyB9CiAKKyAgICBib29sIGhhc0NvbnRlbnROb25lKCkg
Y29uc3QgeyByZXR1cm4gbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNFeHBsaWNpdGx5Q2xlYXJlZENv
bnRlbnQ7IH0KKyAgICBib29sIGhhc0NvbnRlbnROb3JtYWwoKSBjb25zdCB7IHJldHVybiAhY29u
dGVudERhdGEoKSAmJiAhbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNFeHBsaWNpdGx5Q2xlYXJlZENv
bnRlbnQ7IH0KICAgICBib29sIGhhc0NvbnRlbnQoKSBjb25zdCB7IHJldHVybiBjb250ZW50RGF0
YSgpOyB9CiAgICAgY29uc3QgQ29udGVudERhdGEqIGNvbnRlbnREYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGVudC5nZXQoKTsgfQogICAgIHZvaWQgc2V0
Q29udGVudChzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudERhdGE+LCBib29sIGFkZCk7CiAgICAgYm9v
bCBjb250ZW50RGF0YUVxdWl2YWxlbnQoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyU3R5bGUpIGNv
bnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPih0aGlzKS0+bV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+Y29udGVudERhdGFFcXVpdmFsZW50KCpjb25zdF9jYXN0PFJlbmRlclN0eWxl
Kj4ob3RoZXJTdHlsZSktPm1fcmFyZU5vbkluaGVyaXRlZERhdGEpOyB9CiAgICAgdm9pZCBjbGVh
ckNvbnRlbnQoKTsKICAgICB2b2lkIHNldEhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudChib29s
IHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQgPSB2
OyB9Ci0gICAgYm9vbCBoYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQoKSBjb25zdCB7IHJldHVy
biBtX25vbkluaGVyaXRlZEZsYWdzLmhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudDsgfTsKICAg
ICB2b2lkIHNldENvbnRlbnQoY29uc3QgU3RyaW5nJiwgYm9vbCBhZGQgPSBmYWxzZSk7CiAgICAg
dm9pZCBzZXRDb250ZW50KFJlZlB0cjxTdHlsZUltYWdlPiYmLCBib29sIGFkZCA9IGZhbHNlKTsK
ICAgICB2b2lkIHNldENvbnRlbnQoc3RkOjp1bmlxdWVfcHRyPENvdW50ZXJDb250ZW50PiwgYm9v
bCBhZGQgPSBmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1
aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5o
CmluZGV4IGUwMTkxOGQwMDQyMGU3M2Y2ZWFmNTc0MjIyNTY5ZjRmZTc2ZDNlNmYuLmRkOWQxOGE1
NTMzZWIwM2IyNzYwZjZhYmU5ODgwNDUxNTE4Yjg4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0xNTIwLDEzICsxNTIwLDEyIEBAIGlubGluZSB2b2lk
IEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVTdHJva2UoQnVpbGRlclN0YXRlJiBidWlsZGVyU3Rh
dGUsIENTU1ZhbHVlCiBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxDb250
ZW50KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQogewogICAgIGJ1aWxkZXJTdGF0ZS5zdHls
ZSgpLmNsZWFyQ29udGVudCgpOwotICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEhhc0V4cGxp
Y2l0bHlDbGVhcmVkQ29udGVudCh0cnVlKTsKKyAgICBhdXRvIGlzRXF1aXZhbGVudFRvTm9uZSA9
IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpCZWZvcmUgfHwg
YnVpbGRlclN0YXRlLnN0eWxlKCkuc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkFmdGVyOworICAg
IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudChpc0Vx
dWl2YWxlbnRUb05vbmUpOwogfQogCiBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseUlu
aGVyaXRDb250ZW50KEJ1aWxkZXJTdGF0ZSYpCiB7Ci0gICAgLy8gRklYTUU6IEluIENTUzMsIGl0
IHdpbGwgYmUgcG9zc2libGUgdG8gaW5oZXJpdCBjb250ZW50LiBJbiBDU1MyIGl0IGlzIG5vdC4g
VGhpcwotICAgIC8vIG5vdGUgaXMgYSByZW1pbmRlciB0aGF0IGV2ZW50dWFsbHkgImluaGVyaXQi
IG5lZWRzIHRvIGJlIHN1cHBvcnRlZC4KIH0KIAogaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6
YXBwbHlWYWx1ZUNvbnRlbnQoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHVlJiB2
YWx1ZSkKQEAgLTE1MzUsNyArMTUzNCw4IEBAIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFw
cGx5VmFsdWVDb250ZW50KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1CiAgICAg
ICAgIGNvbnN0IGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWU+KHZhbHVlKTsKICAgICAgICAgQVNTRVJUX1VOVVNFRChwcmltaXRpdmVWYWx1ZSwgcHJpbWl0
aXZlVmFsdWUudmFsdWVJRCgpID09IENTU1ZhbHVlTm9ybWFsIHx8IHByaW1pdGl2ZVZhbHVlLnZh
bHVlSUQoKSA9PSBDU1NWYWx1ZU5vbmUpOwogICAgICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5j
bGVhckNvbnRlbnQoKTsKLSAgICAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0SGFzRXhwbGlj
aXRseUNsZWFyZWRDb250ZW50KHRydWUpOworICAgICAgICBhdXRvIGlzTm9uZU9yRXF1aXZhbGVu
dCA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlSUQoKSA9PSBDU1NWYWx1ZU5vbmUgfHwgYnVpbGRlclN0
YXRlLnN0eWxlKCkuc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBidWlsZGVyU3Rh
dGUuc3R5bGUoKS5zdHlsZVR5cGUoKSA9PSBQc2V1ZG9JZDo6QWZ0ZXI7CisgICAgICAgIGJ1aWxk
ZXJTdGF0ZS5zdHlsZSgpLnNldEhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudChpc05vbmVPckVx
dWl2YWxlbnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVh
YmxlLmNwcAppbmRleCBkYTYxZDkxMmI3YjkxNTg4M2U2MWIwNWJiYjRiYzc4MGQ2OWU3ODlkLi44
ZTU4OWIwNzg2NjYyNWViODI4ODU3MDg2MTRhZTJkYTJlOGQ1ZmRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlYWJsZS5jcHAKQEAgLTEwMCw3ICsxMDAsNyBAQCBSZW5kZXJFbGVtZW50KiBTdHlsZWFi
bGU6OnJlbmRlcmVyKCkgY29uc3QKICAgICBjYXNlIFBzZXVkb0lkOjpNYXJrZXI6CiAgICAgICAg
IGlmIChpczxSZW5kZXJMaXN0SXRlbT4oZWxlbWVudC5yZW5kZXJlcigpKSkgewogICAgICAgICAg
ICAgYXV0byogbWFya2VyUmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJMaXN0SXRlbT4oKmVsZW1l
bnQucmVuZGVyZXIoKSkubWFya2VyUmVuZGVyZXIoKTsKLSAgICAgICAgICAgIGlmIChtYXJrZXJS
ZW5kZXJlciAmJiBtYXJrZXJSZW5kZXJlci0+c3R5bGUoKS5oYXNDb250ZW50KCkpCisgICAgICAg
ICAgICBpZiAobWFya2VyUmVuZGVyZXIgJiYgIW1hcmtlclJlbmRlcmVyLT5zdHlsZSgpLmhhc0Nv
bnRlbnROb25lKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1hcmtlclJlbmRlcmVyOwogICAg
ICAgICB9CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
ZTY4MDJhMThlMTg1ZjMwM2Y3OTJkMDI5NzhhNDQ2YjZjMDE2MTg4ZC4uMTRlNjI1YmVjY2Q2ZTA4
MDFlMWUwNjViOTRkMmU1NWU5NDRlODNlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDEtMTQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgU2V0dGluZyBgY29udGVudDogbm9ybWFsYCBvbiBhIDo6bWFy
a2VyIHNob3VsZCBtYWtlIGNvbXB1dGVkIHN0eWxlIHJldHVybiByZXNvbHZlZCB2YWx1ZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTIyMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hcmsgV1BUIHBy
b2dyZXNzaW9ucy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVk
by9tYXJrZXItY29tcHV0ZWQtc2l6ZS1leHBlY3RlZC50eHQ6CisKIDIwMjItMDEtMTMgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXBkYXRlIFdQVCBmb3Ig
Y3NzL2Nzcy1wc2V1ZG8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWNvbXB1dGVkLXNpemUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXBzZXVkby9tYXJrZXItY29tcHV0ZWQtc2l6ZS1leHBlY3RlZC50eHQKaW5kZXggNmI5NTdj
ZDhhNDVjNmY1MmNmMDUwYzlkNmJhYmQ2ZTdmMzJjOTg3Yi4uMjhmNzQ5YjUyNzEyYWM1NzRhYjdm
OTM0OGQyOGQzYmU2ZmViMTJlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItY29tcHV0ZWQtc2l6ZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItY29tcHV0ZWQtc2l6ZS1leHBlY3RlZC50eHQKQEAg
LTEsNyArMSw3IEBACiAKLUZBSUwgRGVjaW1hbCA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiB3aWR0
aCBleHBlY3RlZCAiMzBweCIgYnV0IGdvdCAiYXV0byIKLUZBSUwgRGVjaW1hbCA6Om1hcmtlciB3
aXRoIGN1c3RvbSB2YWx1ZSBhc3NlcnRfZXF1YWxzOiB3aWR0aCBleHBlY3RlZCAiNDBweCIgYnV0
IGdvdCAiYXV0byIKLUZBSUwgU3RyaW5nIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4
cGVjdGVkICIyMHB4IiBidXQgZ290ICJhdXRvIgorUEFTUyBEZWNpbWFsIDo6bWFya2VyCitQQVNT
IERlY2ltYWwgOjptYXJrZXIgd2l0aCBjdXN0b20gdmFsdWUKK1BBU1MgU3RyaW5nIDo6bWFya2Vy
CiBQQVNTIDo6bWFya2VyIHdpdGggbm8gYm94IGR1ZSB0byAnbGlzdC1zdHlsZScKIEZBSUwgOjpt
YXJrZXIgd2l0aCBjdXN0b20gc3RyaW5nIGNvbnRlbnRzIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4
cGVjdGVkICI2MHB4IiBidXQgZ290ICJhdXRvIgogRkFJTCA6Om1hcmtlciB3aXRoIGN1c3RvbSBp
bWFnZSBjb250ZW50cyBhc3NlcnRfZXF1YWxzOiB3aWR0aCBleHBlY3RlZCAiMTAwcHgiIGJ1dCBn
b3QgImF1dG8iCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449153</attachid>
            <date>2022-01-14 02:27:47 -0800</date>
            <delta_ts>2022-01-14 12:02:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235222-20220114112746.patch</filename>
            <type>text/plain</type>
            <size>12313</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U5ZDRjN2Y3ZGQ5Mzcy
MmI5MGNkMmY4YWM0N2YxZjU2MmJlOGVhNS4uMmM0YTJkZTVjODAyZTVkODdiMjc3NmUzMGM5MjRk
NzIzN2IxMzJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFNldHRpbmcgYGNvbnRl
bnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQgbWFrZSBjb21wdXRlZCBzdHlsZSByZXR1
cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVbnRpbCBub3csIFN0eWxlQnVpbGRlciB3b3VsZCB0cmVhdCAibm9uZSIgYW5k
ICJub3JtYWwiIHZhbHVlcyB0aGUgc2FtZSB3YXkgZm9yIHRoZSAiY29udGVudCIKKyAgICAgICAg
Q1NTIHByb3BlcnR5LiBIb3dldmVyLCAibm9ybWFsIiwgdGhlIGluaXRpYWwgdmFsdWUsIGlzIG5v
dCB0aGUgc2FtZSBhcyAibm9uZSIgd2hpY2ggZXhwbGljaXRseQorICAgICAgICBzdGF0ZXMgdGhh
dCB3ZSBkbyBub3QgaGF2ZSBhbnkgY29udGVudC4gVGhlIFdQVCB0ZXN0IGNzcy9jc3MtcHNldWRv
L21hcmtlci1jb21wdXRlZC1zaXplLmh0bWwKKyAgICAgICAgY2hlY2tzIG9uIHRoaXMgYnkgc2V0
dGluZyBgY29udGVudDogbm9ybWFsYCBvbiBhIDo6bWFya2VyIGFuZCBleHBlY3RpbmcgdGhlIGNv
bXB1dGVkIHN0eWxlCisgICAgICAgIGZvciAid2lkdGgiIGFuZCAiaGVpZ2h0IiB0byBiZSBwaXhl
bCB2YWx1ZXMgYW5kIG5vdCAiYXV0byIuCisKKyAgICAgICAgV2UgYWxyZWFkeSBoYXZlIGEgYml0
IGluIFJlbmRlclN0eWxlIHRoYXQgd291bGQgYmUgdHVybmVkIG9uIHdoZW4gd2Ugd291bGQgcGFy
c2UgZWl0aGVyICJub25lIgorICAgICAgICBvciAibm9ybWFsIi4gV2UncmUgbm93IG9ubHkgc2V0
dGluZyB0aGF0IGJpdCB3aGVuIHRoZSB2YWx1ZSBpcyAibm9uZSIgb3IgaWYgdGhlIHBzZXVkby1l
bGVtZW50CisgICAgICAgIGlzIDo6YmVmb3JlIG9yIDo6YWZ0ZXIgaW4gd2hpY2ggY2FzZSB0aGUg
c3BlYyBzYXlzIHRoYXQgIm5vcm1hbCIgaXMgZXF1aXZhbGVudCB0byAibm9uZSIuCisKKyAgICAg
ICAgU28gd2Ugbm93IHJlbW92ZSBSZW5kZXJTdHlsZTo6aGFzRXhwbGljaXRseUNsZWFyZWRDb250
ZW50KCkgYW5kIGluc3RlYWQgZXhwb3NlCisgICAgICAgIFJlbmRlclN0eWxlOjpoYXNDb250ZW50
Tm9uZSgpIGFuZCBSZW5kZXJTdHlsZTo6aGFzQ29udGVudE5vcm1hbCgpIHRvIGNsZWFybHkgaW5k
aWNhdGUgdGhlCisgICAgICAgIGRpc3RpbmN0aW9uLgorCisgICAgICAgIFdlIGFsc28gcmVtb3Zl
IGEgc3RhbGUgY29tbWVudCBpbiBhcHBseUluaGVyaXRDb250ZW50KCkgc2luY2UgdGhlIHNwZWMg
aGFzIG5vdCBjaGFuZ2VkIHRvIG1ha2UKKyAgICAgICAgImNvbnRlbnQiIGluaGVyaXRlZC4KKwor
ICAgICAgICBGaW5hbGx5LCBTdHlsZWFibGU6OnJlbmRlcmVyKCkgbm93IHJldHVybnMgdGhlIG1h
cmtlclJlbmRlcmVyKCkgdW5sZXNzIFJlbmRlclN0eWxlOjpoYXNDb250ZW50Tm9uZSgpCisgICAg
ICAgIGlzIHRydWUuCisKKyAgICAgICAgRm9yIHJlZmVyZW5jZSwgdGhlIHJlbGV2YW50IHNwZWMg
aXMgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250ZW50LTMvI2NvbnRlbnQtcHJvcGVy
dHkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnRlbnRUb0NTU1ZhbHVlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6aXND
b250cm9sU3R5bGVkIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpoYXNDb250ZW50Tm9uZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFzQ29udGVudE5vcm1hbCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SGFzRXhwbGljaXRseUNsZWFy
ZWRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpoYXNFeHBsaWNpdGx5
Q2xlYXJlZENvbnRlbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVp
bGRlckN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFw
cGx5SW5pdGlhbENvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0
b206OmFwcGx5SW5oZXJpdENvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxk
ZXJDdXN0b206OmFwcGx5VmFsdWVDb250ZW50KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZWFibGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVhYmxlOjpyZW5kZXJlciBjb25zdCk6CisKIDIw
MjItMDEtMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgRG9uJ3QgY2FsbCBpbnZhbGlkYXRlUmVjdHNGb3JBbGxNYXJrZXJzKCkgZm9yIGV2ZXJ5IGxh
eWVyIGluIHRoZSB1cGRhdGVMYXllclBvc2l0aW9ucygpIHRyYXZlcnNhbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAxZWMw
ZTkxZGNmOWFlNTY5NjgwOGRmOWRlNjY4YjI3Y2U3ZThlMTdmLi4wZTkxZmYwMGViMzMxMTlhY2Nh
ZWZkZWZmNjA4MGU2ODkzMzM1NDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTkyNCwxMCArMTkyNCw4IEBAIHN0YXRp
YyBSZWY8Q1NTVmFsdWVMaXN0PiBjb250ZW50VG9DU1NWYWx1ZShjb25zdCBSZW5kZXJTdHlsZSYg
c3R5bGUpCiAgICAgICAgIGVsc2UgaWYgKGlzPFRleHRDb250ZW50RGF0YT4oKmNvbnRlbnREYXRh
KSkKICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUoZG93
bmNhc3Q8VGV4dENvbnRlbnREYXRhPigqY29udGVudERhdGEpLnRleHQoKSwgQ1NTVW5pdFR5cGU6
OkNTU19TVFJJTkcpKTsKICAgICB9Ci0gICAgaWYgKCFsaXN0LT5sZW5ndGgoKSkgewotICAgICAg
ICBhdXRvIGlzQmVmb3JlT3JBZnRlciA9IHN0eWxlLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpC
ZWZvcmUgfHwgc3R5bGUuc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkFmdGVyOwotICAgICAgICBs
aXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShpc0JlZm9yZU9y
QWZ0ZXIgPyBDU1NWYWx1ZU5vbmUgOiBDU1NWYWx1ZU5vcm1hbCkpOwotICAgIH0KKyAgICBpZiAo
IWxpc3QtPmxlbmd0aCgpKQorICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZShzdHlsZS5oYXNDb250ZW50Tm9uZSgpID8gQ1NTVmFsdWVOb25lIDog
Q1NTVmFsdWVOb3JtYWwpKTsKICAgICByZXR1cm4gbGlzdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IDlmMDlmMjhkZWFjNzU2OGYwN2Y1MjI4
ODY1N2NkMGQ0YTViNDg2N2QuLmYwMjhkMWVlOGNiNTkyYWY0NjZlZmMzMTNlNWM4YzI4YTIwYTdi
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTQ5
Niw3ICs0OTYsNyBAQCBib29sIFJlbmRlclRoZW1lSU9TOjppc0NvbnRyb2xTdHlsZWQoY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZQogCiAjaWYgRU5BQkxFKERBVEFM
SVNUX0VMRU1FTlQpCiAgICAgaWYgKHN0eWxlLmVmZmVjdGl2ZUFwcGVhcmFuY2UoKSA9PSBMaXN0
QnV0dG9uUGFydCkKLSAgICAgICAgcmV0dXJuIHN0eWxlLmhhc0NvbnRlbnQoKSB8fCBzdHlsZS5o
YXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQoKTsKKyAgICAgICAgcmV0dXJuIHN0eWxlLmhhc0Nv
bnRlbnQoKSB8fCBzdHlsZS5oYXNDb250ZW50Tm9uZSgpOwogI2VuZGlmCiAKICAgICByZXR1cm4g
UmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZChzdHlsZSwgdXNlckFnZW50U3R5bGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAwNzQzMWY5
YTI4MDExYzdmN2VhOWFhNWM2NTljMDU5MDExODE0NTg4Li45OWFjNWZmZGI4OWQ5YTVmMWY5OTM2
ZTI3OWFhZGZkOTdiNGNhOTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaApAQCAtMTQ3MSwxMyArMTQ3MSwxNCBAQCBwdWJsaWM6CiAgICAgUGF0aE9w
ZXJhdGlvbiogY2xpcFBhdGgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5jbGlwUGF0aC5nZXQoKTsgfQogICAgIHN0YXRpYyBQYXRoT3BlcmF0aW9uKiBpbml0aWFsQ2xp
cFBhdGgoKSB7IHJldHVybiBudWxscHRyOyB9CiAKKyAgICBib29sIGhhc0NvbnRlbnROb25lKCkg
Y29uc3QgeyByZXR1cm4gbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNFeHBsaWNpdGx5Q2xlYXJlZENv
bnRlbnQgfHwgc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBzdHlsZVR5cGUoKSA9
PSBQc2V1ZG9JZDo6QWZ0ZXI7IH0KKyAgICBib29sIGhhc0NvbnRlbnROb3JtYWwoKSBjb25zdCB7
IHJldHVybiAhY29udGVudERhdGEoKSAmJiAhaGFzQ29udGVudE5vbmUoKTsgfQogICAgIGJvb2wg
aGFzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnREYXRhKCk7IH0KICAgICBjb25zdCBD
b250ZW50RGF0YSogY29udGVudERhdGEoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250ZW50LmdldCgpOyB9CiAgICAgdm9pZCBzZXRDb250ZW50KHN0ZDo6dW5pcXVl
X3B0cjxDb250ZW50RGF0YT4sIGJvb2wgYWRkKTsKICAgICBib29sIGNvbnRlbnREYXRhRXF1aXZh
bGVudChjb25zdCBSZW5kZXJTdHlsZSogb3RoZXJTdHlsZSkgY29uc3QgeyByZXR1cm4gY29uc3Rf
Y2FzdDxSZW5kZXJTdHlsZSo+KHRoaXMpLT5tX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250ZW50
RGF0YUVxdWl2YWxlbnQoKmNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihvdGhlclN0eWxlKS0+bV9y
YXJlTm9uSW5oZXJpdGVkRGF0YSk7IH0KICAgICB2b2lkIGNsZWFyQ29udGVudCgpOwogICAgIHZv
aWQgc2V0SGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50KGJvb2wgdikgeyBtX25vbkluaGVyaXRl
ZEZsYWdzLmhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudCA9IHY7IH0KLSAgICBib29sIGhhc0V4
cGxpY2l0bHlDbGVhcmVkQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbm9uSW5oZXJpdGVkRmxh
Z3MuaGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50OyB9OwogICAgIHZvaWQgc2V0Q29udGVudChj
b25zdCBTdHJpbmcmLCBib29sIGFkZCA9IGZhbHNlKTsKICAgICB2b2lkIHNldENvbnRlbnQoUmVm
UHRyPFN0eWxlSW1hZ2U+JiYsIGJvb2wgYWRkID0gZmFsc2UpOwogICAgIHZvaWQgc2V0Q29udGVu
dChzdGQ6OnVuaXF1ZV9wdHI8Q291bnRlckNvbnRlbnQ+LCBib29sIGFkZCA9IGZhbHNlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggZTAxOTE4ZDAwNDIw
ZTczZjZlYWY1NzQyMjI1NjlmNGZlNzZkM2U2Zi4uZGQ5ZDE4YTU1MzNlYjAzYjI3NjBmNmFiZTk4
ODA0NTE1MThiODg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9t
LmgKQEAgLTE1MjAsMTMgKzE1MjAsMTIgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBw
bHlWYWx1ZVN0cm9rZShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdWUKIGlubGlu
ZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRlbnQoQnVpbGRlclN0YXRlJiBi
dWlsZGVyU3RhdGUpCiB7CiAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuY2xlYXJDb250ZW50KCk7
Ci0gICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0SGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50
KHRydWUpOworICAgIGF1dG8gaXNFcXVpdmFsZW50VG9Ob25lID0gYnVpbGRlclN0YXRlLnN0eWxl
KCkuc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBidWlsZGVyU3RhdGUuc3R5bGUo
KS5zdHlsZVR5cGUoKSA9PSBQc2V1ZG9JZDo6QWZ0ZXI7CisgICAgYnVpbGRlclN0YXRlLnN0eWxl
KCkuc2V0SGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50KGlzRXF1aXZhbGVudFRvTm9uZSk7CiB9
CiAKIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5oZXJpdENvbnRlbnQoQnVpbGRl
clN0YXRlJikKIHsKLSAgICAvLyBGSVhNRTogSW4gQ1NTMywgaXQgd2lsbCBiZSBwb3NzaWJsZSB0
byBpbmhlcml0IGNvbnRlbnQuIEluIENTUzIgaXQgaXMgbm90LiBUaGlzCi0gICAgLy8gbm90ZSBp
cyBhIHJlbWluZGVyIHRoYXQgZXZlbnR1YWxseSAiaW5oZXJpdCIgbmVlZHMgdG8gYmUgc3VwcG9y
dGVkLgogfQogCiBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGVudChC
dWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdWUmIHZhbHVlKQpAQCAtMTUzNSw3ICsx
NTM0LDggQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnQoQnVp
bGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHUKICAgICAgICAgY29uc3QgYXV0byYgcHJp
bWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpOwogICAgICAg
ICBBU1NFUlRfVU5VU0VEKHByaW1pdGl2ZVZhbHVlLCBwcmltaXRpdmVWYWx1ZS52YWx1ZUlEKCkg
PT0gQ1NTVmFsdWVOb3JtYWwgfHwgcHJpbWl0aXZlVmFsdWUudmFsdWVJRCgpID09IENTU1ZhbHVl
Tm9uZSk7CiAgICAgICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLmNsZWFyQ29udGVudCgpOwotICAg
ICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRIYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQo
dHJ1ZSk7CisgICAgICAgIGF1dG8gaXNOb25lT3JFcXVpdmFsZW50ID0gcHJpbWl0aXZlVmFsdWUu
dmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSB8fCBidWlsZGVyU3RhdGUuc3R5bGUoKS5zdHlsZVR5
cGUoKSA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnN0eWxlVHlw
ZSgpID09IFBzZXVkb0lkOjpBZnRlcjsKKyAgICAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0
SGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50KGlzTm9uZU9yRXF1aXZhbGVudCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCmluZGV4IGRhNjFk
OTEyYjdiOTE1ODgzZTYxYjA1YmJiNGJjNzgwZDY5ZTc4OWQuLjhlNTg5YjA3ODY2NjI1ZWI4Mjg4
NTcwODYxNGFlMmRhMmU4ZDVmZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmNwcApAQCAt
MTAwLDcgKzEwMCw3IEBAIFJlbmRlckVsZW1lbnQqIFN0eWxlYWJsZTo6cmVuZGVyZXIoKSBjb25z
dAogICAgIGNhc2UgUHNldWRvSWQ6Ok1hcmtlcjoKICAgICAgICAgaWYgKGlzPFJlbmRlckxpc3RJ
dGVtPihlbGVtZW50LnJlbmRlcmVyKCkpKSB7CiAgICAgICAgICAgICBhdXRvKiBtYXJrZXJSZW5k
ZXJlciA9IGRvd25jYXN0PFJlbmRlckxpc3RJdGVtPigqZWxlbWVudC5yZW5kZXJlcigpKS5tYXJr
ZXJSZW5kZXJlcigpOwotICAgICAgICAgICAgaWYgKG1hcmtlclJlbmRlcmVyICYmIG1hcmtlclJl
bmRlcmVyLT5zdHlsZSgpLmhhc0NvbnRlbnQoKSkKKyAgICAgICAgICAgIGlmIChtYXJrZXJSZW5k
ZXJlciAmJiAhbWFya2VyUmVuZGVyZXItPnN0eWxlKCkuaGFzQ29udGVudE5vbmUoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gbWFya2VyUmVuZGVyZXI7CiAgICAgICAgIH0KICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggODFkY2U3NjNlMGJiNTdmNjJlNzE1ZDg4OGFjMmY3MWEwNzAwMWM3Ny4uY2Zi
NWY4NTI1YjUyNTg4MjJmNWZjNzdhYTI0NGRhYTYxODg0NGE4OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDIyLTAxLTE0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisg
ICAgICAgIFNldHRpbmcgYGNvbnRlbnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQgbWFr
ZSBjb21wdXRlZCBzdHlsZSByZXR1cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXpl
LWFjdHVhbC50eHQ6CisKIDIwMjItMDEtMTMgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVXBkYXRlIFdQVCBmb3IgY3NzL2Nzcy1wc2V1ZG8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGU2ODAyYTE4ZTE4NWYzMDNmNzkyZDAyOTc4YTQ0NmI2
YzAxNjE4OGQuLjE0ZTYyNWJlY2NkNmUwODAxZTFlMDY1Yjk0ZDJlNTVlOTQ0ZTgzZWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAxLTE0ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFNldHRpbmcgYGNv
bnRlbnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQgbWFrZSBjb21wdXRlZCBzdHlsZSBy
ZXR1cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYXJrIFdQVCBwcm9ncmVzc2lvbnMuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWNvbXB1dGVkLXNpemUtZXhwZWN0ZWQu
dHh0OgorCiAyMDIyLTAxLTEzICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgog
CiAgICAgICAgIFVwZGF0ZSBXUFQgZm9yIGNzcy9jc3MtcHNldWRvCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21h
cmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWNvbXB1dGVkLXNpemUt
ZXhwZWN0ZWQudHh0CmluZGV4IDZiOTU3Y2Q4YTQ1YzZmNTJjZjA1MGM5ZDZiYWJkNmU3ZjMyYzk4
N2IuLjI4Zjc0OWI1MjcxMmFjNTc0YWI3ZjkzNDhkMjhkM2JlNmZlYjEyZTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1
ZG8vbWFya2VyLWNvbXB1dGVkLXNpemUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWNvbXB1
dGVkLXNpemUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCi1GQUlMIERlY2ltYWwgOjpt
YXJrZXIgYXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjMwcHgiIGJ1dCBnb3QgImF1dG8i
Ci1GQUlMIERlY2ltYWwgOjptYXJrZXIgd2l0aCBjdXN0b20gdmFsdWUgYXNzZXJ0X2VxdWFsczog
d2lkdGggZXhwZWN0ZWQgIjQwcHgiIGJ1dCBnb3QgImF1dG8iCi1GQUlMIFN0cmluZyA6Om1hcmtl
ciBhc3NlcnRfZXF1YWxzOiB3aWR0aCBleHBlY3RlZCAiMjBweCIgYnV0IGdvdCAiYXV0byIKK1BB
U1MgRGVjaW1hbCA6Om1hcmtlcgorUEFTUyBEZWNpbWFsIDo6bWFya2VyIHdpdGggY3VzdG9tIHZh
bHVlCitQQVNTIFN0cmluZyA6Om1hcmtlcgogUEFTUyA6Om1hcmtlciB3aXRoIG5vIGJveCBkdWUg
dG8gJ2xpc3Qtc3R5bGUnCiBGQUlMIDo6bWFya2VyIHdpdGggY3VzdG9tIHN0cmluZyBjb250ZW50
cyBhc3NlcnRfZXF1YWxzOiB3aWR0aCBleHBlY3RlZCAiNjBweCIgYnV0IGdvdCAiYXV0byIKIEZB
SUwgOjptYXJrZXIgd2l0aCBjdXN0b20gaW1hZ2UgY29udGVudHMgYXNzZXJ0X2VxdWFsczogd2lk
dGggZXhwZWN0ZWQgIjEwMHB4IiBidXQgZ290ICJhdXRvIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
c2V1ZG8vbWFya2VyLWNvbXB1dGVkLXNpemUtYWN0dWFsLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21h
cmtlci1jb21wdXRlZC1zaXplLWFjdHVhbC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY5ODdkNDdiY2U2ODc3
NmE3MjBlYTY0YmI5ZmQyMTU3MjZiOTk0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNl
dWRvL21hcmtlci1jb21wdXRlZC1zaXplLWFjdHVhbC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitG
QUlMIERlY2ltYWwgOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjMwcHgi
IGJ1dCBnb3QgIjExcHgiCitGQUlMIERlY2ltYWwgOjptYXJrZXIgd2l0aCBjdXN0b20gdmFsdWUg
YXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjQwcHgiIGJ1dCBnb3QgIjE2cHgiCitGQUlM
IFN0cmluZyA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiB3aWR0aCBleHBlY3RlZCAiMjBweCIgYnV0
IGdvdCAiN3B4IgorUEFTUyA6Om1hcmtlciB3aXRoIG5vIGJveCBkdWUgdG8gJ2xpc3Qtc3R5bGUn
CitGQUlMIDo6bWFya2VyIHdpdGggY3VzdG9tIHN0cmluZyBjb250ZW50cyBhc3NlcnRfZXF1YWxz
OiB3aWR0aCBleHBlY3RlZCAiNjBweCIgYnV0IGdvdCAiYXV0byIKK0ZBSUwgOjptYXJrZXIgd2l0
aCBjdXN0b20gaW1hZ2UgY29udGVudHMgYXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjEw
MHB4IiBidXQgZ290ICJhdXRvIgorRkFJTCA6Om1hcmtlciB3aXRoIGN1c3RvbSBzdHJpbmcgYW5k
IGltYWdlIGNvbnRlbnRzIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICIxMzBweCIgYnV0
IGdvdCAiYXV0byIKK1BBU1MgOjptYXJrZXIgd2l0aCBubyBib3ggZHVlIHRvICdjb250ZW50Jwor
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449196</attachid>
            <date>2022-01-14 12:02:48 -0800</date>
            <delta_ts>2022-01-14 13:09:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235222-20220114210247.patch</filename>
            <type>text/plain</type>
            <size>13928</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEwY2Y0MDFlNzlmNWIy
NGFlYjFjZmUwYzhiZDFhYzk1NjJiZjAyYi4uYzJlNGQ4MDA2NmUwZjFkZjk2YzE4YWMxYTU2Mzhk
MTExM2UzYzI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIyLTAxLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFNldHRpbmcgYGNvbnRl
bnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQgbWFrZSBjb21wdXRlZCBzdHlsZSByZXR1
cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVbnRpbCBub3csIFN0eWxlQnVpbGRlciB3b3VsZCB0cmVhdCAibm9uZSIgYW5k
ICJub3JtYWwiIHZhbHVlcyB0aGUgc2FtZSB3YXkgZm9yIHRoZSAiY29udGVudCIKKyAgICAgICAg
Q1NTIHByb3BlcnR5LiBIb3dldmVyLCAibm9ybWFsIiwgdGhlIGluaXRpYWwgdmFsdWUsIGlzIG5v
dCB0aGUgc2FtZSBhcyAibm9uZSIgd2hpY2ggZXhwbGljaXRseQorICAgICAgICBzdGF0ZXMgdGhh
dCB3ZSBkbyBub3QgaGF2ZSBhbnkgY29udGVudC4gVGhlIFdQVCB0ZXN0IGNzcy9jc3MtcHNldWRv
L21hcmtlci1jb21wdXRlZC1zaXplLmh0bWwKKyAgICAgICAgY2hlY2tzIG9uIHRoaXMgYnkgc2V0
dGluZyBgY29udGVudDogbm9ybWFsYCBvbiBhIDo6bWFya2VyIGFuZCBleHBlY3RpbmcgdGhlIGNv
bXB1dGVkIHN0eWxlCisgICAgICAgIGZvciAid2lkdGgiIGFuZCAiaGVpZ2h0IiB0byBiZSBwaXhl
bCB2YWx1ZXMgYW5kIG5vdCAiYXV0byIuCisKKyAgICAgICAgV2UgYWxyZWFkeSBoYXZlIGEgYml0
IGluIFJlbmRlclN0eWxlIHRoYXQgd291bGQgYmUgdHVybmVkIG9uIHdoZW4gd2Ugd291bGQgcGFy
c2UgZWl0aGVyICJub25lIgorICAgICAgICBvciAibm9ybWFsIi4gV2UncmUgbm93IG9ubHkgc2V0
dGluZyB0aGF0IGJpdCwgd2l0aCBhIGJldHRlciBuYW1lICB3aGVuIHRoZSB2YWx1ZSBpcyBleHBs
aWNpdGx5ICJub25lIi4KKworICAgICAgICBTbyB3ZSBub3cgcmVtb3ZlIFJlbmRlclN0eWxlOjpo
YXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQoKSBhbmQgaW5zdGVhZCBleHBvc2UKKyAgICAgICAg
UmVuZGVyU3R5bGU6Omhhc0NvbnRlbnROb25lKCkgYW5kIFJlbmRlclN0eWxlOjpoYXNDb250ZW50
Tm9ybWFsKCkgdG8gY2xlYXJseSBpbmRpY2F0ZSB0aGUKKyAgICAgICAgZGlzdGluY3Rpb24uCisK
KyAgICAgICAgV2UgYWxzbyByZW1vdmUgYSBzdGFsZSBjb21tZW50IGluIGFwcGx5SW5oZXJpdENv
bnRlbnQoKSBzaW5jZSB0aGUgc3BlYyBoYXMgbm90IGNoYW5nZWQgdG8gbWFrZQorICAgICAgICAi
Y29udGVudCIgaW5oZXJpdGVkLgorCisgICAgICAgIEZpbmFsbHksIFN0eWxlYWJsZTo6cmVuZGVy
ZXIoKSBub3cgcmV0dXJucyB0aGUgbWFya2VyUmVuZGVyZXIoKSB1bmxlc3MgUmVuZGVyU3R5bGU6
Omhhc0NvbnRlbnROb25lKCkKKyAgICAgICAgaXMgdHJ1ZS4KKworICAgICAgICBGb3IgcmVmZXJl
bmNlLCB0aGUgcmVsZXZhbnQgc3BlYyBpcyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNv
bnRlbnQtMy8jY29udGVudC1wcm9wZXJ0eS4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udGVudFRvQ1NTVmFsdWUp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lSU9TOjppc0NvbnRyb2xTdHlsZWQgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
dHlsZTo6UmVuZGVyU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Omhhc0NvbnRlbnROb25lIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpoYXNDb250ZW50Tm9ybWFsIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRIYXNDb250ZW50Tm9uZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6Om9wZXJhdG9y
PT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEhhc0V4cGxpY2l0
bHlDbGVhcmVkQ29udGVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6aGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpC
dWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRDb250ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGVudCk6CisgICAgICAgICog
c3R5bGUvU3R5bGVhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlYWJsZTo6cmVuZGVy
ZXIgY29uc3QpOgorCiAyMDIyLTAxLTE0ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IE1vdmUgbWV0aG9kcyB0aGF0IGFyZSB1bm5lY2Vzc2FyaWx5IGlu
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QgdG8gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QgKHBh
cnQgMSBvZiBuKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcAppbmRleCAxZWMwZTkxZGNmOWFlNTY5NjgwOGRmOWRlNjY4YjI3Y2U3ZThl
MTdmLi4wZTkxZmYwMGViMzMxMTlhY2NhZWZkZWZmNjA4MGU2ODkzMzM1NDQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAt
MTkyNCwxMCArMTkyNCw4IEBAIHN0YXRpYyBSZWY8Q1NTVmFsdWVMaXN0PiBjb250ZW50VG9DU1NW
YWx1ZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCiAgICAgICAgIGVsc2UgaWYgKGlzPFRleHRD
b250ZW50RGF0YT4oKmNvbnRlbnREYXRhKSkKICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NW
YWx1ZVBvb2wuY3JlYXRlVmFsdWUoZG93bmNhc3Q8VGV4dENvbnRlbnREYXRhPigqY29udGVudERh
dGEpLnRleHQoKSwgQ1NTVW5pdFR5cGU6OkNTU19TVFJJTkcpKTsKICAgICB9Ci0gICAgaWYgKCFs
aXN0LT5sZW5ndGgoKSkgewotICAgICAgICBhdXRvIGlzQmVmb3JlT3JBZnRlciA9IHN0eWxlLnN0
eWxlVHlwZSgpID09IFBzZXVkb0lkOjpCZWZvcmUgfHwgc3R5bGUuc3R5bGVUeXBlKCkgPT0gUHNl
dWRvSWQ6OkFmdGVyOwotICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlk
ZW50aWZpZXJWYWx1ZShpc0JlZm9yZU9yQWZ0ZXIgPyBDU1NWYWx1ZU5vbmUgOiBDU1NWYWx1ZU5v
cm1hbCkpOwotICAgIH0KKyAgICBpZiAoIWxpc3QtPmxlbmd0aCgpKQorICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShzdHlsZS5oYXNDb250ZW50
Tm9uZSgpID8gQ1NTVmFsdWVOb25lIDogQ1NTVmFsdWVOb3JtYWwpKTsKICAgICByZXR1cm4gbGlz
dDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4
IDlmMDlmMjhkZWFjNzU2OGYwN2Y1MjI4ODY1N2NkMGQ0YTViNDg2N2QuLjRjZGI2ZTE4Y2FjNzlh
NTY5MzJhNGZkMjc3ODlkNGNkZjI1NTRmOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MubW0KQEAgLTQ5Niw3ICs0OTYsNyBAQCBib29sIFJlbmRlclRoZW1lSU9T
Ojppc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBSZW5kZXJT
dHlsZQogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAgICAgaWYgKHN0eWxlLmVmZmVj
dGl2ZUFwcGVhcmFuY2UoKSA9PSBMaXN0QnV0dG9uUGFydCkKLSAgICAgICAgcmV0dXJuIHN0eWxl
Lmhhc0NvbnRlbnQoKSB8fCBzdHlsZS5oYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQoKTsKKyAg
ICAgICAgcmV0dXJuICFzdHlsZS5oYXNDb250ZW50Tm9ybWFsKCk7CiAjZW5kaWYKIAogICAgIHJl
dHVybiBSZW5kZXJUaGVtZTo6aXNDb250cm9sU3R5bGVkKHN0eWxlLCB1c2VyQWdlbnRTdHlsZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRl
eCA2Yjc2YzI1Nzc5YTRiMWU3MDU1OWY2YzRkZmI0ODE3NjNlNTQ5MzFlLi4zZjA0MmVlNmVjYjk2
NDA0YTViMWEwMDk0ZWMwOWM0Y2FiYmRmZGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCBSZW5kZXJTdHls
ZTo6UmVuZGVyU3R5bGUoQ3JlYXRlRGVmYXVsdFN0eWxlVGFnKQogICAgIG1fbm9uSW5oZXJpdGVk
RmxhZ3MuZmlyc3RDaGlsZFN0YXRlID0gZmFsc2U7CiAgICAgbV9ub25Jbmhlcml0ZWRGbGFncy5s
YXN0Q2hpbGRTdGF0ZSA9IGZhbHNlOwogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MuaXNMaW5rID0g
ZmFsc2U7Ci0gICAgbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRl
bnQgPSBmYWxzZTsKKyAgICBtX25vbkluaGVyaXRlZEZsYWdzLmhhc0NvbnRlbnROb25lID0gZmFs
c2U7CiAgICAgbV9ub25Jbmhlcml0ZWRGbGFncy5zdHlsZVR5cGUgPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUHNldWRvSWQ6Ok5vbmUpOwogICAgIG1fbm9uSW5oZXJpdGVkRmxhZ3MucHNldWRvQml0
cyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihQc2V1ZG9JZDo6Tm9uZSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMDc0MzFmOWEyODAxMWM3
ZjdlYTlhYTVjNjU5YzA1OTAxMTgxNDU4OC4uZTI0YzhjYzgxMWMyMDBmMTM5MDZjZmQ5NGY3NWNi
Yzc2NDYzYzdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgKQEAgLTE0NzEsMTMgKzE0NzEsMTQgQEAgcHVibGljOgogICAgIFBhdGhPcGVyYXRpb24q
IGNsaXBQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y2xpcFBh
dGguZ2V0KCk7IH0KICAgICBzdGF0aWMgUGF0aE9wZXJhdGlvbiogaW5pdGlhbENsaXBQYXRoKCkg
eyByZXR1cm4gbnVsbHB0cjsgfQogCisgICAgYm9vbCBoYXNDb250ZW50Tm9uZSgpIGNvbnN0IHsg
cmV0dXJuICFjb250ZW50RGF0YSgpICYmIChtX25vbkluaGVyaXRlZEZsYWdzLmhhc0NvbnRlbnRO
b25lIHx8IHN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpCZWZvcmUgfHwgc3R5bGVUeXBlKCkgPT0g
UHNldWRvSWQ6OkFmdGVyKTsgfQorICAgIGJvb2wgaGFzQ29udGVudE5vcm1hbCgpIGNvbnN0IHsg
cmV0dXJuICFjb250ZW50RGF0YSgpICYmICFoYXNDb250ZW50Tm9uZSgpOyB9CiAgICAgYm9vbCBo
YXNDb250ZW50KCkgY29uc3QgeyByZXR1cm4gY29udGVudERhdGEoKTsgfQogICAgIGNvbnN0IENv
bnRlbnREYXRhKiBjb250ZW50RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmNvbnRlbnQuZ2V0KCk7IH0KICAgICB2b2lkIHNldENvbnRlbnQoc3RkOjp1bmlxdWVf
cHRyPENvbnRlbnREYXRhPiwgYm9vbCBhZGQpOwogICAgIGJvb2wgY29udGVudERhdGFFcXVpdmFs
ZW50KGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlclN0eWxlKSBjb25zdCB7IHJldHVybiBjb25zdF9j
YXN0PFJlbmRlclN0eWxlKj4odGhpcyktPm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRlbnRE
YXRhRXF1aXZhbGVudCgqY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KG90aGVyU3R5bGUpLT5tX3Jh
cmVOb25Jbmhlcml0ZWREYXRhKTsgfQogICAgIHZvaWQgY2xlYXJDb250ZW50KCk7Ci0gICAgdm9p
ZCBzZXRIYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQoYm9vbCB2KSB7IG1fbm9uSW5oZXJpdGVk
RmxhZ3MuaGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50ID0gdjsgfQotICAgIGJvb2wgaGFzRXhw
bGljaXRseUNsZWFyZWRDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9ub25Jbmhlcml0ZWRGbGFn
cy5oYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQ7IH07CisgICAgdm9pZCBzZXRIYXNDb250ZW50
Tm9uZShib29sIHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNDb250ZW50Tm9uZSA9IHY7IH0K
ICAgICB2b2lkIHNldENvbnRlbnQoY29uc3QgU3RyaW5nJiwgYm9vbCBhZGQgPSBmYWxzZSk7CiAg
ICAgdm9pZCBzZXRDb250ZW50KFJlZlB0cjxTdHlsZUltYWdlPiYmLCBib29sIGFkZCA9IGZhbHNl
KTsKICAgICB2b2lkIHNldENvbnRlbnQoc3RkOjp1bmlxdWVfcHRyPENvdW50ZXJDb250ZW50Piwg
Ym9vbCBhZGQgPSBmYWxzZSk7CkBAIC0xOTQxLDcgKzE5NDIsNyBAQCBwcml2YXRlOgogICAgICAg
ICB1bnNpZ25lZCBmaXJzdENoaWxkU3RhdGUgOiAxOwogICAgICAgICB1bnNpZ25lZCBsYXN0Q2hp
bGRTdGF0ZSA6IDE7CiAgICAgICAgIHVuc2lnbmVkIGlzTGluayA6IDE7Ci0gICAgICAgIHVuc2ln
bmVkIGhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudCA6IDE7CisgICAgICAgIHVuc2lnbmVkIGhh
c0NvbnRlbnROb25lIDogMTsKIAogICAgICAgICB1bnNpZ25lZCBzdHlsZVR5cGUgOiA0OyAvLyBQ
c2V1ZG9JZAogICAgICAgICB1bnNpZ25lZCBwc2V1ZG9CaXRzIDogKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihQc2V1ZG9JZDo6Rmlyc3RJbnRlcm5hbFBzZXVkb0lkKSAtIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihQc2V1ZG9JZDo6Rmlyc3RQdWJsaWNQc2V1ZG9JZCkpOwpAQCAtMjA3OSw3ICsyMDgwLDcg
QEAgaW5saW5lIGJvb2wgUmVuZGVyU3R5bGU6Ok5vbkluaGVyaXRlZEZsYWdzOjpvcGVyYXRvcj09
KGNvbnN0IE5vbkluaGVyaXRlZEZsYWdzJgogICAgICAgICAmJiBmaXJzdENoaWxkU3RhdGUgPT0g
b3RoZXIuZmlyc3RDaGlsZFN0YXRlCiAgICAgICAgICYmIGxhc3RDaGlsZFN0YXRlID09IG90aGVy
Lmxhc3RDaGlsZFN0YXRlCiAgICAgICAgICYmIGlzTGluayA9PSBvdGhlci5pc0xpbmsKLSAgICAg
ICAgJiYgaGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50ID09IG90aGVyLmhhc0V4cGxpY2l0bHlD
bGVhcmVkQ29udGVudAorICAgICAgICAmJiBoYXNDb250ZW50Tm9uZSA9PSBvdGhlci5oYXNDb250
ZW50Tm9uZQogICAgICAgICAmJiBzdHlsZVR5cGUgPT0gb3RoZXIuc3R5bGVUeXBlCiAgICAgICAg
ICYmIHBzZXVkb0JpdHMgPT0gb3RoZXIucHNldWRvQml0czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggZTAxOTE4ZDAwNDIwZTczZjZlYWY1NzQyMjI1
NjlmNGZlNzZkM2U2Zi4uMTNjYWQ5YjdmZDc3MmE2Y2QyMzk4MzQwZTI4Mjc3MWJkNDliNDQ2MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE1MjAsMTMg
KzE1MjAsMTEgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVN0cm9rZShC
dWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdWUKIGlubGluZSB2b2lkIEJ1aWxkZXJD
dXN0b206OmFwcGx5SW5pdGlhbENvbnRlbnQoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCiB7
CiAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuY2xlYXJDb250ZW50KCk7Ci0gICAgYnVpbGRlclN0
YXRlLnN0eWxlKCkuc2V0SGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50KHRydWUpOworICAgIGJ1
aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEhhc0NvbnRlbnROb25lKGZhbHNlKTsKIH0KIAogaW5saW5l
IHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0Q29udGVudChCdWlsZGVyU3RhdGUmKQog
ewotICAgIC8vIEZJWE1FOiBJbiBDU1MzLCBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvIGluaGVyaXQg
Y29udGVudC4gSW4gQ1NTMiBpdCBpcyBub3QuIFRoaXMKLSAgICAvLyBub3RlIGlzIGEgcmVtaW5k
ZXIgdGhhdCBldmVudHVhbGx5ICJpbmhlcml0IiBuZWVkcyB0byBiZSBzdXBwb3J0ZWQuCiB9CiAK
IGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb250ZW50KEJ1aWxkZXJTdGF0
ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCkBAIC0xNTM1LDcgKzE1MzMsNyBAQCBp
bmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGVudChCdWlsZGVyU3RhdGUm
IGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdQogICAgICAgICBjb25zdCBhdXRvJiBwcmltaXRpdmVWYWx1
ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7CiAgICAgICAgIEFTU0VSVF9V
TlVTRUQocHJpbWl0aXZlVmFsdWUsIHByaW1pdGl2ZVZhbHVlLnZhbHVlSUQoKSA9PSBDU1NWYWx1
ZU5vcm1hbCB8fCBwcmltaXRpdmVWYWx1ZS52YWx1ZUlEKCkgPT0gQ1NTVmFsdWVOb25lKTsKICAg
ICAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuY2xlYXJDb250ZW50KCk7Ci0gICAgICAgIGJ1aWxk
ZXJTdGF0ZS5zdHlsZSgpLnNldEhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudCh0cnVlKTsKKyAg
ICAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0SGFzQ29udGVudE5vbmUocHJpbWl0aXZlVmFs
dWUudmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCmluZGV4IGRhNjFkOTEyYjdiOTE1ODgzZTYxYjA1
YmJiNGJjNzgwZDY5ZTc4OWQuLjhlNTg5YjA3ODY2NjI1ZWI4Mjg4NTcwODYxNGFlMmRhMmU4ZDVm
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmNwcApAQCAtMTAwLDcgKzEwMCw3IEBAIFJl
bmRlckVsZW1lbnQqIFN0eWxlYWJsZTo6cmVuZGVyZXIoKSBjb25zdAogICAgIGNhc2UgUHNldWRv
SWQ6Ok1hcmtlcjoKICAgICAgICAgaWYgKGlzPFJlbmRlckxpc3RJdGVtPihlbGVtZW50LnJlbmRl
cmVyKCkpKSB7CiAgICAgICAgICAgICBhdXRvKiBtYXJrZXJSZW5kZXJlciA9IGRvd25jYXN0PFJl
bmRlckxpc3RJdGVtPigqZWxlbWVudC5yZW5kZXJlcigpKS5tYXJrZXJSZW5kZXJlcigpOwotICAg
ICAgICAgICAgaWYgKG1hcmtlclJlbmRlcmVyICYmIG1hcmtlclJlbmRlcmVyLT5zdHlsZSgpLmhh
c0NvbnRlbnQoKSkKKyAgICAgICAgICAgIGlmIChtYXJrZXJSZW5kZXJlciAmJiAhbWFya2VyUmVu
ZGVyZXItPnN0eWxlKCkuaGFzQ29udGVudE5vbmUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
bWFya2VyUmVuZGVyZXI7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWJkMzUy
NWI3ZWIyYTI5Yzc2YmE2MzY2MWI5MGUwYjgxNWI1ODRjMy4uMGY2OWVhMmI0ZjAzYzkxMmQxMDRm
OGJkNDE1NTJlNzUzNjM4Y2MxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAxLTE0ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFNldHRpbmcgYGNv
bnRlbnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQgbWFrZSBjb21wdXRlZCBzdHlsZSBy
ZXR1cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dDoKKwog
MjAyMi0wMS0xNCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bSUZDXSBJbmNvcnJlY3Qgcm9vdCBpbmxpbmUgYm94IHBvc2l0aW9uIHdoZW4gbm9uLWVtcHR5
IGF0b21pYyBpbmxpbmUgbGV2ZWwgY2hpbGQgYm94IGhhcyBoZWlnaHQ6IDBweApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzAwMGNkYjdhZTdlNmU5NTcxOWYyMGVjZTdiZGYxOWM1
ZjEyM2RiNC4uM2U2NWZjNGRkNzc1ZjEyMjliYzIyOGFjNTFiZGMzYTRmZThiNDhiNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDEtMTQgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU2V0dGluZyBgY29u
dGVudDogbm9ybWFsYCBvbiBhIDo6bWFya2VyIHNob3VsZCBtYWtlIGNvbXB1dGVkIHN0eWxlIHJl
dHVybiByZXNvbHZlZCB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNTIyMgorCisgICAgICAgIE1hcmsgV1BUIHByb2dyZXNzaW9ucy4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItY29tcHV0
ZWQtc2l6ZS1leHBlY3RlZC50eHQ6CisKIDIwMjItMDEtMTQgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFs6aGFzKCkgcHNldWRvLWNsYXNzXSBBdm9pZCBPKG5e
MikgaW4gc3R5bGUgaW52YWxpZGF0aW9uIHdpdGggcmVwZWF0ZWQgRE9NIG11dGF0aW9ucwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXBzZXVkby9tYXJrZXItY29tcHV0ZWQtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1j
b21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dAppbmRleCA2Yjk1N2NkOGE0NWM2ZjUyY2YwNTBjOWQ2
YmFiZDZlN2YzMmM5ODdiLi4yOGY3NDliNTI3MTJhYzU3NGFiN2Y5MzQ4ZDI4ZDNiZTZmZWIxMmUy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRv
L21hcmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAotRkFJ
TCBEZWNpbWFsIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICIzMHB4IiBi
dXQgZ290ICJhdXRvIgotRkFJTCBEZWNpbWFsIDo6bWFya2VyIHdpdGggY3VzdG9tIHZhbHVlIGFz
c2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICI0MHB4IiBidXQgZ290ICJhdXRvIgotRkFJTCBT
dHJpbmcgOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjIwcHgiIGJ1dCBn
b3QgImF1dG8iCitQQVNTIERlY2ltYWwgOjptYXJrZXIKK1BBU1MgRGVjaW1hbCA6Om1hcmtlciB3
aXRoIGN1c3RvbSB2YWx1ZQorUEFTUyBTdHJpbmcgOjptYXJrZXIKIFBBU1MgOjptYXJrZXIgd2l0
aCBubyBib3ggZHVlIHRvICdsaXN0LXN0eWxlJwogRkFJTCA6Om1hcmtlciB3aXRoIGN1c3RvbSBz
dHJpbmcgY29udGVudHMgYXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjYwcHgiIGJ1dCBn
b3QgImF1dG8iCiBGQUlMIDo6bWFya2VyIHdpdGggY3VzdG9tIGltYWdlIGNvbnRlbnRzIGFzc2Vy
dF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICIxMDBweCIgYnV0IGdvdCAiYXV0byIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNjk4N2Q0N2JjZTY4Nzc2YTcyMGVhNjRiYjlmZDIxNTcyNmI5OTRjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWNvbXB1dGVkLXNpemUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKKworRkFJTCBEZWNpbWFsIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IHdp
ZHRoIGV4cGVjdGVkICIzMHB4IiBidXQgZ290ICIxMXB4IgorRkFJTCBEZWNpbWFsIDo6bWFya2Vy
IHdpdGggY3VzdG9tIHZhbHVlIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICI0MHB4IiBi
dXQgZ290ICIxNnB4IgorRkFJTCBTdHJpbmcgOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogd2lkdGgg
ZXhwZWN0ZWQgIjIwcHgiIGJ1dCBnb3QgIjdweCIKK1BBU1MgOjptYXJrZXIgd2l0aCBubyBib3gg
ZHVlIHRvICdsaXN0LXN0eWxlJworRkFJTCA6Om1hcmtlciB3aXRoIGN1c3RvbSBzdHJpbmcgY29u
dGVudHMgYXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjYwcHgiIGJ1dCBnb3QgImF1dG8i
CitGQUlMIDo6bWFya2VyIHdpdGggY3VzdG9tIGltYWdlIGNvbnRlbnRzIGFzc2VydF9lcXVhbHM6
IHdpZHRoIGV4cGVjdGVkICIxMDBweCIgYnV0IGdvdCAiYXV0byIKK0ZBSUwgOjptYXJrZXIgd2l0
aCBjdXN0b20gc3RyaW5nIGFuZCBpbWFnZSBjb250ZW50cyBhc3NlcnRfZXF1YWxzOiB3aWR0aCBl
eHBlY3RlZCAiMTMwcHgiIGJ1dCBnb3QgImF1dG8iCitQQVNTIDo6bWFya2VyIHdpdGggbm8gYm94
IGR1ZSB0byAnY29udGVudCcKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449211</attachid>
            <date>2022-01-14 13:09:23 -0800</date>
            <delta_ts>2022-01-15 05:26:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235222-20220114220921.patch</filename>
            <type>text/plain</type>
            <size>13778</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEwY2Y0MDFlNzlmNWIy
NGFlYjFjZmUwYzhiZDFhYzk1NjJiZjAyYi4uN2ZjN2U5NGVhMjQ2ZGE5OTA3NmViMWVjNzVmYjVh
NjIwOWNlOGM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIyLTAxLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFNldHRpbmcgYGNvbnRl
bnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQgbWFrZSBjb21wdXRlZCBzdHlsZSByZXR1
cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVbnRpbCBub3csIFN0eWxlQnVpbGRlciB3b3VsZCB0cmVhdCAibm9uZSIgYW5k
ICJub3JtYWwiIHZhbHVlcyB0aGUgc2FtZSB3YXkgZm9yIHRoZSAiY29udGVudCIKKyAgICAgICAg
Q1NTIHByb3BlcnR5LiBIb3dldmVyLCAibm9ybWFsIiwgdGhlIGluaXRpYWwgdmFsdWUsIGlzIG5v
dCB0aGUgc2FtZSBhcyAibm9uZSIgd2hpY2ggZXhwbGljaXRseQorICAgICAgICBzdGF0ZXMgdGhh
dCB3ZSBkbyBub3QgaGF2ZSBhbnkgY29udGVudC4gVGhlIFdQVCB0ZXN0IGNzcy9jc3MtcHNldWRv
L21hcmtlci1jb21wdXRlZC1zaXplLmh0bWwKKyAgICAgICAgY2hlY2tzIG9uIHRoaXMgYnkgc2V0
dGluZyBgY29udGVudDogbm9ybWFsYCBvbiBhIDo6bWFya2VyIGFuZCBleHBlY3RpbmcgdGhlIGNv
bXB1dGVkIHN0eWxlCisgICAgICAgIGZvciAid2lkdGgiIGFuZCAiaGVpZ2h0IiB0byBiZSBwaXhl
bCB2YWx1ZXMgYW5kIG5vdCAiYXV0byIuCisKKyAgICAgICAgV2UgYWxyZWFkeSBoYXZlIGEgYml0
IGluIFJlbmRlclN0eWxlIHRoYXQgd291bGQgYmUgdHVybmVkIG9uIHdoZW4gd2Ugd291bGQgcGFy
c2UgZWl0aGVyICJub25lIgorICAgICAgICBvciAibm9ybWFsIi4gV2UncmUgbm93IG9ubHkgc2V0
dGluZyB0aGF0IGJpdCwgd2l0aCBhIGJldHRlciBuYW1lICB3aGVuIHRoZSB2YWx1ZSBpcyBleHBs
aWNpdGx5ICJub25lIi4KKworICAgICAgICBTbyB3ZSBub3cgcmVtb3ZlIGhhc0V4cGxpY2l0bHlD
bGVhcmVkQ29udGVudCgpIGFuZCBpbnN0ZWFkIGV4cG9zZSBoYXNFZmZlY3RpdmVDb250ZW50Tm9u
ZSgpCisgICAgICAgIG9uIFJlbmRlclN0eWxlLgorCisgICAgICAgIFdlIGFsc28gcmVtb3ZlIGEg
c3RhbGUgY29tbWVudCBpbiBhcHBseUluaGVyaXRDb250ZW50KCkgc2luY2UgdGhlIHNwZWMgaGFz
IG5vdCBjaGFuZ2VkIHRvIG1ha2UKKyAgICAgICAgImNvbnRlbnQiIGluaGVyaXRlZC4KKworICAg
ICAgICBGaW5hbGx5LCBTdHlsZWFibGU6OnJlbmRlcmVyKCkgbm93IHJldHVybnMgdGhlIG1hcmtl
clJlbmRlcmVyKCkgdW5sZXNzCisgICAgICAgIFJlbmRlclN0eWxlOjpoYXNFZmZlY3RpdmVDb250
ZW50Tm9uZSgpIGlzIHRydWUuCisKKyAgICAgICAgRm9yIHJlZmVyZW5jZSwgdGhlIHJlbGV2YW50
IHNwZWMgaXMgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250ZW50LTMvI2NvbnRlbnQt
cHJvcGVydHkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRlbnRUb0NTU1ZhbHVlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlP
Uzo6aXNDb250cm9sU3R5bGVkIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OlJlbmRlclN0eWxl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpoYXNFZmZlY3RpdmVDb250ZW50Tm9uZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SGFzQ29udGVudE5vbmUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6Ok5vbkluaGVyaXRlZEZsYWdzOjpvcGVyYXRvcj09IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRIYXNFeHBsaWNpdGx5Q2xlYXJl
ZENvbnRlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Omhhc0V4
cGxpY2l0bHlDbGVhcmVkQ29udGVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogc3R5bGUv
U3R5bGVCdWlsZGVyQ3VzdG9tLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QnVpbGRlckN1
c3RvbTo6YXBwbHlJbml0aWFsQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QnVp
bGRlckN1c3RvbTo6YXBwbHlJbmhlcml0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRlbnQpOgorICAgICAgICAqIHN0eWxlL1N0
eWxlYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWFibGU6OnJlbmRlcmVyIGNvbnN0
KToKKwogMjAyMi0wMS0xNCAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFYOiBNb3ZlIG1ldGhvZHMgdGhhdCBhcmUgdW5uZWNlc3NhcmlseSBpbiBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0IHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0IChwYXJ0IDEgb2Yg
bikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggMWVjMGU5MWRjZjlhZTU2OTY4MDhkZjlkZTY2OGIyN2NlN2U4ZTE3Zi4uNWI0
MDUxNzE2ZDExYTk5MTY0ZjY5YTBkMzUzNGM5NjBmNmNhMTZkZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE5MjQsMTAg
KzE5MjQsOCBAQCBzdGF0aWMgUmVmPENTU1ZhbHVlTGlzdD4gY29udGVudFRvQ1NTVmFsdWUoY29u
c3QgUmVuZGVyU3R5bGUmIHN0eWxlKQogICAgICAgICBlbHNlIGlmIChpczxUZXh0Q29udGVudERh
dGE+KCpjb250ZW50RGF0YSkpCiAgICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29s
LmNyZWF0ZVZhbHVlKGRvd25jYXN0PFRleHRDb250ZW50RGF0YT4oKmNvbnRlbnREYXRhKS50ZXh0
KCksIENTU1VuaXRUeXBlOjpDU1NfU1RSSU5HKSk7CiAgICAgfQotICAgIGlmICghbGlzdC0+bGVu
Z3RoKCkpIHsKLSAgICAgICAgYXV0byBpc0JlZm9yZU9yQWZ0ZXIgPSBzdHlsZS5zdHlsZVR5cGUo
KSA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IHN0eWxlLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpB
ZnRlcjsKLSAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoaXNCZWZvcmVPckFmdGVyID8gQ1NTVmFsdWVOb25lIDogQ1NTVmFsdWVOb3JtYWwpKTsK
LSAgICB9CisgICAgaWYgKCFsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAgbGlzdC0+YXBwZW5kKGNz
c1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoc3R5bGUuaGFzRWZmZWN0aXZlQ29udGVu
dE5vbmUoKSA/IENTU1ZhbHVlTm9uZSA6IENTU1ZhbHVlTm9ybWFsKSk7CiAgICAgcmV0dXJuIGxp
c3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQppbmRl
eCA5ZjA5ZjI4ZGVhYzc1NjhmMDdmNTIyODg2NTdjZDBkNGE1YjQ4NjdkLi42NTEyMmI0NTY5NWNj
MmY2ZDIwNjVmZWEzMDU5OTg2ZDZiZmI0NWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lSU9TLm1tCkBAIC00OTYsNyArNDk2LDcgQEAgYm9vbCBSZW5kZXJUaGVtZUlP
Uzo6aXNDb250cm9sU3R5bGVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgUmVuZGVy
U3R5bGUKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIGlmIChzdHlsZS5lZmZl
Y3RpdmVBcHBlYXJhbmNlKCkgPT0gTGlzdEJ1dHRvblBhcnQpCi0gICAgICAgIHJldHVybiBzdHls
ZS5oYXNDb250ZW50KCkgfHwgc3R5bGUuaGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50KCk7Cisg
ICAgICAgIHJldHVybiBzdHlsZS5oYXNDb250ZW50KCkgfHwgc3R5bGUuaGFzRWZmZWN0aXZlQ29u
dGVudE5vbmUoKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIFJlbmRlclRoZW1lOjppc0NvbnRyb2xT
dHlsZWQoc3R5bGUsIHVzZXJBZ2VudFN0eWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDZiNzZjMjU3NzlhNGIxZTcwNTU5ZjZjNGRm
YjQ4MTc2M2U1NDkzMWUuLjNmMDQyZWU2ZWNiOTY0MDRhNWIxYTAwOTRlYzA5YzRjYWJiZGZkYzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApA
QCAtMTk0LDcgKzE5NCw3IEBAIFJlbmRlclN0eWxlOjpSZW5kZXJTdHlsZShDcmVhdGVEZWZhdWx0
U3R5bGVUYWcpCiAgICAgbV9ub25Jbmhlcml0ZWRGbGFncy5maXJzdENoaWxkU3RhdGUgPSBmYWxz
ZTsKICAgICBtX25vbkluaGVyaXRlZEZsYWdzLmxhc3RDaGlsZFN0YXRlID0gZmFsc2U7CiAgICAg
bV9ub25Jbmhlcml0ZWRGbGFncy5pc0xpbmsgPSBmYWxzZTsKLSAgICBtX25vbkluaGVyaXRlZEZs
YWdzLmhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudCA9IGZhbHNlOworICAgIG1fbm9uSW5oZXJp
dGVkRmxhZ3MuaGFzQ29udGVudE5vbmUgPSBmYWxzZTsKICAgICBtX25vbkluaGVyaXRlZEZsYWdz
LnN0eWxlVHlwZSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihQc2V1ZG9JZDo6Tm9uZSk7CiAgICAg
bV9ub25Jbmhlcml0ZWRGbGFncy5wc2V1ZG9CaXRzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBz
ZXVkb0lkOjpOb25lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAppbmRleCAwNzQzMWY5YTI4MDExYzdmN2VhOWFhNWM2NTljMDU5MDExODE0NTg4Li42
MTg0OGM5MGQ4YjA3ZWJkN2M1ZjMyMzQ4N2EzOTEzYzE5MzVkMjA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMTQ3MSwxMyArMTQ3MSwxMyBA
QCBwdWJsaWM6CiAgICAgUGF0aE9wZXJhdGlvbiogY2xpcFBhdGgoKSBjb25zdCB7IHJldHVybiBt
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jbGlwUGF0aC5nZXQoKTsgfQogICAgIHN0YXRpYyBQYXRo
T3BlcmF0aW9uKiBpbml0aWFsQ2xpcFBhdGgoKSB7IHJldHVybiBudWxscHRyOyB9CiAKKyAgICBi
b29sIGhhc0VmZmVjdGl2ZUNvbnRlbnROb25lKCkgY29uc3QgeyByZXR1cm4gIWNvbnRlbnREYXRh
KCkgJiYgKG1fbm9uSW5oZXJpdGVkRmxhZ3MuaGFzQ29udGVudE5vbmUgfHwgc3R5bGVUeXBlKCkg
PT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBzdHlsZVR5cGUoKSA9PSBQc2V1ZG9JZDo6QWZ0ZXIpOyB9
CiAgICAgYm9vbCBoYXNDb250ZW50KCkgY29uc3QgeyByZXR1cm4gY29udGVudERhdGEoKTsgfQog
ICAgIGNvbnN0IENvbnRlbnREYXRhKiBjb250ZW50RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRlbnQuZ2V0KCk7IH0KICAgICB2b2lkIHNldENvbnRlbnQo
c3RkOjp1bmlxdWVfcHRyPENvbnRlbnREYXRhPiwgYm9vbCBhZGQpOwogICAgIGJvb2wgY29udGVu
dERhdGFFcXVpdmFsZW50KGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlclN0eWxlKSBjb25zdCB7IHJl
dHVybiBjb25zdF9jYXN0PFJlbmRlclN0eWxlKj4odGhpcyktPm1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPmNvbnRlbnREYXRhRXF1aXZhbGVudCgqY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KG90aGVy
U3R5bGUpLT5tX3JhcmVOb25Jbmhlcml0ZWREYXRhKTsgfQogICAgIHZvaWQgY2xlYXJDb250ZW50
KCk7Ci0gICAgdm9pZCBzZXRIYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQoYm9vbCB2KSB7IG1f
bm9uSW5oZXJpdGVkRmxhZ3MuaGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50ID0gdjsgfQotICAg
IGJvb2wgaGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9ub25J
bmhlcml0ZWRGbGFncy5oYXNFeHBsaWNpdGx5Q2xlYXJlZENvbnRlbnQ7IH07CisgICAgdm9pZCBz
ZXRIYXNDb250ZW50Tm9uZShib29sIHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNDb250ZW50
Tm9uZSA9IHY7IH0KICAgICB2b2lkIHNldENvbnRlbnQoY29uc3QgU3RyaW5nJiwgYm9vbCBhZGQg
PSBmYWxzZSk7CiAgICAgdm9pZCBzZXRDb250ZW50KFJlZlB0cjxTdHlsZUltYWdlPiYmLCBib29s
IGFkZCA9IGZhbHNlKTsKICAgICB2b2lkIHNldENvbnRlbnQoc3RkOjp1bmlxdWVfcHRyPENvdW50
ZXJDb250ZW50PiwgYm9vbCBhZGQgPSBmYWxzZSk7CkBAIC0xOTQxLDcgKzE5NDEsNyBAQCBwcml2
YXRlOgogICAgICAgICB1bnNpZ25lZCBmaXJzdENoaWxkU3RhdGUgOiAxOwogICAgICAgICB1bnNp
Z25lZCBsYXN0Q2hpbGRTdGF0ZSA6IDE7CiAgICAgICAgIHVuc2lnbmVkIGlzTGluayA6IDE7Ci0g
ICAgICAgIHVuc2lnbmVkIGhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudCA6IDE7CisgICAgICAg
IHVuc2lnbmVkIGhhc0NvbnRlbnROb25lIDogMTsKIAogICAgICAgICB1bnNpZ25lZCBzdHlsZVR5
cGUgOiA0OyAvLyBQc2V1ZG9JZAogICAgICAgICB1bnNpZ25lZCBwc2V1ZG9CaXRzIDogKHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihQc2V1ZG9JZDo6Rmlyc3RJbnRlcm5hbFBzZXVkb0lkKSAtIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihQc2V1ZG9JZDo6Rmlyc3RQdWJsaWNQc2V1ZG9JZCkpOwpAQCAtMjA3
OSw3ICsyMDc5LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyU3R5bGU6Ok5vbkluaGVyaXRlZEZsYWdz
OjpvcGVyYXRvcj09KGNvbnN0IE5vbkluaGVyaXRlZEZsYWdzJgogICAgICAgICAmJiBmaXJzdENo
aWxkU3RhdGUgPT0gb3RoZXIuZmlyc3RDaGlsZFN0YXRlCiAgICAgICAgICYmIGxhc3RDaGlsZFN0
YXRlID09IG90aGVyLmxhc3RDaGlsZFN0YXRlCiAgICAgICAgICYmIGlzTGluayA9PSBvdGhlci5p
c0xpbmsKLSAgICAgICAgJiYgaGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50ID09IG90aGVyLmhh
c0V4cGxpY2l0bHlDbGVhcmVkQ29udGVudAorICAgICAgICAmJiBoYXNDb250ZW50Tm9uZSA9PSBv
dGhlci5oYXNDb250ZW50Tm9uZQogICAgICAgICAmJiBzdHlsZVR5cGUgPT0gb3RoZXIuc3R5bGVU
eXBlCiAgICAgICAgICYmIHBzZXVkb0JpdHMgPT0gb3RoZXIucHNldWRvQml0czsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggZTAxOTE4ZDAwNDIwZTcz
ZjZlYWY1NzQyMjI1NjlmNGZlNzZkM2U2Zi4uMTNjYWQ5YjdmZDc3MmE2Y2QyMzk4MzQwZTI4Mjc3
MWJkNDliNDQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
Q3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgK
QEAgLTE1MjAsMTMgKzE1MjAsMTEgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlW
YWx1ZVN0cm9rZShCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdWUKIGlubGluZSB2
b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbENvbnRlbnQoQnVpbGRlclN0YXRlJiBidWls
ZGVyU3RhdGUpCiB7CiAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuY2xlYXJDb250ZW50KCk7Ci0g
ICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0SGFzRXhwbGljaXRseUNsZWFyZWRDb250ZW50KHRy
dWUpOworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEhhc0NvbnRlbnROb25lKGZhbHNlKTsK
IH0KIAogaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0Q29udGVudChCdWls
ZGVyU3RhdGUmKQogewotICAgIC8vIEZJWE1FOiBJbiBDU1MzLCBpdCB3aWxsIGJlIHBvc3NpYmxl
IHRvIGluaGVyaXQgY29udGVudC4gSW4gQ1NTMiBpdCBpcyBub3QuIFRoaXMKLSAgICAvLyBub3Rl
IGlzIGEgcmVtaW5kZXIgdGhhdCBldmVudHVhbGx5ICJpbmhlcml0IiBuZWVkcyB0byBiZSBzdXBw
b3J0ZWQuCiB9CiAKIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb250ZW50
KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCkBAIC0xNTM1LDcg
KzE1MzMsNyBAQCBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGVudChC
dWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdQogICAgICAgICBjb25zdCBhdXRvJiBw
cmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7CiAgICAg
ICAgIEFTU0VSVF9VTlVTRUQocHJpbWl0aXZlVmFsdWUsIHByaW1pdGl2ZVZhbHVlLnZhbHVlSUQo
KSA9PSBDU1NWYWx1ZU5vcm1hbCB8fCBwcmltaXRpdmVWYWx1ZS52YWx1ZUlEKCkgPT0gQ1NTVmFs
dWVOb25lKTsKICAgICAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuY2xlYXJDb250ZW50KCk7Ci0g
ICAgICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEhhc0V4cGxpY2l0bHlDbGVhcmVkQ29udGVu
dCh0cnVlKTsKKyAgICAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0SGFzQ29udGVudE5vbmUo
cHJpbWl0aXZlVmFsdWUudmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCmluZGV4IGRhNjFkOTEyYjdi
OTE1ODgzZTYxYjA1YmJiNGJjNzgwZDY5ZTc4OWQuLjI3ZDFlMzNlMGRiZDIyYmNiOTM4MzM0ODZk
NDgxMWUzNGE3Yzk1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmNwcApAQCAtMTAwLDcg
KzEwMCw3IEBAIFJlbmRlckVsZW1lbnQqIFN0eWxlYWJsZTo6cmVuZGVyZXIoKSBjb25zdAogICAg
IGNhc2UgUHNldWRvSWQ6Ok1hcmtlcjoKICAgICAgICAgaWYgKGlzPFJlbmRlckxpc3RJdGVtPihl
bGVtZW50LnJlbmRlcmVyKCkpKSB7CiAgICAgICAgICAgICBhdXRvKiBtYXJrZXJSZW5kZXJlciA9
IGRvd25jYXN0PFJlbmRlckxpc3RJdGVtPigqZWxlbWVudC5yZW5kZXJlcigpKS5tYXJrZXJSZW5k
ZXJlcigpOwotICAgICAgICAgICAgaWYgKG1hcmtlclJlbmRlcmVyICYmIG1hcmtlclJlbmRlcmVy
LT5zdHlsZSgpLmhhc0NvbnRlbnQoKSkKKyAgICAgICAgICAgIGlmIChtYXJrZXJSZW5kZXJlciAm
JiAhbWFya2VyUmVuZGVyZXItPnN0eWxlKCkuaGFzRWZmZWN0aXZlQ29udGVudE5vbmUoKSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gbWFya2VyUmVuZGVyZXI7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMWJkMzUyNWI3ZWIyYTI5Yzc2YmE2MzY2MWI5MGUwYjgxNWI1ODRjMy4u
MGY2OWVhMmI0ZjAzYzkxMmQxMDRmOGJkNDE1NTJlNzUzNjM4Y2MxNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDIyLTAxLTE0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgor
CisgICAgICAgIFNldHRpbmcgYGNvbnRlbnQ6IG5vcm1hbGAgb24gYSA6Om1hcmtlciBzaG91bGQg
bWFrZSBjb21wdXRlZCBzdHlsZSByZXR1cm4gcmVzb2x2ZWQgdmFsdWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUyMjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1z
aXplLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0xNCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBJbmNvcnJlY3Qgcm9vdCBpbmxpbmUgYm94IHBv
c2l0aW9uIHdoZW4gbm9uLWVtcHR5IGF0b21pYyBpbmxpbmUgbGV2ZWwgY2hpbGQgYm94IGhhcyBo
ZWlnaHQ6IDBweApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzAwMGNkYjdhZTdl
NmU5NTcxOWYyMGVjZTdiZGYxOWM1ZjEyM2RiNC4uM2U2NWZjNGRkNzc1ZjEyMjliYzIyOGFjNTFi
ZGMzYTRmZThiNDhiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMjItMDEtMTQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgU2V0dGluZyBgY29udGVudDogbm9ybWFsYCBvbiBhIDo6bWFya2VyIHNob3VsZCBt
YWtlIGNvbXB1dGVkIHN0eWxlIHJldHVybiByZXNvbHZlZCB2YWx1ZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTIyMgorCisgICAgICAgIE1hcmsg
V1BUIHByb2dyZXNzaW9ucy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXBzZXVkby9tYXJrZXItY29tcHV0ZWQtc2l6ZS1leHBlY3RlZC50eHQ6CisKIDIwMjItMDEtMTQg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFs6aGFzKCkgcHNl
dWRvLWNsYXNzXSBBdm9pZCBPKG5eMikgaW4gc3R5bGUgaW52YWxpZGF0aW9uIHdpdGggcmVwZWF0
ZWQgRE9NIG11dGF0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItY29tcHV0ZWQtc2l6ZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dAppbmRleCA2Yjk1
N2NkOGE0NWM2ZjUyY2YwNTBjOWQ2YmFiZDZlN2YzMmM5ODdiLi4yOGY3NDliNTI3MTJhYzU3NGFi
N2Y5MzQ4ZDI4ZDNiZTZmZWIxMmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXpl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXplLWV4cGVjdGVkLnR4dApA
QCAtMSw3ICsxLDcgQEAKIAotRkFJTCBEZWNpbWFsIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IHdp
ZHRoIGV4cGVjdGVkICIzMHB4IiBidXQgZ290ICJhdXRvIgotRkFJTCBEZWNpbWFsIDo6bWFya2Vy
IHdpdGggY3VzdG9tIHZhbHVlIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICI0MHB4IiBi
dXQgZ290ICJhdXRvIgotRkFJTCBTdHJpbmcgOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogd2lkdGgg
ZXhwZWN0ZWQgIjIwcHgiIGJ1dCBnb3QgImF1dG8iCitQQVNTIERlY2ltYWwgOjptYXJrZXIKK1BB
U1MgRGVjaW1hbCA6Om1hcmtlciB3aXRoIGN1c3RvbSB2YWx1ZQorUEFTUyBTdHJpbmcgOjptYXJr
ZXIKIFBBU1MgOjptYXJrZXIgd2l0aCBubyBib3ggZHVlIHRvICdsaXN0LXN0eWxlJwogRkFJTCA6
Om1hcmtlciB3aXRoIGN1c3RvbSBzdHJpbmcgY29udGVudHMgYXNzZXJ0X2VxdWFsczogd2lkdGgg
ZXhwZWN0ZWQgIjYwcHgiIGJ1dCBnb3QgImF1dG8iCiBGQUlMIDo6bWFya2VyIHdpdGggY3VzdG9t
IGltYWdlIGNvbnRlbnRzIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICIxMDBweCIgYnV0
IGdvdCAiYXV0byIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1z
aXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1jb21wdXRlZC1zaXplLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjk4N2Q0N2JjZTY4Nzc2YTcyMGVhNjRiYjlmZDIxNTcy
NmI5OTRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWNvbXB1dGVk
LXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworRkFJTCBEZWNpbWFsIDo6bWFy
a2VyIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICIzMHB4IiBidXQgZ290ICIxMXB4Igor
RkFJTCBEZWNpbWFsIDo6bWFya2VyIHdpdGggY3VzdG9tIHZhbHVlIGFzc2VydF9lcXVhbHM6IHdp
ZHRoIGV4cGVjdGVkICI0MHB4IiBidXQgZ290ICIxNnB4IgorRkFJTCBTdHJpbmcgOjptYXJrZXIg
YXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQgIjIwcHgiIGJ1dCBnb3QgIjdweCIKK1BBU1Mg
OjptYXJrZXIgd2l0aCBubyBib3ggZHVlIHRvICdsaXN0LXN0eWxlJworRkFJTCA6Om1hcmtlciB3
aXRoIGN1c3RvbSBzdHJpbmcgY29udGVudHMgYXNzZXJ0X2VxdWFsczogd2lkdGggZXhwZWN0ZWQg
IjYwcHgiIGJ1dCBnb3QgImF1dG8iCitGQUlMIDo6bWFya2VyIHdpdGggY3VzdG9tIGltYWdlIGNv
bnRlbnRzIGFzc2VydF9lcXVhbHM6IHdpZHRoIGV4cGVjdGVkICIxMDBweCIgYnV0IGdvdCAiYXV0
byIKK0ZBSUwgOjptYXJrZXIgd2l0aCBjdXN0b20gc3RyaW5nIGFuZCBpbWFnZSBjb250ZW50cyBh
c3NlcnRfZXF1YWxzOiB3aWR0aCBleHBlY3RlZCAiMTMwcHgiIGJ1dCBnb3QgImF1dG8iCitQQVNT
IDo6bWFya2VyIHdpdGggbm8gYm94IGR1ZSB0byAnY29udGVudCcKKwo=
</data>
<flag name="review"
          id="475221"
          type_id="1"
          status="+"
          setter="akeerthi"
    />
    <flag name="commit-queue"
          id="475278"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>