<?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>217045</bug_id>
          
          <creation_ts>2020-09-27 20:14:12 -0700</creation_ts>
          <short_desc>[LFC][Floats] Add support for clear on float box</short_desc>
          <delta_ts>2020-09-28 08:01:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1692475</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-09-27 20:14:12 -0700</bug_when>
    <thetext>&lt;div style=&quot;float: left; clear: both&quot;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692476</commentid>
    <comment_count>1</comment_count>
      <attachid>409867</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-27 20:33:45 -0700</bug_when>
    <thetext>Created attachment 409867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692527</commentid>
    <comment_count>2</comment_count>
      <attachid>409867</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-09-28 06:31:29 -0700</bug_when>
    <thetext>Comment on attachment 409867
Patch

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

&gt; Source/WebCore/layout/floats/FloatingContext.cpp:262
&gt; +        auto floatBottom = Optional&lt;PositionInContextRoot&gt; { };
&gt; +        switch (layoutBox.style().clear()) {
&gt; +        case Clear::Left:
&gt; +            floatBottom = floatingState().leftBottom(root());
&gt; +            break;
&gt; +        case Clear::Right:
&gt; +            floatBottom = floatingState().rightBottom(root());
&gt; +            break;
&gt; +        case Clear::Both:
&gt; +            floatBottom = floatingState().bottom(root());
&gt; +            break;
&gt; +        default:
&gt; +            ASSERT_NOT_REACHED();
&gt; +        }

No lambda?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692538</commentid>
    <comment_count>3</comment_count>
      <attachid>409885</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-28 07:36:50 -0700</bug_when>
    <thetext>Created attachment 409885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692539</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-09-28 07:37:53 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 409867 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=409867&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/floats/FloatingContext.cpp:262
&gt; &gt; +        auto floatBottom = Optional&lt;PositionInContextRoot&gt; { };
&gt; &gt; +        switch (layoutBox.style().clear()) {
&gt; &gt; +        case Clear::Left:
&gt; &gt; +            floatBottom = floatingState().leftBottom(root());
&gt; &gt; +            break;
&gt; &gt; +        case Clear::Right:
&gt; &gt; +            floatBottom = floatingState().rightBottom(root());
&gt; &gt; +            break;
&gt; &gt; +        case Clear::Both:
&gt; &gt; +            floatBottom = floatingState().bottom(root());
&gt; &gt; +            break;
&gt; &gt; +        default:
&gt; &gt; +            ASSERT_NOT_REACHED();
&gt; &gt; +        }
&gt; 
&gt; No lambda?
Certainly an oversight on my part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692547</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-28 08:00:18 -0700</bug_when>
    <thetext>Committed r267700: &lt;https://trac.webkit.org/changeset/267700&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409885.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692548</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-28 08:01:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/69698893&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409867</attachid>
            <date>2020-09-27 20:33:45 -0700</date>
            <delta_ts>2020-09-28 07:36:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217045-20200927203344.patch</filename>
            <type>text/plain</type>
            <size>12967</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU0ZTAyMzlhMmMwNDM2
ODU0OTBhMDcwMDg3OWU4ZjdhYTQzNzEzOC4uOGRlMzAzMjZhZTFkN2Y5MzM3YTg3YWQwMGJhYjI5
YzY4NjcwOGRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA5LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bRmxvYXRzXSBBZGQg
c3VwcG9ydCBmb3IgY2xlYXIgb24gZmxvYXQgYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcwNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHRoZSBmbG9hdCBib3ggYWxzbyBoYXMgdG8gY2xl
YXIgb3RoZXIgZmxvYXRzLCB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgaW5pdGlhbAorICAgICAgICB2
ZXJ0aWNhbCBwb3NpdGlvbiBmcm9tIHdoZXJlIHdlIHN0YXJ0IHNlYXJjaGluZyBmb3IgYXZhaWxh
YmxlIHNwYWNlLgorICAgICAgICAoVGhpcyBwYXRjaCBhbHNvIGZpeGVzIGEgcHJldmlvdXMgZmlu
ZCZyZXBsYWNlIHJlbmFtaW5nIGFuZCBhZGRyZXNzZXMgYSBwb3N0LWxhbmRpbmcgY29tbWVudC4p
IAorCisgICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZmxvYXQtd2l0
aC1jbGVhci1zaW1wbGUuaHRtbAorCisgICAgICAgICogbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ0NvbnRleHQ6OnBv
c2l0aW9uRm9yRmxvYXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGlu
Z0NvbnRleHQ6OnBvc2l0aW9uRm9yTm9uRmxvYXRpbmdGbG9hdEF2b2lkZXIgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ0NvbnRleHQ6OmFic29sdXRlQ29vcmRpbmF0
ZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ0NvbnRleHQ6OmFi
c29sdXRlQm94R2VvbWV0cnlDb29yZGluYXRlcyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
bGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuaDoKKwogMjAyMC0wOS0yNyAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIENhbGwgc2hvd0xh
eW91dFRyZWUgb25seSB3aGVuIHRyZWVzIGFyZSBtaXNtYXRjaGluZy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAKaW5kZXggNjdkMjhiODc0Mjk1ZWE1YWZjNWI3ZmI0
OGM4MmU0MDU5ZTM3ZGYzMS4uZTE0N2M1OTg0MTQwZDYxODI3ZjhiNDJjMmIzYmIxOGE4NDdhNDAx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAKQEAgLTUyLDcg
KzUyLDcgQEAgQm94R2VvbWV0cnkmIEZvcm1hdHRpbmdTdGF0ZTo6Ym94R2VvbWV0cnkoY29uc3Qg
Qm94JiBsYXlvdXRCb3gpCiB7CiAgICAgLy8gU2hvdWxkIG5ldmVyIG5lZWQgdG8gbXV0YXRlIGEg
ZGlzcGxheSBib3ggb3V0c2lkZSBvZiB0aGUgZm9ybWF0dGluZyBjb250ZXh0LgogICAgIEFTU0VS
VCgmbGF5b3V0U3RhdGUoKS5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShsYXlvdXRCb3guZm9y
bWF0dGluZ0NvbnRleHRSb290KCkpID09IHRoaXMpOwotICAgIC8vIEFub255bW91cyB0ZXh0IHdy
YXBwZXJzIGRvIG5vdCBuZWVkIGRpc3BsYXkgYm94ZXMuCisgICAgLy8gQW5vbnltb3VzIHRleHQg
d3JhcHBlcnMgZG8gbm90IG5lZWQgdG8gY29tcHV0ZSBib3ggZ2VvbWV0cnkuIFRoZXkgaW5pdGlh
dGUgaW5saW5lIHJ1bnMuCiAgICAgQVNTRVJUKCFsYXlvdXRCb3guaXNJbmxpbmVUZXh0Qm94KCkp
OwogICAgIHJldHVybiBsYXlvdXRTdGF0ZSgpLmVuc3VyZUdlb21ldHJ5Rm9yQm94KGxheW91dEJv
eCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5n
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4
dC5jcHAKaW5kZXggNGZhZGM0ODZkNTgwYzliMTJlZjk3MGNjNWFhYmNhMmY0M2MwMmJhZS4uOGZm
MDBkODk3MTk4MWEwZGQ2Y2ZmYjVkNGFkMDBiYzNhOTNiNTZlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmNwcApAQCAtMjI3LDM1ICsyMjcs
NTUgQEAgTGF5b3V0UG9pbnQgRmxvYXRpbmdDb250ZXh0Ojpwb3NpdGlvbkZvckZsb2F0KGNvbnN0
IEJveCYgbGF5b3V0Qm94LCBjb25zdCBIb3Jpem8KIAogICAgIGlmIChpc0VtcHR5KCkpIHsKICAg
ICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9y
Qm94KGxheW91dEJveCk7Ci0KICAgICAgICAgYXV0byBhbGlnbldpdGhDb250YWluaW5nQmxvY2sg
PSBbJl0oKSAtPiBQb3NpdGlvbiB7CiAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBmbG9h
dGluZyB0byBhbGlnbiB3aXRoLCBwdXNoIHRoZSBib3ggdG8gdGhlIGxlZnQvcmlnaHQgZWRnZSBv
ZiBpdHMgY29udGFpbmluZyBibG9jaydzIGNvbnRlbnQgYm94LgogICAgICAgICAgICAgaWYgKGxh
eW91dEJveC5pc0xlZnRGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAgICByZXR1
cm4geyBob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbExlZnQgKyBib3hHZW9tZXRyeS5tYXJn
aW5TdGFydCgpIH07Ci0KICAgICAgICAgICAgIHJldHVybiB7IGhvcml6b250YWxDb25zdHJhaW50
cy5sb2dpY2FsUmlnaHQoKSAtIGJveEdlb21ldHJ5Lm1hcmdpbkVuZCgpIC0gYm94R2VvbWV0cnku
bG9naWNhbFdpZHRoKCkgfTsKICAgICAgICAgfTsKLQogICAgICAgICAvLyBObyBmbG9hdCBib3gg
b24gdGhlIGNvbnRleHQgeWV0IC0+IGFsaWduIGl0IHdpdGggdGhlIGNvbnRhaW5pbmcgYmxvY2sn
cyBsZWZ0L3JpZ2h0IGVkZ2UuCiAgICAgICAgIHJldHVybiB7IGFsaWduV2l0aENvbnRhaW5pbmdC
bG9jaygpLCBib3hHZW9tZXRyeS5sb2dpY2FsVG9wKCkgfTsKICAgICB9CiAKICAgICAvLyBGaW5k
IHRoZSB0b3AgbW9zdCBwb3NpdGlvbiB3aGVyZSB0aGUgZmxvYXQgYm94IGZpdHMuCiAgICAgQVNT
RVJUKCFpc0VtcHR5KCkpOwotICAgIGF1dG8gcHJldmlvdXNGbG9hdEFic29sdXRlVG9wID0gZmxv
YXRpbmdTdGF0ZSgpLmZsb2F0cygpLmxhc3QoKS5yZWN0V2l0aE1hcmdpbigpLnRvcCgpOwotICAg
IGF1dG8gYWJzb2x1dGVCb3hHZW9tZXRyeUNvb3JkaW5hdGVzID0gdGhpcy0+YWJzb2x1dGVCb3hH
ZW9tZXRyeUNvb3JkaW5hdGVzKGxheW91dEJveCk7Ci0gICAgYXV0byBhYnNvbHV0ZVRvcExlZnQg
PSBhYnNvbHV0ZUJveEdlb21ldHJ5Q29vcmRpbmF0ZXMudG9wTGVmdDsKLSAgICAvLyBJbmNvbWlu
ZyBmbG9hdCBjYW5ub3QgYmUgcGxhY2VkIGhpZ2hlciB0aGFuIGV4aXN0aW5nIGZsb2F0cyAobWFy
Z2luIGJveCBvZiB0aGUgbGFzdCBmbG9hdCkuCi0gICAgLy8gVGFrZSB0aGUgc3RhdGljIHBvc2l0
aW9uICh3aGVyZSB0aGUgYm94IHdvdWxkIGdvIGlmIGl0IHdhc24ndCBmbG9hdGluZykgYW5kIGFk
anVzdCBpdCB3aXRoIHRoZSBsYXN0IGZsb2F0LgorICAgIGF1dG8gYWJzb2x1dGVDb29yZGluYXRl
cyA9IHRoaXMtPmFic29sdXRlQ29vcmRpbmF0ZXMobGF5b3V0Qm94KTsKKyAgICBhdXRvIGFic29s
dXRlVG9wTGVmdCA9IGFic29sdXRlQ29vcmRpbmF0ZXMudG9wTGVmdDsKKyAgICBhdXRvIHZlcnRp
Y2FsUG9zaXRpb25DYW5kaWRhdGUgPSBhYnNvbHV0ZVRvcExlZnQueSgpOworCiAgICAgYXV0byYg
Ym94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KGxheW91dEJv
eCk7Ci0gICAgaWYgKGFic29sdXRlVG9wTGVmdC55KCkgLSBib3hHZW9tZXRyeS5tYXJnaW5CZWZv
cmUoKSA8IHByZXZpb3VzRmxvYXRBYnNvbHV0ZVRvcCkKLSAgICAgICAgYWJzb2x1dGVUb3BMZWZ0
LnNldFkocHJldmlvdXNGbG9hdEFic29sdXRlVG9wICsgYm94R2VvbWV0cnkubWFyZ2luQmVmb3Jl
KCkpOworICAgIGlmIChsYXlvdXRCb3guaGFzRmxvYXRDbGVhcigpKSB7CisgICAgICAgIC8vIFRo
ZSB2ZXJ0aWNhbCBwb3NpdGlvbiBjYW5kaWRhdGUgbmVlZHMgdG8gY2xlYXIgdGhlIGV4aXN0aW5n
IGZsb2F0cyBpbiB0aGlzIGNvbnRleHQuCisgICAgICAgIGF1dG8gZmxvYXRCb3R0b20gPSBPcHRp
b25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IHsgfTsKKyAgICAgICAgc3dpdGNoIChsYXlvdXRC
b3guc3R5bGUoKS5jbGVhcigpKSB7CisgICAgICAgIGNhc2UgQ2xlYXI6OkxlZnQ6CisgICAgICAg
ICAgICBmbG9hdEJvdHRvbSA9IGZsb2F0aW5nU3RhdGUoKS5sZWZ0Qm90dG9tKHJvb3QoKSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDbGVhcjo6UmlnaHQ6CisgICAgICAgICAg
ICBmbG9hdEJvdHRvbSA9IGZsb2F0aW5nU3RhdGUoKS5yaWdodEJvdHRvbShyb290KCkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2xlYXI6OkJvdGg6CisgICAgICAgICAgICBm
bG9hdEJvdHRvbSA9IGZsb2F0aW5nU3RhdGUoKS5ib3R0b20ocm9vdCgpKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGZsb2F0Qm90dG9tKQorICAgICAgICAgICAgdmVy
dGljYWxQb3NpdGlvbkNhbmRpZGF0ZSA9ICpmbG9hdEJvdHRvbSArIGJveEdlb21ldHJ5Lm1hcmdp
bkJlZm9yZSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIEluY29taW5nIGZsb2F0IGNhbm5v
dCBiZSBwbGFjZWQgaGlnaGVyIHRoYW4gZXhpc3RpbmcgZmxvYXRzIChtYXJnaW4gYm94IG9mIHRo
ZSBsYXN0IGZsb2F0KS4KKyAgICAgICAgLy8gVGFrZSB0aGUgc3RhdGljIHBvc2l0aW9uICh3aGVy
ZSB0aGUgYm94IHdvdWxkIGdvIGlmIGl0IHdhc24ndCBmbG9hdGluZykgYW5kIGFkanVzdCBpdCB3
aXRoIHRoZSBsYXN0IGZsb2F0LgorICAgICAgICBhdXRvIHByZXZpb3VzRmxvYXRBYnNvbHV0ZVRv
cCA9IGZsb2F0aW5nU3RhdGUoKS5mbG9hdHMoKS5sYXN0KCkucmVjdFdpdGhNYXJnaW4oKS50b3Ao
KTsKKyAgICAgICAgaWYgKHZlcnRpY2FsUG9zaXRpb25DYW5kaWRhdGUgLSBib3hHZW9tZXRyeS5t
YXJnaW5CZWZvcmUoKSA8IHByZXZpb3VzRmxvYXRBYnNvbHV0ZVRvcCkKKyAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb25DYW5kaWRhdGUgPSBwcmV2aW91c0Zsb2F0QWJzb2x1dGVUb3AgKyBib3hH
ZW9tZXRyeS5tYXJnaW5CZWZvcmUoKTsKKyAgICB9CisgICAgYWJzb2x1dGVUb3BMZWZ0LnNldFko
dmVydGljYWxQb3NpdGlvbkNhbmRpZGF0ZSk7CiAgICAgYXV0byBob3Jpem9udGFsTWFyZ2luID0g
Y29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRz
LmxvZ2ljYWxXaWR0aCk7CiAgICAgYXV0byBtYXJnaW5zID0gRWRnZXMgeyB7ICpob3Jpem9udGFs
TWFyZ2luLnN0YXJ0LCAqaG9yaXpvbnRhbE1hcmdpbi5lbmQgfSwgeyBib3hHZW9tZXRyeS5tYXJn
aW5CZWZvcmUoKSwgYm94R2VvbWV0cnkubWFyZ2luQWZ0ZXIoKSB9IH07Ci0gICAgYXV0byBmbG9h
dEJveCA9IEZsb2F0QXZvaWRlciB7IGxheW91dEJveCwgYWJzb2x1dGVUb3BMZWZ0LCBib3hHZW9t
ZXRyeS5sb2dpY2FsV2lkdGgoKSwgbWFyZ2lucywgYWJzb2x1dGVCb3hHZW9tZXRyeUNvb3JkaW5h
dGVzLmNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3ggfTsKKyAgICBhdXRvIGZsb2F0Qm94ID0gRmxv
YXRBdm9pZGVyIHsgbGF5b3V0Qm94LCBhYnNvbHV0ZVRvcExlZnQsIGJveEdlb21ldHJ5LmxvZ2lj
YWxXaWR0aCgpLCBtYXJnaW5zLCBhYnNvbHV0ZUNvb3JkaW5hdGVzLmNvbnRhaW5pbmdCbG9ja0Nv
bnRlbnRCb3ggfTsKICAgICBmaW5kQXZhaWxhYmxlUG9zaXRpb24oZmxvYXRCb3gsIG1fZmxvYXRp
bmdTdGF0ZS5mbG9hdHMoKSk7Ci0gICAgLy8gRnJvbSBmb3JtYXR0aW5nIHJvb3QgY29vcmRpbmF0
ZSBzeXN0ZW0gYmFjayB0byBjb250YWluaW5nIGJsb2NrJ3MuCi0gICAgYXV0byBjb250YWluaW5n
QmxvY2tUb3BMZWZ0ID0gYWJzb2x1dGVCb3hHZW9tZXRyeUNvb3JkaW5hdGVzLmNvbnRhaW5pbmdC
bG9ja1RvcExlZnQ7CisgICAgLy8gQ29udmVydCBib3ggY29vcmRpbmF0ZXMgZnJvbSBmb3JtYXR0
aW5nIHJvb3QgYmFjayB0byBjb250YWluaW5nIGJsb2NrLgorICAgIGF1dG8gY29udGFpbmluZ0Js
b2NrVG9wTGVmdCA9IGFic29sdXRlQ29vcmRpbmF0ZXMuY29udGFpbmluZ0Jsb2NrVG9wTGVmdDsK
ICAgICByZXR1cm4geyBmbG9hdEJveC5sZWZ0KCkgKyBtYXJnaW5zLmhvcml6b250YWwubGVmdCAt
IGNvbnRhaW5pbmdCbG9ja1RvcExlZnQueCgpLCBmbG9hdEJveC50b3AoKSArIG1hcmdpbnMudmVy
dGljYWwudG9wIC0gY29udGFpbmluZ0Jsb2NrVG9wTGVmdC55KCkgfTsKIH0KIApAQCAtMjY5LDEz
ICsyODksMTMgQEAgTGF5b3V0UG9pbnQgRmxvYXRpbmdDb250ZXh0Ojpwb3NpdGlvbkZvck5vbkZs
b2F0aW5nRmxvYXRBdm9pZGVyKGNvbnN0IEJveCYgbGF5b3UKICAgICBpZiAoaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRC
b3gpLmxvZ2ljYWxUb3BMZWZ0KCk7CiAKLSAgICBhdXRvIGFic29sdXRlQm94R2VvbWV0cnlDb29y
ZGluYXRlcyA9IHRoaXMtPmFic29sdXRlQm94R2VvbWV0cnlDb29yZGluYXRlcyhsYXlvdXRCb3gp
OworICAgIGF1dG8gYWJzb2x1dGVDb29yZGluYXRlcyA9IHRoaXMtPmFic29sdXRlQ29vcmRpbmF0
ZXMobGF5b3V0Qm94KTsKICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0
KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKICAgICBhdXRvIGhvcml6b250YWxNYXJnaW4g
PSBjb21wdXRlZEhvcml6b250YWxNYXJnaW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWlu
dHMubG9naWNhbFdpZHRoKTsKICAgICBhdXRvIG1hcmdpbnMgPSBFZGdlcyB7IHsgKmhvcml6b250
YWxNYXJnaW4uc3RhcnQsICpob3Jpem9udGFsTWFyZ2luLmVuZCB9LCB7IGJveEdlb21ldHJ5Lm1h
cmdpbkJlZm9yZSgpLCBib3hHZW9tZXRyeS5tYXJnaW5BZnRlcigpIH0gfTsKLSAgICBhdXRvIGZs
b2F0QXZvaWRlciA9IEZsb2F0QXZvaWRlciB7IGxheW91dEJveCwgYWJzb2x1dGVCb3hHZW9tZXRy
eUNvb3JkaW5hdGVzLnRvcExlZnQsIGJveEdlb21ldHJ5LmxvZ2ljYWxXaWR0aCgpLCBtYXJnaW5z
LCBhYnNvbHV0ZUJveEdlb21ldHJ5Q29vcmRpbmF0ZXMuY29udGFpbmluZ0Jsb2NrQ29udGVudEJv
eCB9OworICAgIGF1dG8gZmxvYXRBdm9pZGVyID0gRmxvYXRBdm9pZGVyIHsgbGF5b3V0Qm94LCBh
YnNvbHV0ZUNvb3JkaW5hdGVzLnRvcExlZnQsIGJveEdlb21ldHJ5LmxvZ2ljYWxXaWR0aCgpLCBt
YXJnaW5zLCBhYnNvbHV0ZUNvb3JkaW5hdGVzLmNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3ggfTsK
ICAgICBmaW5kUG9zaXRpb25Gb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QoZmxvYXRBdm9pZGVyKTsK
LSAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1RvcExlZnQgPSBhYnNvbHV0ZUJveEdlb21ldHJ5Q29v
cmRpbmF0ZXMuY29udGFpbmluZ0Jsb2NrVG9wTGVmdDsKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9j
a1RvcExlZnQgPSBhYnNvbHV0ZUNvb3JkaW5hdGVzLmNvbnRhaW5pbmdCbG9ja1RvcExlZnQ7CiAg
ICAgcmV0dXJuIHsgZmxvYXRBdm9pZGVyLmxlZnQoKSAtIGNvbnRhaW5pbmdCbG9ja1RvcExlZnQu
eCgpLCBmbG9hdEF2b2lkZXIudG9wKCkgLSBjb250YWluaW5nQmxvY2tUb3BMZWZ0LnkoKSB9Owog
fQogCkBAIC00NTUsNyArNDc1LDcgQEAgdm9pZCBGbG9hdGluZ0NvbnRleHQ6OmZpbmRQb3NpdGlv
bkZvckZvcm1hdHRpbmdDb250ZXh0Um9vdChGbG9hdEF2b2lkZXImIGZsb2F0QXYKICAgICB9CiB9
CiAKLUZsb2F0aW5nQ29udGV4dDo6QWJzb2x1dGVDb29yZGluYXRlVmFsdWVzRm9yRmxvYXRBdm9p
ZGVyIEZsb2F0aW5nQ29udGV4dDo6YWJzb2x1dGVCb3hHZW9tZXRyeUNvb3JkaW5hdGVzKGNvbnN0
IEJveCYgZmxvYXRBdm9pZGVyKSBjb25zdAorRmxvYXRpbmdDb250ZXh0OjpBYnNvbHV0ZUNvb3Jk
aW5hdGVWYWx1ZXNGb3JGbG9hdEF2b2lkZXIgRmxvYXRpbmdDb250ZXh0OjphYnNvbHV0ZUNvb3Jk
aW5hdGVzKGNvbnN0IEJveCYgZmxvYXRBdm9pZGVyKSBjb25zdAogewogICAgIGF1dG8mIGNvbnRh
aW5pbmdCbG9jayA9IGZsb2F0QXZvaWRlci5jb250YWluaW5nQmxvY2soKTsKICAgICBhdXRvJiBj
b250YWluaW5nQmxvY2tHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JC
b3goY29udGFpbmluZ0Jsb2NrLCBGb3JtYXR0aW5nQ29udGV4dDo6RXNjYXBlUmVhc29uOjpGbG9h
dEJveE5lZWRzVG9CZUluQWJzb2x1dGVDb29yZGluYXRlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuaAppbmRleCAxYzg5NmE3M2Y5NzY3OGZmZDBk
M2MyYWRhNWVlNDcxNThhYmZlNTNmLi4xYWM2Njg1NDg4MzZkMGJlOWZmZjkwZGY0NGE1NTE1OTA4
NWYxYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5n
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250
ZXh0LmgKQEAgLTc0LDcgKzc0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpbmRQb3NpdGlvbkZv
ckZvcm1hdHRpbmdDb250ZXh0Um9vdChGbG9hdEF2b2lkZXImKSBjb25zdDsKIAogICAgIHN0cnVj
dCBBYnNvbHV0ZUNvb3JkaW5hdGVWYWx1ZXNGb3JGbG9hdEF2b2lkZXI7Ci0gICAgQWJzb2x1dGVD
b29yZGluYXRlVmFsdWVzRm9yRmxvYXRBdm9pZGVyIGFic29sdXRlQm94R2VvbWV0cnlDb29yZGlu
YXRlcyhjb25zdCBCb3gmKSBjb25zdDsKKyAgICBBYnNvbHV0ZUNvb3JkaW5hdGVWYWx1ZXNGb3JG
bG9hdEF2b2lkZXIgYWJzb2x1dGVDb29yZGluYXRlcyhjb25zdCBCb3gmKSBjb25zdDsKICAgICBM
YXlvdXRQb2ludCBtYXBUb3BMZWZ0VG9GbG9hdGluZ1N0YXRlUm9vdChjb25zdCBCb3gmKSBjb25z
dDsKICAgICBQb2ludCBtYXBQb2ludEZyb21Gb3JtYXR0aW5nQ29udGV4dFJvb3RUb0Zsb2F0aW5n
U3RhdGVSb290KFBvaW50KSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZhYzZkZjllZGMzY2U5YTczY2UyYzZm
YTlmNzM2NTg2NDYyNjMyYWQuLjQ2YTBiY2EwODU0MjkwM2I1N2I4MDdiNTVlZWFmNmM2NzMwOTIy
MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wOS0yNyAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgorCisgICAgICAgIFtMRkNdW0Zsb2F0c10gQWRkIHN1cHBvcnQgZm9yIGNs
ZWFyIG9uIGZsb2F0IGJveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE3MDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2Zsb2F0LXdpdGgtY2xlYXIt
c2ltcGxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbGF5b3V0Zm9ybWF0
dGluZ2NvbnRleHQvZmxvYXQtd2l0aC1jbGVhci1zaW1wbGUuaHRtbDogQWRkZWQuCisKIDIwMjAt
MDktMjcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJ
RkNdIENyZWF0ZSBpbmxpbmUgYm94ZXMgZm9yIGhhcmQgbGluZSBicmVha3MoPGJyPikgYW5kIHdv
cmQgd3JhcCBvcHBvcnR1bml0aWVzICg8d2JyPikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZmxvYXQtd2l0aC1jbGVhci1zaW1wbGUtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZmxvYXQt
d2l0aC1jbGVhci1zaW1wbGUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmRjYWIxNzc1Y2Vk
ODM0OThiYzFlOGUxZjE4MzgxZTkyMzAwNjI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9mbG9hdC13aXRoLWNsZWFyLXNpbXBsZS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkxheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZD10
cnVlIGludGVybmFsOkxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkPWZh
bHNlIF0gLS0+Cis8c3R5bGU+CisuZmxvYXQgeworICB3aWR0aDogMjBweDsKKyAgaGVpZ2h0OiAy
MHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICBwb3NpdGlvbjogcmVsYXRpdmU7Cit9
Cis8L3N0eWxlPgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDhweDsgbGVm
dDogOHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgd2lkdGg6IDQwcHg7IGhlaWdodDogMjQw
cHgiPjwvZGl2PgorPGRpdiBjbGFzcz1mbG9hdD48L2Rpdj4KKzxkaXYgY2xhc3M9ZmxvYXQ+PC9k
aXY+Cis8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJsZWZ0OiAyMHB4OyI+PC9kaXY+Cis8ZGl2IGNs
YXNzPWZsb2F0IHN0eWxlPSJsZWZ0OiAyMHB4OyI+PC9kaXY+Cis8ZGl2IGNsYXNzPWZsb2F0IHN0
eWxlPSJsZWZ0OiAyMHB4OyI+PC9kaXY+Cis8ZGl2IGNsYXNzPWZsb2F0PjwvZGl2PgorPGRpdiBj
bGFzcz1mbG9hdD48L2Rpdj4KKzxkaXYgY2xhc3M9ZmxvYXQgc3R5bGU9ImxlZnQ6IDIwcHg7Ij48
L2Rpdj4KKzxkaXYgY2xhc3M9ZmxvYXQ+PC9kaXY+Cis8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJ0
b3A6IC0yMHB4OyBsZWZ0OiAyMHB4OyI+PC9kaXY+Cis8ZGl2IGNsYXNzPWZsb2F0PjwvZGl2Pgor
PGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0idG9wOiAtMjBweDsgbGVmdDogMjBweDsiPjwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9mbG9h
dC13aXRoLWNsZWFyLXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0
aW5nY29udGV4dC9mbG9hdC13aXRoLWNsZWFyLXNpbXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhODEw
NjIwMWEwOGFhNzZkNDQyOWVhZTBiM2YxODUzM2Q1ZGQxODQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2Zsb2F0LXdpdGgtY2xlYXIt
c2ltcGxlLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkPXRy
dWUgaW50ZXJuYWw6TGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ9ZmFs
c2UgXSAtLT4KKzxzdHlsZT4KK2RpdiB7CisgIG92ZXJmbG93OiBoaWRkZW47CisgIHdpZHRoOiA0
MHB4OworICBoZWlnaHQ6IDQwcHg7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorLmZs
b2F0IHsKKyAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgd2lkdGg6IDIwcHg7CisgIGhlaWdo
dDogMjBweDsKK30KKzwvc3R5bGU+Cis8ZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJm
bG9hdDogbGVmdDsiPjwvZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJmbG9hdDogbGVm
dDsgY2xlYXI6IGxlZnQiPjwvZGl2PgorPC9kaXY+Cis8ZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0
IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0i
ZmxvYXQ6IHJpZ2h0OyBjbGVhcjogcmlnaHQiPjwvZGl2PgorPC9kaXY+Cis8ZGl2PgorICA8ZGl2
IGNsYXNzPWZsb2F0IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz1m
bG9hdCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IGNsZWFyOiByaWdodCI+PC9kaXY+Cis8L2Rpdj4KKzxk
aXY+CisgIDxkaXYgY2xhc3M9ZmxvYXQgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ZmxvYXQgc3R5bGU9ImZsb2F0OiByaWdodDsgY2xlYXI6IGxlZnQiPjwvZGl2Pgor
PC9kaXY+Cis8ZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJmbG9hdDogbGVmdDsiPjwv
ZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJmbG9hdDogcmlnaHQ7IGNsZWFyOiByaWdo
dCI+PC9kaXY+Cis8L2Rpdj4KKzxkaXY+CisgIDxkaXYgY2xhc3M9ZmxvYXQgc3R5bGU9ImZsb2F0
OiByaWdodDsiPjwvZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJmbG9hdDogbGVmdDsg
Y2xlYXI6IGxlZnQiPjwvZGl2PgorPC9kaXY+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409885</attachid>
            <date>2020-09-28 07:36:50 -0700</date>
            <delta_ts>2020-09-28 08:00:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217045-20200928073649.patch</filename>
            <type>text/plain</type>
            <size>12998</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU0ZTAyMzlhMmMwNDM2
ODU0OTBhMDcwMDg3OWU4ZjdhYTQzNzEzOC4uNjZlODdhNzFiYWJmMDQ1YzQzZDkxMDJkMzIxOTlm
MzhjNWFhOTQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA5LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bRmxvYXRzXSBBZGQg
c3VwcG9ydCBmb3IgY2xlYXIgb24gZmxvYXQgYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcwNDUKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0
aSBLb2l2aXN0by4KKworICAgICAgICBXaGVuIHRoZSBmbG9hdCBib3ggYWxzbyBoYXMgdG8gY2xl
YXIgb3RoZXIgZmxvYXRzLCB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgaW5pdGlhbAorICAgICAgICB2
ZXJ0aWNhbCBwb3NpdGlvbiBmcm9tIHdoZXJlIHdlIHN0YXJ0IHNlYXJjaGluZyBmb3IgYXZhaWxh
YmxlIHNwYWNlLgorICAgICAgICAoVGhpcyBwYXRjaCBhbHNvIGZpeGVzIGEgcHJldmlvdXMgZmlu
ZCZyZXBsYWNlIHJlbmFtaW5nIGFuZCBhZGRyZXNzZXMgYSBwb3N0LWxhbmRpbmcgY29tbWVudC4p
IAorCisgICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZmxvYXQtd2l0
aC1jbGVhci1zaW1wbGUuaHRtbAorCisgICAgICAgICogbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ0NvbnRleHQ6OnBv
c2l0aW9uRm9yRmxvYXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGlu
Z0NvbnRleHQ6OnBvc2l0aW9uRm9yTm9uRmxvYXRpbmdGbG9hdEF2b2lkZXIgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ0NvbnRleHQ6OmFic29sdXRlQ29vcmRpbmF0
ZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ0NvbnRleHQ6OmFi
c29sdXRlQm94R2VvbWV0cnlDb29yZGluYXRlcyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
bGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuaDoKKwogMjAyMC0wOS0yNyAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIENhbGwgc2hvd0xh
eW91dFRyZWUgb25seSB3aGVuIHRyZWVzIGFyZSBtaXNtYXRjaGluZy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAKaW5kZXggNjdkMjhiODc0Mjk1ZWE1YWZjNWI3ZmI0
OGM4MmU0MDU5ZTM3ZGYzMS4uZTE0N2M1OTg0MTQwZDYxODI3ZjhiNDJjMmIzYmIxOGE4NDdhNDAx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAKQEAgLTUyLDcg
KzUyLDcgQEAgQm94R2VvbWV0cnkmIEZvcm1hdHRpbmdTdGF0ZTo6Ym94R2VvbWV0cnkoY29uc3Qg
Qm94JiBsYXlvdXRCb3gpCiB7CiAgICAgLy8gU2hvdWxkIG5ldmVyIG5lZWQgdG8gbXV0YXRlIGEg
ZGlzcGxheSBib3ggb3V0c2lkZSBvZiB0aGUgZm9ybWF0dGluZyBjb250ZXh0LgogICAgIEFTU0VS
VCgmbGF5b3V0U3RhdGUoKS5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShsYXlvdXRCb3guZm9y
bWF0dGluZ0NvbnRleHRSb290KCkpID09IHRoaXMpOwotICAgIC8vIEFub255bW91cyB0ZXh0IHdy
YXBwZXJzIGRvIG5vdCBuZWVkIGRpc3BsYXkgYm94ZXMuCisgICAgLy8gQW5vbnltb3VzIHRleHQg
d3JhcHBlcnMgZG8gbm90IG5lZWQgdG8gY29tcHV0ZSBib3ggZ2VvbWV0cnkuIFRoZXkgaW5pdGlh
dGUgaW5saW5lIHJ1bnMuCiAgICAgQVNTRVJUKCFsYXlvdXRCb3guaXNJbmxpbmVUZXh0Qm94KCkp
OwogICAgIHJldHVybiBsYXlvdXRTdGF0ZSgpLmVuc3VyZUdlb21ldHJ5Rm9yQm94KGxheW91dEJv
eCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5n
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4
dC5jcHAKaW5kZXggNGZhZGM0ODZkNTgwYzliMTJlZjk3MGNjNWFhYmNhMmY0M2MwMmJhZS4uNTVi
YjI3MGU2MzkwYzUzZDZiNzBjOGQ3N2I3YjhjYTEwNTE5MTE3MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmNwcApAQCAtMjI3LDM1ICsyMjcs
NTQgQEAgTGF5b3V0UG9pbnQgRmxvYXRpbmdDb250ZXh0Ojpwb3NpdGlvbkZvckZsb2F0KGNvbnN0
IEJveCYgbGF5b3V0Qm94LCBjb25zdCBIb3Jpem8KIAogICAgIGlmIChpc0VtcHR5KCkpIHsKICAg
ICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9y
Qm94KGxheW91dEJveCk7Ci0KICAgICAgICAgYXV0byBhbGlnbldpdGhDb250YWluaW5nQmxvY2sg
PSBbJl0oKSAtPiBQb3NpdGlvbiB7CiAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBmbG9h
dGluZyB0byBhbGlnbiB3aXRoLCBwdXNoIHRoZSBib3ggdG8gdGhlIGxlZnQvcmlnaHQgZWRnZSBv
ZiBpdHMgY29udGFpbmluZyBibG9jaydzIGNvbnRlbnQgYm94LgogICAgICAgICAgICAgaWYgKGxh
eW91dEJveC5pc0xlZnRGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAgICByZXR1
cm4geyBob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbExlZnQgKyBib3hHZW9tZXRyeS5tYXJn
aW5TdGFydCgpIH07Ci0KICAgICAgICAgICAgIHJldHVybiB7IGhvcml6b250YWxDb25zdHJhaW50
cy5sb2dpY2FsUmlnaHQoKSAtIGJveEdlb21ldHJ5Lm1hcmdpbkVuZCgpIC0gYm94R2VvbWV0cnku
bG9naWNhbFdpZHRoKCkgfTsKICAgICAgICAgfTsKLQogICAgICAgICAvLyBObyBmbG9hdCBib3gg
b24gdGhlIGNvbnRleHQgeWV0IC0+IGFsaWduIGl0IHdpdGggdGhlIGNvbnRhaW5pbmcgYmxvY2sn
cyBsZWZ0L3JpZ2h0IGVkZ2UuCiAgICAgICAgIHJldHVybiB7IGFsaWduV2l0aENvbnRhaW5pbmdC
bG9jaygpLCBib3hHZW9tZXRyeS5sb2dpY2FsVG9wKCkgfTsKICAgICB9CiAKICAgICAvLyBGaW5k
IHRoZSB0b3AgbW9zdCBwb3NpdGlvbiB3aGVyZSB0aGUgZmxvYXQgYm94IGZpdHMuCiAgICAgQVNT
RVJUKCFpc0VtcHR5KCkpOwotICAgIGF1dG8gcHJldmlvdXNGbG9hdEFic29sdXRlVG9wID0gZmxv
YXRpbmdTdGF0ZSgpLmZsb2F0cygpLmxhc3QoKS5yZWN0V2l0aE1hcmdpbigpLnRvcCgpOwotICAg
IGF1dG8gYWJzb2x1dGVCb3hHZW9tZXRyeUNvb3JkaW5hdGVzID0gdGhpcy0+YWJzb2x1dGVCb3hH
ZW9tZXRyeUNvb3JkaW5hdGVzKGxheW91dEJveCk7Ci0gICAgYXV0byBhYnNvbHV0ZVRvcExlZnQg
PSBhYnNvbHV0ZUJveEdlb21ldHJ5Q29vcmRpbmF0ZXMudG9wTGVmdDsKLSAgICAvLyBJbmNvbWlu
ZyBmbG9hdCBjYW5ub3QgYmUgcGxhY2VkIGhpZ2hlciB0aGFuIGV4aXN0aW5nIGZsb2F0cyAobWFy
Z2luIGJveCBvZiB0aGUgbGFzdCBmbG9hdCkuCi0gICAgLy8gVGFrZSB0aGUgc3RhdGljIHBvc2l0
aW9uICh3aGVyZSB0aGUgYm94IHdvdWxkIGdvIGlmIGl0IHdhc24ndCBmbG9hdGluZykgYW5kIGFk
anVzdCBpdCB3aXRoIHRoZSBsYXN0IGZsb2F0LgorICAgIGF1dG8gYWJzb2x1dGVDb29yZGluYXRl
cyA9IHRoaXMtPmFic29sdXRlQ29vcmRpbmF0ZXMobGF5b3V0Qm94KTsKKyAgICBhdXRvIGFic29s
dXRlVG9wTGVmdCA9IGFic29sdXRlQ29vcmRpbmF0ZXMudG9wTGVmdDsKKyAgICBhdXRvIHZlcnRp
Y2FsUG9zaXRpb25DYW5kaWRhdGUgPSBhYnNvbHV0ZVRvcExlZnQueSgpOworCiAgICAgYXV0byYg
Ym94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KGxheW91dEJv
eCk7Ci0gICAgaWYgKGFic29sdXRlVG9wTGVmdC55KCkgLSBib3hHZW9tZXRyeS5tYXJnaW5CZWZv
cmUoKSA8IHByZXZpb3VzRmxvYXRBYnNvbHV0ZVRvcCkKLSAgICAgICAgYWJzb2x1dGVUb3BMZWZ0
LnNldFkocHJldmlvdXNGbG9hdEFic29sdXRlVG9wICsgYm94R2VvbWV0cnkubWFyZ2luQmVmb3Jl
KCkpOworICAgIGlmIChsYXlvdXRCb3guaGFzRmxvYXRDbGVhcigpKSB7CisgICAgICAgIC8vIFRo
ZSB2ZXJ0aWNhbCBwb3NpdGlvbiBjYW5kaWRhdGUgbmVlZHMgdG8gY2xlYXIgdGhlIGV4aXN0aW5n
IGZsb2F0cyBpbiB0aGlzIGNvbnRleHQuCisgICAgICAgIGF1dG8gZmxvYXRCb3R0b20gPSBbJl0o
KSAtPiBPcHRpb25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IHsKKyAgICAgICAgICAgIHN3aXRj
aCAobGF5b3V0Qm94LnN0eWxlKCkuY2xlYXIoKSkgeworICAgICAgICAgICAgY2FzZSBDbGVhcjo6
TGVmdDoKKyAgICAgICAgICAgICAgICByZXR1cm4gZmxvYXRpbmdTdGF0ZSgpLmxlZnRCb3R0b20o
cm9vdCgpKTsKKyAgICAgICAgICAgIGNhc2UgQ2xlYXI6OlJpZ2h0OgorICAgICAgICAgICAgICAg
IHJldHVybiBmbG9hdGluZ1N0YXRlKCkucmlnaHRCb3R0b20ocm9vdCgpKTsKKyAgICAgICAgICAg
IGNhc2UgQ2xlYXI6OkJvdGg6CisgICAgICAgICAgICAgICAgcmV0dXJuIGZsb2F0aW5nU3RhdGUo
KS5ib3R0b20ocm9vdCgpKTsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4g
eyB9OworICAgICAgICB9OworICAgICAgICBpZiAoYXV0byBib3R0b21XaXRoQ2xlYXIgPSBmbG9h
dEJvdHRvbSgpKQorICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbkNhbmRpZGF0ZSA9ICpib3R0
b21XaXRoQ2xlYXIgKyBib3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICAvLyBJbmNvbWluZyBmbG9hdCBjYW5ub3QgYmUgcGxhY2VkIGhpZ2hlciB0aGFuIGV4
aXN0aW5nIGZsb2F0cyAobWFyZ2luIGJveCBvZiB0aGUgbGFzdCBmbG9hdCkuCisgICAgICAgIC8v
IFRha2UgdGhlIHN0YXRpYyBwb3NpdGlvbiAod2hlcmUgdGhlIGJveCB3b3VsZCBnbyBpZiBpdCB3
YXNuJ3QgZmxvYXRpbmcpIGFuZCBhZGp1c3QgaXQgd2l0aCB0aGUgbGFzdCBmbG9hdC4KKyAgICAg
ICAgYXV0byBwcmV2aW91c0Zsb2F0QWJzb2x1dGVUb3AgPSBmbG9hdGluZ1N0YXRlKCkuZmxvYXRz
KCkubGFzdCgpLnJlY3RXaXRoTWFyZ2luKCkudG9wKCk7CisgICAgICAgIGlmICh2ZXJ0aWNhbFBv
c2l0aW9uQ2FuZGlkYXRlIC0gYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgPCBwcmV2aW91c0Zs
b2F0QWJzb2x1dGVUb3ApCisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uQ2FuZGlkYXRlID0g
cHJldmlvdXNGbG9hdEFic29sdXRlVG9wICsgYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCk7Cisg
ICAgfQorICAgIGFic29sdXRlVG9wTGVmdC5zZXRZKHZlcnRpY2FsUG9zaXRpb25DYW5kaWRhdGUp
OwogICAgIGF1dG8gaG9yaXpvbnRhbE1hcmdpbiA9IGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbihs
YXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lkdGgpOwogICAgIGF1dG8g
bWFyZ2lucyA9IEVkZ2VzIHsgeyAqaG9yaXpvbnRhbE1hcmdpbi5zdGFydCwgKmhvcml6b250YWxN
YXJnaW4uZW5kIH0sIHsgYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCksIGJveEdlb21ldHJ5Lm1h
cmdpbkFmdGVyKCkgfSB9OwotICAgIGF1dG8gZmxvYXRCb3ggPSBGbG9hdEF2b2lkZXIgeyBsYXlv
dXRCb3gsIGFic29sdXRlVG9wTGVmdCwgYm94R2VvbWV0cnkubG9naWNhbFdpZHRoKCksIG1hcmdp
bnMsIGFic29sdXRlQm94R2VvbWV0cnlDb29yZGluYXRlcy5jb250YWluaW5nQmxvY2tDb250ZW50
Qm94IH07CisgICAgYXV0byBmbG9hdEJveCA9IEZsb2F0QXZvaWRlciB7IGxheW91dEJveCwgYWJz
b2x1dGVUb3BMZWZ0LCBib3hHZW9tZXRyeS5sb2dpY2FsV2lkdGgoKSwgbWFyZ2lucywgYWJzb2x1
dGVDb29yZGluYXRlcy5jb250YWluaW5nQmxvY2tDb250ZW50Qm94IH07CiAgICAgZmluZEF2YWls
YWJsZVBvc2l0aW9uKGZsb2F0Qm94LCBtX2Zsb2F0aW5nU3RhdGUuZmxvYXRzKCkpOwotICAgIC8v
IEZyb20gZm9ybWF0dGluZyByb290IGNvb3JkaW5hdGUgc3lzdGVtIGJhY2sgdG8gY29udGFpbmlu
ZyBibG9jaydzLgotICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrVG9wTGVmdCA9IGFic29sdXRlQm94
R2VvbWV0cnlDb29yZGluYXRlcy5jb250YWluaW5nQmxvY2tUb3BMZWZ0OworICAgIC8vIENvbnZl
cnQgYm94IGNvb3JkaW5hdGVzIGZyb20gZm9ybWF0dGluZyByb290IGJhY2sgdG8gY29udGFpbmlu
ZyBibG9jay4KKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1RvcExlZnQgPSBhYnNvbHV0ZUNvb3Jk
aW5hdGVzLmNvbnRhaW5pbmdCbG9ja1RvcExlZnQ7CiAgICAgcmV0dXJuIHsgZmxvYXRCb3gubGVm
dCgpICsgbWFyZ2lucy5ob3Jpem9udGFsLmxlZnQgLSBjb250YWluaW5nQmxvY2tUb3BMZWZ0Lngo
KSwgZmxvYXRCb3gudG9wKCkgKyBtYXJnaW5zLnZlcnRpY2FsLnRvcCAtIGNvbnRhaW5pbmdCbG9j
a1RvcExlZnQueSgpIH07CiB9CiAKQEAgLTI2OSwxMyArMjg4LDEzIEBAIExheW91dFBvaW50IEZs
b2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JOb25GbG9hdGluZ0Zsb2F0QXZvaWRlcihjb25zdCBC
b3gmIGxheW91CiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZvcm1hdHRpbmdD
b250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS5sb2dpY2FsVG9wTGVmdCgpOwogCi0g
ICAgYXV0byBhYnNvbHV0ZUJveEdlb21ldHJ5Q29vcmRpbmF0ZXMgPSB0aGlzLT5hYnNvbHV0ZUJv
eEdlb21ldHJ5Q29vcmRpbmF0ZXMobGF5b3V0Qm94KTsKKyAgICBhdXRvIGFic29sdXRlQ29vcmRp
bmF0ZXMgPSB0aGlzLT5hYnNvbHV0ZUNvb3JkaW5hdGVzKGxheW91dEJveCk7CiAgICAgYXV0byYg
Ym94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KGxheW91dEJv
eCk7CiAgICAgYXV0byBob3Jpem9udGFsTWFyZ2luID0gY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2lu
KGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxXaWR0aCk7CiAgICAgYXV0
byBtYXJnaW5zID0gRWRnZXMgeyB7ICpob3Jpem9udGFsTWFyZ2luLnN0YXJ0LCAqaG9yaXpvbnRh
bE1hcmdpbi5lbmQgfSwgeyBib3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSwgYm94R2VvbWV0cnku
bWFyZ2luQWZ0ZXIoKSB9IH07Ci0gICAgYXV0byBmbG9hdEF2b2lkZXIgPSBGbG9hdEF2b2lkZXIg
eyBsYXlvdXRCb3gsIGFic29sdXRlQm94R2VvbWV0cnlDb29yZGluYXRlcy50b3BMZWZ0LCBib3hH
ZW9tZXRyeS5sb2dpY2FsV2lkdGgoKSwgbWFyZ2lucywgYWJzb2x1dGVCb3hHZW9tZXRyeUNvb3Jk
aW5hdGVzLmNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3ggfTsKKyAgICBhdXRvIGZsb2F0QXZvaWRl
ciA9IEZsb2F0QXZvaWRlciB7IGxheW91dEJveCwgYWJzb2x1dGVDb29yZGluYXRlcy50b3BMZWZ0
LCBib3hHZW9tZXRyeS5sb2dpY2FsV2lkdGgoKSwgbWFyZ2lucywgYWJzb2x1dGVDb29yZGluYXRl
cy5jb250YWluaW5nQmxvY2tDb250ZW50Qm94IH07CiAgICAgZmluZFBvc2l0aW9uRm9yRm9ybWF0
dGluZ0NvbnRleHRSb290KGZsb2F0QXZvaWRlcik7Ci0gICAgYXV0byBjb250YWluaW5nQmxvY2tU
b3BMZWZ0ID0gYWJzb2x1dGVCb3hHZW9tZXRyeUNvb3JkaW5hdGVzLmNvbnRhaW5pbmdCbG9ja1Rv
cExlZnQ7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tUb3BMZWZ0ID0gYWJzb2x1dGVDb29yZGlu
YXRlcy5jb250YWluaW5nQmxvY2tUb3BMZWZ0OwogICAgIHJldHVybiB7IGZsb2F0QXZvaWRlci5s
ZWZ0KCkgLSBjb250YWluaW5nQmxvY2tUb3BMZWZ0LngoKSwgZmxvYXRBdm9pZGVyLnRvcCgpIC0g
Y29udGFpbmluZ0Jsb2NrVG9wTGVmdC55KCkgfTsKIH0KIApAQCAtNDU1LDcgKzQ3NCw3IEBAIHZv
aWQgRmxvYXRpbmdDb250ZXh0OjpmaW5kUG9zaXRpb25Gb3JGb3JtYXR0aW5nQ29udGV4dFJvb3Qo
RmxvYXRBdm9pZGVyJiBmbG9hdEF2CiAgICAgfQogfQogCi1GbG9hdGluZ0NvbnRleHQ6OkFic29s
dXRlQ29vcmRpbmF0ZVZhbHVlc0ZvckZsb2F0QXZvaWRlciBGbG9hdGluZ0NvbnRleHQ6OmFic29s
dXRlQm94R2VvbWV0cnlDb29yZGluYXRlcyhjb25zdCBCb3gmIGZsb2F0QXZvaWRlcikgY29uc3QK
K0Zsb2F0aW5nQ29udGV4dDo6QWJzb2x1dGVDb29yZGluYXRlVmFsdWVzRm9yRmxvYXRBdm9pZGVy
IEZsb2F0aW5nQ29udGV4dDo6YWJzb2x1dGVDb29yZGluYXRlcyhjb25zdCBCb3gmIGZsb2F0QXZv
aWRlcikgY29uc3QKIHsKICAgICBhdXRvJiBjb250YWluaW5nQmxvY2sgPSBmbG9hdEF2b2lkZXIu
Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgYXV0byYgY29udGFpbmluZ0Jsb2NrR2VvbWV0cnkgPSBm
b3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KGNvbnRhaW5pbmdCbG9jaywgRm9ybWF0
dGluZ0NvbnRleHQ6OkVzY2FwZVJlYXNvbjo6RmxvYXRCb3hOZWVkc1RvQmVJbkFic29sdXRlQ29v
cmRpbmF0ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9h
dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250
ZXh0LmgKaW5kZXggMWM4OTZhNzNmOTc2NzhmZmQwZDNjMmFkYTVlZTQ3MTU4YWJmZTUzZi4uMWFj
NjY4NTQ4ODM2ZDBiZTlmZmY5MGRmNDRhNTUxNTkwODVmMWI2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5oCkBAIC03NCw3ICs3NCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBmaW5kUG9zaXRpb25Gb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QoRmxv
YXRBdm9pZGVyJikgY29uc3Q7CiAKICAgICBzdHJ1Y3QgQWJzb2x1dGVDb29yZGluYXRlVmFsdWVz
Rm9yRmxvYXRBdm9pZGVyOwotICAgIEFic29sdXRlQ29vcmRpbmF0ZVZhbHVlc0ZvckZsb2F0QXZv
aWRlciBhYnNvbHV0ZUJveEdlb21ldHJ5Q29vcmRpbmF0ZXMoY29uc3QgQm94JikgY29uc3Q7Cisg
ICAgQWJzb2x1dGVDb29yZGluYXRlVmFsdWVzRm9yRmxvYXRBdm9pZGVyIGFic29sdXRlQ29vcmRp
bmF0ZXMoY29uc3QgQm94JikgY29uc3Q7CiAgICAgTGF5b3V0UG9pbnQgbWFwVG9wTGVmdFRvRmxv
YXRpbmdTdGF0ZVJvb3QoY29uc3QgQm94JikgY29uc3Q7CiAgICAgUG9pbnQgbWFwUG9pbnRGcm9t
Rm9ybWF0dGluZ0NvbnRleHRSb290VG9GbG9hdGluZ1N0YXRlUm9vdChQb2ludCkgY29uc3Q7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYWM2ZGY5ZWRjM2NlOWE3M2NlMmM2ZmE5ZjczNjU4NjQ2MjYzMmFkLi4wNzgwNDFm
ZjAyODg0NTRlZTRiMWQzNGFmZDIzOGNlOGNkMWRmZjVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMjAtMDktMjcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
TEZDXVtGbG9hdHNdIEFkZCBzdXBwb3J0IGZvciBjbGVhciBvbiBmbG9hdCBib3gKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzA0NQorCisgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICogZmFzdC9sYXlvdXRmb3Jt
YXR0aW5nY29udGV4dC9mbG9hdC13aXRoLWNsZWFyLXNpbXBsZS1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2Zsb2F0LXdpdGgtY2xl
YXItc2ltcGxlLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA5LTI3ICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBDcmVhdGUgaW5saW5lIGJveGVzIGZv
ciBoYXJkIGxpbmUgYnJlYWtzKDxicj4pIGFuZCB3b3JkIHdyYXAgb3Bwb3J0dW5pdGllcyAoPHdi
cj4pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0
L2Zsb2F0LXdpdGgtY2xlYXItc2ltcGxlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2Zsb2F0LXdpdGgtY2xlYXItc2ltcGxlLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTJkY2FiMTc3NWNlZDgzNDk4YmMxZThlMWYxODM4MWU5MjMwMDYy
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2Nv
bnRleHQvZmxvYXQtd2l0aC1jbGVhci1zaW1wbGUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIy
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpM
YXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQ9dHJ1ZSBpbnRlcm5hbDpMYXlvdXRGb3JtYXR0
aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZD1mYWxzZSBdIC0tPgorPHN0eWxlPgorLmZsb2F0
IHsKKyAgd2lkdGg6IDIwcHg7CisgIGhlaWdodDogMjBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjog
Ymx1ZTsKKyAgcG9zaXRpb246IHJlbGF0aXZlOworfQorPC9zdHlsZT4KKzxkaXYgc3R5bGU9InBv
c2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA4cHg7IGxlZnQ6IDhweDsgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDI0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9Zmxv
YXQ+PC9kaXY+Cis8ZGl2IGNsYXNzPWZsb2F0PjwvZGl2PgorPGRpdiBjbGFzcz1mbG9hdCBzdHls
ZT0ibGVmdDogMjBweDsiPjwvZGl2PgorPGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0ibGVmdDogMjBw
eDsiPjwvZGl2PgorPGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0ibGVmdDogMjBweDsiPjwvZGl2Pgor
PGRpdiBjbGFzcz1mbG9hdD48L2Rpdj4KKzxkaXYgY2xhc3M9ZmxvYXQ+PC9kaXY+Cis8ZGl2IGNs
YXNzPWZsb2F0IHN0eWxlPSJsZWZ0OiAyMHB4OyI+PC9kaXY+Cis8ZGl2IGNsYXNzPWZsb2F0Pjwv
ZGl2PgorPGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0idG9wOiAtMjBweDsgbGVmdDogMjBweDsiPjwv
ZGl2PgorPGRpdiBjbGFzcz1mbG9hdD48L2Rpdj4KKzxkaXYgY2xhc3M9ZmxvYXQgc3R5bGU9InRv
cDogLTIwcHg7IGxlZnQ6IDIwcHg7Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZmxvYXQtd2l0aC1jbGVhci1zaW1wbGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvZmxvYXQtd2l0aC1jbGVh
ci1zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTgxMDYyMDFhMDhhYTc2ZDQ0MjllYWUwYjNmMTg1
MzNkNWRkMTg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3Jt
YXR0aW5nY29udGV4dC9mbG9hdC13aXRoLWNsZWFyLXNpbXBsZS5odG1sCkBAIC0wLDAgKzEsMzgg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkxh
eW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZD10cnVlIGludGVybmFsOkxheW91dEZvcm1hdHRp
bmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkPWZhbHNlIF0gLS0+Cis8c3R5bGU+CitkaXYgewor
ICBvdmVyZmxvdzogaGlkZGVuOworICB3aWR0aDogNDBweDsKKyAgaGVpZ2h0OiA0MHB4OworICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKy5mbG9hdCB7CisgIGJhY2tncm91bmQtY29sb3I6
IGJsdWU7CisgIHdpZHRoOiAyMHB4OworICBoZWlnaHQ6IDIwcHg7Cit9Cis8L3N0eWxlPgorPGRp
dj4KKyAgPGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0iZmxvYXQ6IGxlZnQ7Ij48L2Rpdj4KKyAgPGRp
diBjbGFzcz1mbG9hdCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IGNsZWFyOiBsZWZ0Ij48L2Rpdj4KKzwv
ZGl2PgorPGRpdj4KKyAgPGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ZmxvYXQgc3R5bGU9ImZsb2F0OiByaWdodDsgY2xlYXI6IHJpZ2h0
Ij48L2Rpdj4KKzwvZGl2PgorPGRpdj4KKyAgPGRpdiBjbGFzcz1mbG9hdCBzdHlsZT0iZmxvYXQ6
IHJpZ2h0OyI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ZmxvYXQgc3R5bGU9ImZsb2F0OiBsZWZ0OyBj
bGVhcjogcmlnaHQiPjwvZGl2PgorPC9kaXY+Cis8ZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0IHN0
eWxlPSJmbG9hdDogbGVmdDsiPjwvZGl2PgorICA8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJmbG9h
dDogcmlnaHQ7IGNsZWFyOiBsZWZ0Ij48L2Rpdj4KKzwvZGl2PgorPGRpdj4KKyAgPGRpdiBjbGFz
cz1mbG9hdCBzdHlsZT0iZmxvYXQ6IGxlZnQ7Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz1mbG9hdCBz
dHlsZT0iZmxvYXQ6IHJpZ2h0OyBjbGVhcjogcmlnaHQiPjwvZGl2PgorPC9kaXY+Cis8ZGl2Pgor
ICA8ZGl2IGNsYXNzPWZsb2F0IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij48L2Rpdj4KKyAgPGRpdiBj
bGFzcz1mbG9hdCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IGNsZWFyOiBsZWZ0Ij48L2Rpdj4KKzwvZGl2
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>