<?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>193346</bug_id>
          
          <creation_ts>2019-01-10 21:41:37 -0800</creation_ts>
          <short_desc>[LFC][BFC][MarginCollapsing] Adjust vertical position when box margin collapses through.</short_desc>
          <delta_ts>2019-01-11 08:26:44 -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>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>commit-queue</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>1493610</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-01-10 21:41:37 -0800</bug_when>
    <thetext>https://www.w3.org/TR/CSS22/box.html#collapsing-margins

If the top and bottom margins of a box are adjoining, then it is possible for margins to collapse through it. In this case, the position of the element depends on its relationship with the other elements whose margins are being collapsed.

If the element&apos;s margins are collapsed with its parent&apos;s top margin, the top border edge of the box is defined to be the same as the parent&apos;s.
Otherwise, either the element&apos;s parent is not taking part in the margin collapsing, or only the parent&apos;s bottom margin is involved. The position of the element&apos;s top border edge is the same as it would have been if the element had a non-zero bottom border.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493616</commentid>
    <comment_count>1</comment_count>
      <attachid>358876</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-01-10 21:53:52 -0800</bug_when>
    <thetext>Created attachment 358876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493669</commentid>
    <comment_count>2</comment_count>
      <attachid>358895</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-01-11 07:45:29 -0800</bug_when>
    <thetext>Created attachment 358895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493677</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-01-11 08:19:48 -0800</bug_when>
    <thetext>Committed r239863: &lt;https://trac.webkit.org/changeset/239863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493678</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-11 08:20:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/47209819&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358876</attachid>
            <date>2019-01-10 21:53:52 -0800</date>
            <delta_ts>2019-01-11 07:45:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193346-20190110215341.patch</filename>
            <type>text/plain</type>
            <size>18523</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5ODU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjMzNjQyOGJlOWM1OTZj
MDFiMjEwOGQyMzI5NWNhMzUyYzBlZmEyYS4uMWQwMDc1MTcyY2QwNzY0YTljZWVmZjlmMzRkZGIw
Zjg1MzY2MjI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE5LTAxLTEwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXVtNYXJnaW5D
b2xsYXBzaW5nXSBBZGp1c3QgdmVydGljYWwgcG9zaXRpb24gd2hlbiBib3ggbWFyZ2luIGNvbGxh
cHNlcyB0aHJvdWdoLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzMzQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSWYgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb2YgYSBib3ggYXJlIGFkam9pbmlu
ZywgdGhlbiBpdCBpcyBwb3NzaWJsZSBmb3IgbWFyZ2lucyB0byBjb2xsYXBzZSB0aHJvdWdoIGl0
LgorICAgICAgICBJbiB0aGlzIGNhc2UsIHRoZSBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudCBkZXBl
bmRzIG9uIGl0cyByZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3RoZXIgZWxlbWVudHMgd2hvc2UgbWFy
Z2lucyBhcmUgYmVpbmcgY29sbGFwc2VkLgorCisgICAgICAgIDEuIElmIHRoZSBlbGVtZW50J3Mg
bWFyZ2lucyBhcmUgY29sbGFwc2VkIHdpdGggaXRzIHBhcmVudCdzIHRvcCBtYXJnaW4sIHRoZSB0
b3AgYm9yZGVyIGVkZ2Ugb2YgdGhlIGJveCBpcyBkZWZpbmVkIHRvIGJlIHRoZSBzYW1lIGFzIHRo
ZSBwYXJlbnQncy4KKyAgICAgICAgMi4gT3RoZXJ3aXNlLCBlaXRoZXIgdGhlIGVsZW1lbnQncyBw
YXJlbnQgaXMgbm90IHRha2luZyBwYXJ0IGluIHRoZSBtYXJnaW4gY29sbGFwc2luZywgb3Igb25s
eSB0aGUgcGFyZW50J3MgYm90dG9tIG1hcmdpbiBpcyBpbnZvbHZlZC4KKyAgICAgICAgICAgVGhl
IHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50J3MgdG9wIGJvcmRlciBlZGdlIGlzIHRoZSBzYW1lIGFz
IGl0IHdvdWxkIGhhdmUgYmVlbiBpZiB0aGUgZWxlbWVudCBoYWQgYSBub24temVybyBib3R0b20g
Ym9yZGVyLgorICAgICAgICAKKyAgICAgICAgVGVzdDogZmFzdC9ibG9jay9ibG9jay1vbmx5L2Nv
bGxhcHNlZC10aHJvdWdoLXdpdGgtcGFyZW50Lmh0bWwKKworICAgICAgICAqIGxheW91dC9NYXJn
aW5UeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpFc3RpbWF0ZWRNYXJnaW5CZWZv
cmU6OnVzZWRWYWx1ZSBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9C
bG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUVzdGltYXRlZE1hcmdpbkJlZm9yZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1
dGVIZWlnaHRBbmRNYXJnaW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9j
a0Zvcm1hdHRpbmdDb250ZXh0OjphZGp1c3RlZFZlcnRpY2FsUG9zaXRpb25BZnRlck1hcmdpbkNv
bGxhcHNpbmcgY29uc3QpOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxv
Y2tNYXJnaW5Db2xsYXBzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjplc3RpbWF0ZWRNYXJnaW5CZWZvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5D
b2xsYXBzZTo6bWFyZ2luQmVmb3JlSWdub3JpbmdDb2xsYXBzaW5nVGhyb3VnaCk6CisKIDIwMTkt
MDEtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgPHZpZGVv
PiBlbGVtZW50cyBkbyBub3QgZW50ZXIgJ3BhdXNlZCcgc3RhdGUgd2hlbiBwbGF5aW5nIHRvIGVu
ZCBvdmVyIEFpclBsYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9NYXJnaW5U
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L01hcmdpblR5cGVzLmgKaW5kZXggYWM0YWE4
YmM1ZWVkYjllNTcxZTFhZGFlMGFiM2M2Y2RmYmMxMDc1ZC4uNjdiNjhhYjA3NGFjNmY4YjI5YTQw
NTA4M2U4YTA3OTQ2Nzg2OTI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L01h
cmdpblR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L01hcmdpblR5cGVzLmgKQEAg
LTc1LDcgKzc1LDEwIEBAIHN0cnVjdCBVc2VkSG9yaXpvbnRhbE1hcmdpbiB7CiB9OwogCiBzdHJ1
Y3QgRXN0aW1hdGVkTWFyZ2luQmVmb3JlIHsKLSAgICBMYXlvdXRVbml0IHVzZWRWYWx1ZTsKKyAg
ICBMYXlvdXRVbml0IHVzZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGNvbGxhcHNlZFZhbHVlLnZh
bHVlT3Iobm9uQ29sbGFwc2VkVmFsdWUpOyB9CisgICAgTGF5b3V0VW5pdCBub25Db2xsYXBzZWRW
YWx1ZTsKKyAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBjb2xsYXBzZWRWYWx1ZTsKKyAgICBib29s
IGlzQ29sbGFwc2VkVGhyb3VnaCB7IGZhbHNlIH07CiB9OwogCiBzdHJ1Y3QgUG9zaXRpdmVBbmRO
ZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmlu
ZGV4IGVjZDhmODc0MzdiNDgwNGU5ZTQwN2RiZmRkZTFiMTliYzE2ZTVkOGYuLmVhYjdkNjI3ZWI3
YTM3MDkwMDZkYjkzNDQ0OWRmZTVmYTlkZjQ5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcApAQCAtMTkxLDcgKzE5MSw4IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUVzdGltYXRlZE1hcmdpbkJlZm9yZShjb25zdCBCb3gmIGxheW91dEJveCkKICAgICBi
bG9ja0Zvcm1hdHRpbmdTdGF0ZSgpLnNldEhhc0VzdGltYXRlZE1hcmdpbkJlZm9yZShsYXlvdXRC
b3gpOwogCiAgICAgYXV0byYgZGlzcGxheUJveCA9IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JM
YXlvdXRCb3gobGF5b3V0Qm94KTsKLSAgICBkaXNwbGF5Qm94LnNldFRvcChhZGp1c3RlZFZlcnRp
Y2FsUG9zaXRpb25BZnRlck1hcmdpbkNvbGxhcHNpbmcobGF5b3V0Qm94LCBlc3RpbWF0ZWRNYXJn
aW5CZWZvcmUudXNlZFZhbHVlKSk7CisgICAgYXV0byB2ZXJ0aWNhbE1hcmdpbiA9IFVzZWRWZXJ0
aWNhbE1hcmdpbiB7IHsgZXN0aW1hdGVkTWFyZ2luQmVmb3JlLm5vbkNvbGxhcHNlZFZhbHVlLCB7
IH0gfSwgeyBlc3RpbWF0ZWRNYXJnaW5CZWZvcmUuY29sbGFwc2VkVmFsdWUsIHsgfSwgZXN0aW1h
dGVkTWFyZ2luQmVmb3JlLmlzQ29sbGFwc2VkVGhyb3VnaCB9IH07CisgICAgZGlzcGxheUJveC5z
ZXRUb3AoYWRqdXN0ZWRWZXJ0aWNhbFBvc2l0aW9uQWZ0ZXJNYXJnaW5Db2xsYXBzaW5nKGxheW91
dEJveCwgdmVydGljYWxNYXJnaW4pKTsKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgZGlzcGxh
eUJveC5zZXRFc3RpbWF0ZWRNYXJnaW5CZWZvcmUoZXN0aW1hdGVkTWFyZ2luQmVmb3JlKTsKICNl
bmRpZgpAQCAtMzc1LDE4ICszNzYsMjcgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpj
b21wdXRlSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAogICAgIGF1
dG8gY29sbGFwc2VkTWFyZ2luID0gTWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZFZlcnRpY2FsVmFs
dWVzKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIGhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRN
YXJnaW4pOwogICAgIGF1dG8gdmVydGljYWxNYXJnaW4gPSBVc2VkVmVydGljYWxNYXJnaW4geyBo
ZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luLCBjb2xsYXBzZWRNYXJnaW4gfTsKICAg
ICBhdXRvJiBkaXNwbGF5Qm94ID0gbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveChs
YXlvdXRCb3gpOworICAgIAorICAgIC8vIEluIGZsb3cvZmxvYXRpbmcgYm94ZXMgbmVlZCB2ZXJ0
aWNhbCBhZGp1c3RtZW50IHVzaW5nIHRoZSBjb2xsYXBzZWQgbWFyZ2luIHZhbHVlcy4KKyAgICBp
ZiAobGF5b3V0Qm94LmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7CisgICAgICAgIGRpc3BsYXlC
b3guc2V0Q29udGVudEJveEhlaWdodChoZWlnaHRBbmRNYXJnaW4uaGVpZ2h0KTsKKyAgICAgICAg
ZGlzcGxheUJveC5zZXRWZXJ0aWNhbE1hcmdpbih2ZXJ0aWNhbE1hcmdpbik7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSB0aGlzLT5ibG9ja0Zv
cm1hdHRpbmdTdGF0ZSgpOwogICAgIGlmIChmb3JtYXR0aW5nU3RhdGUuaGFzRXN0aW1hdGVkTWFy
Z2luQmVmb3JlKGxheW91dEJveCkpIHsKICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmNsZWFySGFz
RXN0aW1hdGVkTWFyZ2luQmVmb3JlKGxheW91dEJveCk7Ci0gICAgICAgIEFTU0VSVChkaXNwbGF5
Qm94LmVzdGltYXRlZE1hcmdpbkJlZm9yZSgpLT51c2VkVmFsdWUgPT0gdmVydGljYWxNYXJnaW4u
YmVmb3JlKCkpOworICAgICAgICBBU1NFUlQoZGlzcGxheUJveC5lc3RpbWF0ZWRNYXJnaW5CZWZv
cmUoKS0+dXNlZFZhbHVlKCkgPT0gdmVydGljYWxNYXJnaW4uYmVmb3JlKCkpOwogICAgIH0gZWxz
ZQotICAgICAgICBkaXNwbGF5Qm94LnNldFRvcChhZGp1c3RlZFZlcnRpY2FsUG9zaXRpb25BZnRl
ck1hcmdpbkNvbGxhcHNpbmcobGF5b3V0Qm94LCB2ZXJ0aWNhbE1hcmdpbi5iZWZvcmUoKSkpOwot
Ci0gICAgZGlzcGxheUJveC5zZXRDb250ZW50Qm94SGVpZ2h0KGhlaWdodEFuZE1hcmdpbi5oZWln
aHQpOwotICAgIGRpc3BsYXlCb3guc2V0VmVydGljYWxNYXJnaW4odmVydGljYWxNYXJnaW4pOwor
ICAgICAgICBkaXNwbGF5Qm94LnNldFRvcChhZGp1c3RlZFZlcnRpY2FsUG9zaXRpb25BZnRlck1h
cmdpbkNvbGxhcHNpbmcobGF5b3V0Qm94LCB2ZXJ0aWNhbE1hcmdpbikpOworICAgIAogICAgIC8v
IEFkanVzdCB0aGUgcHJldmlvdXMgc2libGluZydzIG1hcmdpbiBib3R0b20gbm93IHRoYXQgdGhp
cyBib3gncyB2ZXJ0aWNhbCBtYXJnaW4gaXMgY29tcHV0ZWQuCiAgICAgaWYgKE1hcmdpbkNvbGxh
cHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUHJldmlvdXNTaWJsaW5nTWFyZ2luQWZ0ZXIo
bGF5b3V0U3RhdGUsIGxheW91dEJveCkpCiAgICAgICAgIE1hcmdpbkNvbGxhcHNlOjp1cGRhdGVD
b2xsYXBzZWRNYXJnaW5BZnRlcihsYXlvdXRTdGF0ZSwgKmxheW91dEJveC5wcmV2aW91c0luRmxv
d1NpYmxpbmcoKSwgdmVydGljYWxNYXJnaW4pOworCisgICAgZGlzcGxheUJveC5zZXRDb250ZW50
Qm94SGVpZ2h0KGhlaWdodEFuZE1hcmdpbi5oZWlnaHQpOworICAgIGRpc3BsYXlCb3guc2V0VmVy
dGljYWxNYXJnaW4odmVydGljYWxNYXJnaW4pOwogfQogCiBGb3JtYXR0aW5nQ29udGV4dDo6SW5z
dHJpbnNpY1dpZHRoQ29uc3RyYWludHMgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6aW5zdHJpbnNp
Y1dpZHRoQ29uc3RyYWludHMoKSBjb25zdApAQCAtNDUzLDggKzQ2Myw5IEBAIEZvcm1hdHRpbmdD
b250ZXh0OjpJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjppbnN0cmluc2ljCiAgICAgcmV0dXJuIGluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzOwogfQog
Ci1MYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmFkanVzdGVkVmVydGljYWxQb3Np
dGlvbkFmdGVyTWFyZ2luQ29sbGFwc2luZyhjb25zdCBCb3gmIGxheW91dEJveCwgTGF5b3V0VW5p
dCBtYXJnaW5CZWZvcmUpIGNvbnN0CitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OmFkanVzdGVkVmVydGljYWxQb3NpdGlvbkFmdGVyTWFyZ2luQ29sbGFwc2luZyhjb25zdCBCb3gm
IGxheW91dEJveCwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2luJiB2ZXJ0aWNhbE1hcmdpbikgY29u
c3QKIHsKKyAgICBBU1NFUlQoIWxheW91dEJveC5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSk7CiAg
ICAgLy8gTm93IHRoYXQgd2UndmUgY29tcHV0ZWQgdGhlIGZpbmFsIG1hcmdpbiBiZWZvcmUsIGxl
dCdzIHNoaWZ0IHRoZSBib3gncyB2ZXJ0aWNhbCBwb3NpdGlvbi4KICAgICAvLyAxLiBDaGVjayBp
ZiB0aGUgbWFyZ2luIGJlZm9yZSBjb2xsYXBzZXMgd2l0aCB0aGUgcHJldmlvdXMgYm94J3MgbWFy
Z2luIGFmdGVyLiBpZiBub3QgLT4gcmV0dXJuIHByZXZpb3VzIGJveCdzIGJvdHRvbSBpbmxjdWRp
bmcgbWFyZ2luIGFmdGVyICsgbWFyZ2luQmVmb3JlCiAgICAgLy8gMi4gQ2hlY2sgaWYgdGhlIHBy
ZXZpb3VzIGJveCdzIG1hcmdpbnMgY29sbGFwc2UgdGhyb3VnaC4gSWYgbm90IC0+IHJldHVybiBw
cmV2aW91cyBib3gnIGJvdHRvbSBleGNsdWRpbmcgbWFyZ2luIGFmdGVyICsgbWFyZ2luQmVmb3Jl
ICh0aGV5IGFyZSBzdXBwb3NlZCB0byBiZSBlcXVhbCkKQEAgLTQ2NywyNiArNDc4LDQ1IEBAIExh
eW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6YWRqdXN0ZWRWZXJ0aWNhbFBvc2l0aW9u
QWZ0ZXJNYXJnaW5Db2xsYXBzaW5nCiAgICAgICAgIGF1dG8mIHByZXZpb3VzSW5GbG93U2libGlu
ZyA9ICpjdXJyZW50TGF5b3V0Qm94LT5wcmV2aW91c0luRmxvd1NpYmxpbmcoKTsKICAgICAgICAg
aWYgKCFNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFByZXZpb3VzU2li
bGluZ01hcmdpbkFmdGVyKGxheW91dFN0YXRlLCAqY3VycmVudExheW91dEJveCkpIHsKICAgICAg
ICAgICAgIGF1dG8mIHByZXZpb3VzRGlzcGxheUJveCA9IGxheW91dFN0YXRlLmRpc3BsYXlCb3hG
b3JMYXlvdXRCb3gocHJldmlvdXNJbkZsb3dTaWJsaW5nKTsKLSAgICAgICAgICAgIHJldHVybiBw
cmV2aW91c0Rpc3BsYXlCb3gucmVjdFdpdGhNYXJnaW4oKS5ib3R0b20oKSArIG1hcmdpbkJlZm9y
ZTsKKyAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0Rpc3BsYXlCb3gucmVjdFdpdGhNYXJnaW4o
KS5ib3R0b20oKSArIHZlcnRpY2FsTWFyZ2luLmJlZm9yZSgpOwogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKCFNYXJnaW5Db2xsYXBzZTo6bWFyZ2luc0NvbGxhcHNlVGhyb3VnaChsYXlvdXRTdGF0
ZSwgcHJldmlvdXNJbkZsb3dTaWJsaW5nKSkgewogICAgICAgICAgICAgYXV0byYgcHJldmlvdXNE
aXNwbGF5Qm94ID0gbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveChwcmV2aW91c0lu
Rmxvd1NpYmxpbmcpOwotICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzRGlzcGxheUJveC5ib3R0
b20oKSArIG1hcmdpbkJlZm9yZTsKKyAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0Rpc3BsYXlC
b3guYm90dG9tKCkgKyB2ZXJ0aWNhbE1hcmdpbi5iZWZvcmUoKTsKICAgICAgICAgfQogICAgICAg
ICBjdXJyZW50TGF5b3V0Qm94ID0gJnByZXZpb3VzSW5GbG93U2libGluZzsKICAgICB9CiAKICAg
ICBhdXRvJiBjb250YWluaW5nQmxvY2sgPSAqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpOwog
ICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrQ29udGVudEJveFRvcCA9IGxheW91dFN0YXRlLmRpc3Bs
YXlCb3hGb3JMYXlvdXRCb3goY29udGFpbmluZ0Jsb2NrKS5jb250ZW50Qm94VG9wKCk7Ci0gICAg
Ly8gSWYgd2UgcmVhY2hlZCB0aGUgcGFyZW50IHRocm91Z2ggY29sbGFwc2VkIHNpYmxpbmcocyks
IHRoaXMgYm94IChtYXkpIGNvbGxhcHNlcyB0aGUgYmVmb3JlIG1hcmdpbiBpbmRpcmVjdGx5IHdp
dGggdGhlIHBhcmVudC4gIAotICAgIGF1dG8qIGNvbGxhcHNpbmdDYW5kaWRhdGUgPSBsYXlvdXRC
b3gucHJldmlvdXNJbkZsb3dTaWJsaW5nKCkgPyBjb250YWluaW5nQmxvY2suZmlyc3RJbkZsb3dD
aGlsZCgpIDogJmxheW91dEJveDsKLSAgICBhdXRvIG1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQ
YXJlbnQgPSBNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFBhcmVudE1h
cmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgKmNvbGxhcHNpbmdDYW5kaWRhdGUpIAotICAgICAgICB8
fCBNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFBhcmVudE1hcmdpbkFm
dGVyKGxheW91dFN0YXRlLCAqY29sbGFwc2luZ0NhbmRpZGF0ZSk7Ci0gICAgaWYgKG1hcmdpbkJl
Zm9yZUNvbGxhcHNlc1dpdGhQYXJlbnQpCisgICAgLy8gQWRqdXN0IHZlcnRpY2FsIHBvc2l0aW9u
IGRlcGVuZGluZyB3aGV0aGVyIHRoaXMgYm94IGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgYWRqb2lu
cyB3aXRoIGl0cyBwYXJlbnQuCisgICAgYXV0byBkaXJlY3RseUFkam9pbnNQYXJlbnQgPSAhbGF5
b3V0Qm94LnByZXZpb3VzSW5GbG93U2libGluZygpOyAKKyAgICBpZiAoZGlyZWN0bHlBZGpvaW5z
UGFyZW50KSB7CisgICAgICAgIC8vIElmIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9mIGEg
Ym94IGFyZSBhZGpvaW5pbmcsIHRoZW4gaXQgaXMgcG9zc2libGUgZm9yIG1hcmdpbnMgdG8gY29s
bGFwc2UgdGhyb3VnaCBpdC4KKyAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGUgcG9zaXRpb24g
b2YgdGhlIGVsZW1lbnQgZGVwZW5kcyBvbiBpdHMgcmVsYXRpb25zaGlwIHdpdGggdGhlIG90aGVy
IGVsZW1lbnRzIHdob3NlIG1hcmdpbnMgYXJlIGJlaW5nIGNvbGxhcHNlZC4KKyAgICAgICAgaWYg
KHZlcnRpY2FsTWFyZ2luLmNvbGxhcHNlZFZhbHVlcygpLmlzQ29sbGFwc2VkVGhyb3VnaCkgewor
ICAgICAgICAgICAgLy8gSWYgdGhlIGVsZW1lbnQncyBtYXJnaW5zIGFyZSBjb2xsYXBzZWQgd2l0
aCBpdHMgcGFyZW50J3MgdG9wIG1hcmdpbiwgdGhlIHRvcCBib3JkZXIgZWRnZSBvZiB0aGUgYm94
IGlzIGRlZmluZWQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHBhcmVudCdzLgorICAgICAgICAgICAg
aWYgKE1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2lu
QmVmb3JlKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpKQorICAgICAgICAgICAgICAgIHJldHVybiBj
b250YWluaW5nQmxvY2tDb250ZW50Qm94VG9wOworICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBl
aXRoZXIgdGhlIGVsZW1lbnQncyBwYXJlbnQgaXMgbm90IHRha2luZyBwYXJ0IGluIHRoZSBtYXJn
aW4gY29sbGFwc2luZywgb3Igb25seSB0aGUgcGFyZW50J3MgYm90dG9tIG1hcmdpbiBpcyBpbnZv
bHZlZC4KKyAgICAgICAgICAgIC8vIFRoZSBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudCdzIHRvcCBi
b3JkZXIgZWRnZSBpcyB0aGUgc2FtZSBhcyBpdCB3b3VsZCBoYXZlIGJlZW4gaWYgdGhlIGVsZW1l
bnQgaGFkIGEgbm9uLXplcm8gYm90dG9tIGJvcmRlci4KKyAgICAgICAgICAgIGF1dG8gYmVmb3Jl
TWFyZ2luV2l0aEJvdHRvbUJvcmRlciA9IE1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVJZ25v
cmluZ0NvbGxhcHNpbmdUaHJvdWdoKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIHZlcnRpY2FsTWFy
Z2luLm5vbkNvbGxhcHNlZFZhbHVlcygpKTsKKyAgICAgICAgICAgIHJldHVybiBjb250YWluaW5n
QmxvY2tDb250ZW50Qm94VG9wICsgYmVmb3JlTWFyZ2luV2l0aEJvdHRvbUJvcmRlcjsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKE1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVD
b2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpKQor
ICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hUb3A7CisKKyAgICAg
ICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hUb3AgKyB2ZXJ0aWNhbE1hcmdpbi5i
ZWZvcmUoKTsKKyAgICB9CisgICAgLy8gQXQgdGhpcyBwb2ludCB0aGlzIGJveCBpbmRpcmVjdGx5
ICh2aWEgY29sbGFwc2VkIHRocm91Z2ggcHJldmlvdXMgaW4tZmxvdyBzaWJsaW5ncykgYWRqb2lu
cyB0aGUgcGFyZW50LiBMZXQncyBjaGVjayBpZiBtYXJnaW4gY29sbGFwc2luZyBpcyBvbiB3aXRo
IHRoZSBwYXJlbnQuCisgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jay5maXJzdEluRmxvd0NoaWxk
KCkpOworICAgIEFTU0VSVChjb250YWluaW5nQmxvY2suZmlyc3RJbkZsb3dDaGlsZCgpICE9ICZs
YXlvdXRCb3gpOworICAgIGlmIChNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2Vz
V2l0aFBhcmVudE1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgKmNvbnRhaW5pbmdCbG9jay5maXJz
dEluRmxvd0NoaWxkKCkpKQogICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrQ29udGVudEJv
eFRvcDsKIAotICAgIHJldHVybiBjb250YWluaW5nQmxvY2tDb250ZW50Qm94VG9wICsgbWFyZ2lu
QmVmb3JlOworICAgIHJldHVybiBjb250YWluaW5nQmxvY2tDb250ZW50Qm94VG9wICsgdmVydGlj
YWxNYXJnaW4uYmVmb3JlKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5k
ZXggNTAwZDA2NDljMjVlMjM3ZWMwMGRlNzJmYmRlYjkyYjA1ZTc1OGVkNS4uYTJjZmRhZDIwMTdm
YWU3NzEwM2U4MDgxYzMxMWU2ZjU1NjYwOGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmgKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByZWNvbXB1dGVWZXJ0aWNh
bFBvc2l0aW9uRm9yRm9ybWF0dGluZ1Jvb3RJZk5lZWRlZChjb25zdCBCb3gmKSBjb25zdDsKIAog
ICAgIEluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIGluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRz
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgTGF5b3V0VW5pdCBhZGp1c3RlZFZlcnRpY2FsUG9zaXRp
b25BZnRlck1hcmdpbkNvbGxhcHNpbmcoY29uc3QgQm94JiwgTGF5b3V0VW5pdCBtYXJnaW5CZWZv
cmUpIGNvbnN0OworICAgIExheW91dFVuaXQgYWRqdXN0ZWRWZXJ0aWNhbFBvc2l0aW9uQWZ0ZXJN
YXJnaW5Db2xsYXBzaW5nKGNvbnN0IEJveCYsIGNvbnN0IFVzZWRWZXJ0aWNhbE1hcmdpbiYpIGNv
bnN0OwogCiAgICAgLy8gVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHBvc2l0aW9uaW5nIGFuZCBzaXpp
bmcgZm9yIGJveGVzIHBhcnRpY2lwYXRpbmcgaW4gYSBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQu
CiAgICAgY2xhc3MgR2VvbWV0cnkgOiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
IHsKQEAgLTk1LDYgKzk1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFVzZWRWZXJ0aWNh
bE1hcmdpbjo6Q29sbGFwc2VkVmFsdWVzIGNvbGxhcHNlZFZlcnRpY2FsVmFsdWVzKGNvbnN0IExh
eW91dFN0YXRlJiwgY29uc3QgQm94JiwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xs
YXBzZWRWYWx1ZXMmKTsKIAogICAgICAgICBzdGF0aWMgRXN0aW1hdGVkTWFyZ2luQmVmb3JlIGVz
dGltYXRlZE1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYpOworICAg
ICAgICBzdGF0aWMgTGF5b3V0VW5pdCBtYXJnaW5CZWZvcmVJZ25vcmluZ0NvbGxhcHNpbmdUaHJv
dWdoKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94JiwgY29uc3QgVXNlZFZlcnRpY2FsTWFy
Z2luOjpOb25Db2xsYXBzZWRWYWx1ZXMmKTsKICAgICAgICAgc3RhdGljIHZvaWQgdXBkYXRlQ29s
bGFwc2VkTWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmLCBjb25zdCBV
c2VkVmVydGljYWxNYXJnaW4mIG5leHRTaWJsaW5nVmVydGljYWxNYXJnaW4pOwogCiAgICAgICAg
IHN0YXRpYyBib29sIG1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5CZWZvcmUo
Y29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3Bw
CmluZGV4IGY5YWIxMjdmOWFhNDhjMjBkMGE3ZjRmYTFlN2I0YzQ0NWFkNDRjMWYuLmEzYjQxYzJl
ZTNhODYyYmVkZmM3ZDBjNjczOGI1ZjY1Y2M0OGJkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNl
LmNwcApAQCAtNTkzLDEzICs1OTMsMjQgQEAgRXN0aW1hdGVkTWFyZ2luQmVmb3JlIEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjplc3RpbWF0ZWRNYXJnaW5CZWYKICAgICBB
U1NFUlQoIWxheW91dEJveC5lc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQoKSk7CiAg
ICAgCiAgICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVk
VmVydGljYWxNYXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJveCk7Ci0gICAgYXV0byBub25Db2xs
YXBzZWRNYXJnaW4gPSBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyB7IGNv
bXB1dGVkVmVydGljYWxNYXJnaW4uYmVmb3JlLnZhbHVlT3IoMCksIGNvbXB1dGVkVmVydGljYWxN
YXJnaW4uYWZ0ZXIudmFsdWVPcigwKSB9OyAKKyAgICBhdXRvIG5vbkNvbGxhcHNlZE1hcmdpbiA9
IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIHsgY29tcHV0ZWRWZXJ0aWNh
bE1hcmdpbi5iZWZvcmUudmFsdWVPcigwKSwgY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbi5hZnRlci52
YWx1ZU9yKDApIH07CisgICAgYXV0byBtYXJnaW5zQ29sbGFwc2VUaHJvdWdoID0gTWFyZ2luQ29s
bGFwc2U6Om1hcmdpbnNDb2xsYXBzZVRocm91Z2gobGF5b3V0U3RhdGUsIGxheW91dEJveCk7Cisg
ICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gY29sbGFwc2VkTWFyZ2luQmVmb3JlOwogCi0gICAgaWYg
KCFtYXJnaW5zQ29sbGFwc2VUaHJvdWdoKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpKQotICAgICAg
ICByZXR1cm4geyBtYXJnaW5WYWx1ZShwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlKGxheW91
dFN0YXRlLCBsYXlvdXRCb3gsIG5vbkNvbGxhcHNlZE1hcmdpbikpLnZhbHVlT3IoMCkgfTsKLSAg
ICAKLSAgICByZXR1cm4geyBtYXJnaW5WYWx1ZShjb21wdXRlZFBvc2l0aXZlQW5kTmVnYXRpdmVN
YXJnaW4ocG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94
LCBub25Db2xsYXBzZWRNYXJnaW4pLAotICAgICAgICBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQWZ0
ZXIobGF5b3V0U3RhdGUsIGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2luKSkpLnZhbHVlT3Io
MCkgfTsKKyAgICBpZiAobWFyZ2luc0NvbGxhcHNlVGhyb3VnaCkgeworICAgICAgICBjb2xsYXBz
ZWRNYXJnaW5CZWZvcmUgPSBtYXJnaW5WYWx1ZShjb21wdXRlZFBvc2l0aXZlQW5kTmVnYXRpdmVN
YXJnaW4ocG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94
LCBub25Db2xsYXBzZWRNYXJnaW4pLAorICAgICAgICAgICAgcG9zaXRpdmVOZWdhdGl2ZU1hcmdp
bkFmdGVyKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIG5vbkNvbGxhcHNlZE1hcmdpbikpKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29sbGFwc2VkTWFyZ2luQmVmb3JlID0gbWFyZ2luVmFsdWUocG9z
aXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCBub25Db2xs
YXBzZWRNYXJnaW4pKTsKKworICAgIHJldHVybiB7IG5vbkNvbGxhcHNlZE1hcmdpbi5iZWZvcmUs
IGNvbGxhcHNlZE1hcmdpbkJlZm9yZSwgbWFyZ2luc0NvbGxhcHNlVGhyb3VnaCB9OworfQorCitM
YXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5C
ZWZvcmVJZ25vcmluZ0NvbGxhcHNpbmdUaHJvdWdoKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRT
dGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9u
Q29sbGFwc2VkVmFsdWVzJiBub25Db2xsYXBzZWRWYWx1ZXMpCit7CisgICAgQVNTRVJUKCFsYXlv
dXRCb3guaXNBbm9ueW1vdXMoKSk7CisgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxC
b3goKSk7CisgICAgcmV0dXJuIG1hcmdpblZhbHVlKHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZv
cmUobGF5b3V0U3RhdGUsIGxheW91dEJveCwgbm9uQ29sbGFwc2VkVmFsdWVzKSkudmFsdWVPcihu
b25Db2xsYXBzZWRWYWx1ZXMuYmVmb3JlKTsgCiB9CiAKIFVzZWRWZXJ0aWNhbE1hcmdpbjo6Q29s
bGFwc2VkVmFsdWVzIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb2xs
YXBzZWRWZXJ0aWNhbFZhbHVlcyhjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0
IEJveCYgbGF5b3V0Qm94LCBjb25zdCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZh
bHVlcyYgbm9uQ29sbGFwc2VkVmFsdWVzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGRjYWRjNzkyNTlhMWJhOTY1OTRmNTMyMWFhNTUxZDY4N2Fi
NGNlNTYuLmE1ZjliMjQ4YjA5NzYyNjhjZWU3MGQ0OWFiZTA5MTMwZmFmMjNlNmQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAxOS0wMS0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAg
IFtMRkNdW0JGQ11bTWFyZ2luQ29sbGFwc2luZ10gQWRqdXN0IHZlcnRpY2FsIHBvc2l0aW9uIHdo
ZW4gYm94IG1hcmdpbiBjb2xsYXBzZXMgdGhyb3VnaC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogTGF5b3V0UmVsb2FkZWQvbWlzYy9MRkMtcGFzc2lu
Zy10ZXN0cy50eHQ6CisKIDIwMTktMDEtMTAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFw
cGxlLmNvbT4KIAogICAgICAgICBNaW5pQnJvd3NlciBzaG91bGQgYmUgYWJsZSB0byBuYXZpZ2F0
ZSB0byBhYm91dDpibGFuawpkaWZmIC0tZ2l0IGEvVG9vbHMvTGF5b3V0UmVsb2FkZWQvbWlzYy9M
RkMtcGFzc2luZy10ZXN0cy50eHQgYi9Ub29scy9MYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNz
aW5nLXRlc3RzLnR4dAppbmRleCBlM2M4NTE4NDE2ZDMyYmRlNDQ1YjRkMmFiOWVjZDk3MDE2OTA2
ZDJiLi5kN2Q1NWE2NDY0MjhiZWIyOGZiMjE0Nzg3ZTdiNGNhNGMxMmZlODQyIDEwMDY0NAotLS0g
YS9Ub29scy9MYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNzaW5nLXRlc3RzLnR4dAorKysgYi9U
b29scy9MYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNzaW5nLXRlc3RzLnR4dApAQCAtNjQsNiAr
NjQsNyBAQCBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvbWFyZ2luLXByb3BhZ2F0aW9uLXNpbXBsZS1j
b250ZW50LWhlaWdodC5odG1sCiBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvbWFyZ2luLXNpYmxpbmct
Y29sbGFwc2UtcHJvcGFnYXRlZC5odG1sCiBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvbWFyZ2luLXNp
bXBsZS5odG1sCiBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvY29sbGFwc2VkLXRocm91Z2gtc2libGlu
Z3MuaHRtbAorZmFzdC9ibG9jay9ibG9jay1vbmx5L2NvbGxhcHNlZC10aHJvdWdoLXdpdGgtcGFy
ZW50Lmh0bWwKIGZhc3QvYmxvY2svYmxvY2stb25seS9taW4tbWF4LWhlaWdodC1wZXJjZW50YWdl
Lmh0bWwKIGZhc3QvYmxvY2svYmxvY2stb25seS9uZWdhdGl2ZS1tYXJnaW4tc2ltcGxlLmh0bWwK
IGZhc3QvYmxvY2svYmxvY2stb25seS9wYWRkaW5nLW5lc3RlZC5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWRjOTJl
ZjU5NjU5ODMyODdmNjVmZTYzYTY3YzI5OTMwMzZlNzMwYS4uYTcxOTBlYmM4NzVkNTQ5NGFmMWIx
MjhjZTAzYTE2OTdiOTliN2VjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTEwICBa
YWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXVtNYXJn
aW5Db2xsYXBzaW5nXSBBZGp1c3QgdmVydGljYWwgcG9zaXRpb24gd2hlbiBib3ggbWFyZ2luIGNv
bGxhcHNlcyB0aHJvdWdoLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkzMzQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkvY29sbGFwc2VkLXRocm91Z2gtd2l0aC1w
YXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Jsb2NrL2Jsb2NrLW9u
bHkvY29sbGFwc2VkLXRocm91Z2gtd2l0aC1wYXJlbnQuaHRtbDogQWRkZWQuCisKIDIwMTktMDEt
MTAgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BV
XSBXZWJHUFVCaW5kR3JvdXAgYW5kIGRldmljZTo6Y3JlYXRlQmluZEdyb3VwIHByb3RvdHlwZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9ibG9jay1vbmx5L2NvbGxhcHNlZC10
aHJvdWdoLXdpdGgtcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2sv
YmxvY2stb25seS9jb2xsYXBzZWQtdGhyb3VnaC13aXRoLXBhcmVudC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjEwNTBhNThlNDBhYTZiNDZiYTZjNGUyZDcxZTM5ZWVjZWQwODg0MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9jb2xsYXBzZWQt
dGhyb3VnaC13aXRoLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTg0CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDQwMng0MDIgW2JvcmRl
cjogKDFweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEs
MTEpIHNpemUgMTAweDAKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEsODEpIHNpemUg
MTAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9jb2xs
YXBzZWQtdGhyb3VnaC13aXRoLXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9i
bG9jay1vbmx5L2NvbGxhcHNlZC10aHJvdWdoLXdpdGgtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGE1ZDRkODkxMzNkZTdkZDE3MDI2NmZmNzliM2FmMzU5NDYzYzA2YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9jb2xsYXBzZWQtdGhyb3VnaC13
aXRoLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsNCBAQAorPGRpdiBzdHlsZT0iYm9yZGVyOiAxcHgg
c29saWQgcmVkOyB3aWR0aDogNDAwcHg7IGhlaWdodDogNDAwcHgiPgorCTxkaXYgc3R5bGU9Im91
dGxpbmU6IDJweCBzb2xpZCByZWQ7IHdpZHRoOiAxMDBweDsgbWFyZ2luLXRvcDogMTBweDsgbWFy
Z2luLWJvdHRvbTogNzBweCI+PC9kaXY+CisJPGRpdiBzdHlsZT0ib3V0bGluZTogMXB4IHNvbGlk
IGdyZWVuOyB3aWR0aDogMTAwcHg7IG1hcmdpbi10b3A6IDgwcHgiPjwvZGl2PgorPC9kaXY+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358895</attachid>
            <date>2019-01-11 07:45:29 -0800</date>
            <delta_ts>2019-01-11 08:17:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193346-20190111074517.patch</filename>
            <type>text/plain</type>
            <size>18853</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZiNjI3NjkwMzNkMTIx
NTNhNTc2NTI5YWIyMzMyMTQxOGE0OWI0NC4uNzUyMmJkMDc2MzUxZWU1M2VhYWU2MTA5ZGIwYmFm
Mjc2MTRmMjU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE5LTAxLTEwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXVtNYXJnaW5D
b2xsYXBzaW5nXSBBZGp1c3QgdmVydGljYWwgcG9zaXRpb24gd2hlbiBib3ggbWFyZ2luIGNvbGxh
cHNlcyB0aHJvdWdoLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzMzQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSWYgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb2YgYSBib3ggYXJlIGFkam9pbmlu
ZywgdGhlbiBpdCBpcyBwb3NzaWJsZSBmb3IgbWFyZ2lucyB0byBjb2xsYXBzZSB0aHJvdWdoIGl0
LgorICAgICAgICBJbiB0aGlzIGNhc2UsIHRoZSBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudCBkZXBl
bmRzIG9uIGl0cyByZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3RoZXIgZWxlbWVudHMgd2hvc2UgbWFy
Z2lucyBhcmUgYmVpbmcgY29sbGFwc2VkLgorCisgICAgICAgIDEuIElmIHRoZSBlbGVtZW50J3Mg
bWFyZ2lucyBhcmUgY29sbGFwc2VkIHdpdGggaXRzIHBhcmVudCdzIHRvcCBtYXJnaW4sIHRoZSB0
b3AgYm9yZGVyIGVkZ2Ugb2YgdGhlIGJveCBpcyBkZWZpbmVkIHRvIGJlIHRoZSBzYW1lIGFzIHRo
ZSBwYXJlbnQncy4KKyAgICAgICAgMi4gT3RoZXJ3aXNlLCBlaXRoZXIgdGhlIGVsZW1lbnQncyBw
YXJlbnQgaXMgbm90IHRha2luZyBwYXJ0IGluIHRoZSBtYXJnaW4gY29sbGFwc2luZywgb3Igb25s
eSB0aGUgcGFyZW50J3MgYm90dG9tIG1hcmdpbiBpcyBpbnZvbHZlZC4KKyAgICAgICAgICAgVGhl
IHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50J3MgdG9wIGJvcmRlciBlZGdlIGlzIHRoZSBzYW1lIGFz
IGl0IHdvdWxkIGhhdmUgYmVlbiBpZiB0aGUgZWxlbWVudCBoYWQgYSBub24temVybyBib3R0b20g
Ym9yZGVyLgorICAgICAgICAKKyAgICAgICAgVGVzdDogZmFzdC9ibG9jay9ibG9jay1vbmx5L2Nv
bGxhcHNlZC10aHJvdWdoLXdpdGgtcGFyZW50Lmh0bWwKKworICAgICAgICAqIGxheW91dC9NYXJn
aW5UeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpFc3RpbWF0ZWRNYXJnaW5CZWZv
cmU6OnVzZWRWYWx1ZSBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9C
bG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUVzdGltYXRlZE1hcmdpbkJlZm9yZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1
dGVIZWlnaHRBbmRNYXJnaW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9j
a0Zvcm1hdHRpbmdDb250ZXh0OjphZGp1c3RlZFZlcnRpY2FsUG9zaXRpb25BZnRlck1hcmdpbkNv
bGxhcHNpbmcgY29uc3QpOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxv
Y2tNYXJnaW5Db2xsYXBzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjplc3RpbWF0ZWRNYXJnaW5CZWZvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5D
b2xsYXBzZTo6bWFyZ2luQmVmb3JlSWdub3JpbmdDb2xsYXBzaW5nVGhyb3VnaCk6CisKIDIwMTkt
MDEtMTAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV0hMU0xdIEluY2x1ZGUgdGhlIHN0YW5kYXJkIGxpYnJhcnkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9NYXJnaW5UeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L01h
cmdpblR5cGVzLmgKaW5kZXggYWM0YWE4YmM1ZWVkYjllNTcxZTFhZGFlMGFiM2M2Y2RmYmMxMDc1
ZC4uNjdiNjhhYjA3NGFjNmY4YjI5YTQwNTA4M2U4YTA3OTQ2Nzg2OTI0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L01hcmdpblR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L01hcmdpblR5cGVzLmgKQEAgLTc1LDcgKzc1LDEwIEBAIHN0cnVjdCBVc2VkSG9yaXpv
bnRhbE1hcmdpbiB7CiB9OwogCiBzdHJ1Y3QgRXN0aW1hdGVkTWFyZ2luQmVmb3JlIHsKLSAgICBM
YXlvdXRVbml0IHVzZWRWYWx1ZTsKKyAgICBMYXlvdXRVbml0IHVzZWRWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIGNvbGxhcHNlZFZhbHVlLnZhbHVlT3Iobm9uQ29sbGFwc2VkVmFsdWUpOyB9CisgICAg
TGF5b3V0VW5pdCBub25Db2xsYXBzZWRWYWx1ZTsKKyAgICBPcHRpb25hbDxMYXlvdXRVbml0PiBj
b2xsYXBzZWRWYWx1ZTsKKyAgICBib29sIGlzQ29sbGFwc2VkVGhyb3VnaCB7IGZhbHNlIH07CiB9
OwogCiBzdHJ1Y3QgUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5n
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGVjZDhmODc0MzdiNDgwNGU5ZTQwN2RiZmRkZTFi
MTliYzE2ZTVkOGYuLmYzNjQxNGQ4ZWJjOGIzMjllYzJjMzRmOTg5NmQyODcwYmZkMjE4OTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTkxLDcgKzE5MSwxMCBAQCB2b2lk
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVFc3RpbWF0ZWRNYXJnaW5CZWZvcmUoY29u
c3QgQm94JiBsYXlvdXRCb3gpCiAgICAgYmxvY2tGb3JtYXR0aW5nU3RhdGUoKS5zZXRIYXNFc3Rp
bWF0ZWRNYXJnaW5CZWZvcmUobGF5b3V0Qm94KTsKIAogICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBs
YXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7Ci0gICAgZGlzcGxh
eUJveC5zZXRUb3AoYWRqdXN0ZWRWZXJ0aWNhbFBvc2l0aW9uQWZ0ZXJNYXJnaW5Db2xsYXBzaW5n
KGxheW91dEJveCwgZXN0aW1hdGVkTWFyZ2luQmVmb3JlLnVzZWRWYWx1ZSkpOworICAgIGF1dG8g
bm9uQ29sbGFwc2VkVmFsdWVzID0gVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1
ZXMgeyBlc3RpbWF0ZWRNYXJnaW5CZWZvcmUubm9uQ29sbGFwc2VkVmFsdWUsIHsgfSB9OworICAg
IGF1dG8gY29sbGFwc2VkVmFsdWVzID0gVXNlZFZlcnRpY2FsTWFyZ2luOjpDb2xsYXBzZWRWYWx1
ZXMgeyBlc3RpbWF0ZWRNYXJnaW5CZWZvcmUuY29sbGFwc2VkVmFsdWUsIHsgfSwgZXN0aW1hdGVk
TWFyZ2luQmVmb3JlLmlzQ29sbGFwc2VkVGhyb3VnaCB9OworICAgIGF1dG8gdmVydGljYWxNYXJn
aW4gPSBVc2VkVmVydGljYWxNYXJnaW4geyBub25Db2xsYXBzZWRWYWx1ZXMsIGNvbGxhcHNlZFZh
bHVlcyB9OworICAgIGRpc3BsYXlCb3guc2V0VG9wKGFkanVzdGVkVmVydGljYWxQb3NpdGlvbkFm
dGVyTWFyZ2luQ29sbGFwc2luZyhsYXlvdXRCb3gsIHZlcnRpY2FsTWFyZ2luKSk7CiAjaWYgIUFT
U0VSVF9ESVNBQkxFRAogICAgIGRpc3BsYXlCb3guc2V0RXN0aW1hdGVkTWFyZ2luQmVmb3JlKGVz
dGltYXRlZE1hcmdpbkJlZm9yZSk7CiAjZW5kaWYKQEAgLTM3MiwyMSArMzc1LDMzIEBAIHZvaWQg
QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbihjb25zdCBCb3gm
IGxheW91dEJveCkgY29uc3QKICAgICAgICAgfQogICAgIH0KIAorICAgIC8vIDEuIENvbXB1dGUg
Y29sbGFwc2VkIG1hcmdpbnMuCisgICAgLy8gMi4gQWRqdXN0IHZlcnRpY2FsIHBvc2l0aW9uIHVz
aW5nIHRoZSBjb2xsYXBlZCB2YWx1ZXMKKyAgICAvLyAzLiBBZGp1c3QgcHJldmlvdXMgaW4tZmxv
dyBzaWJsaW5nIG1hcmdpbiBhZnRlciB1c2luZyB0aGlzIG1hcmdpbi4KICAgICBhdXRvIGNvbGxh
cHNlZE1hcmdpbiA9IE1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRWZXJ0aWNhbFZhbHVlcyhsYXlv
dXRTdGF0ZSwgbGF5b3V0Qm94LCBoZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luKTsK
ICAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0gVXNlZFZlcnRpY2FsTWFyZ2luIHsgaGVpZ2h0QW5k
TWFyZ2luLm5vbkNvbGxhcHNlZE1hcmdpbiwgY29sbGFwc2VkTWFyZ2luIH07CiAgICAgYXV0byYg
ZGlzcGxheUJveCA9IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94
KTsKKyAgICAKKyAgICAvLyBPdXQgb2YgZmxvdyBib3hlcyBkb24ndCBuZWVkIHZlcnRpY2FsIGFk
anVzdG1lbnQgYWZ0ZXIgbWFyZ2luIGNvbGxhcHNpbmcuCisgICAgaWYgKGxheW91dEJveC5pc091
dE9mRmxvd1Bvc2l0aW9uZWQoKSkgeworICAgICAgICBkaXNwbGF5Qm94LnNldENvbnRlbnRCb3hI
ZWlnaHQoaGVpZ2h0QW5kTWFyZ2luLmhlaWdodCk7CisgICAgICAgIGRpc3BsYXlCb3guc2V0VmVy
dGljYWxNYXJnaW4odmVydGljYWxNYXJnaW4pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAg
ICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gdGhpcy0+YmxvY2tGb3JtYXR0aW5nU3RhdGUoKTsK
ICAgICBpZiAoZm9ybWF0dGluZ1N0YXRlLmhhc0VzdGltYXRlZE1hcmdpbkJlZm9yZShsYXlvdXRC
b3gpKSB7CiAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5jbGVhckhhc0VzdGltYXRlZE1hcmdpbkJl
Zm9yZShsYXlvdXRCb3gpOwotICAgICAgICBBU1NFUlQoZGlzcGxheUJveC5lc3RpbWF0ZWRNYXJn
aW5CZWZvcmUoKS0+dXNlZFZhbHVlID09IHZlcnRpY2FsTWFyZ2luLmJlZm9yZSgpKTsKKyAgICAg
ICAgQVNTRVJUKGRpc3BsYXlCb3guZXN0aW1hdGVkTWFyZ2luQmVmb3JlKCktPnVzZWRWYWx1ZSgp
ID09IHZlcnRpY2FsTWFyZ2luLmJlZm9yZSgpKTsKICAgICB9IGVsc2UKLSAgICAgICAgZGlzcGxh
eUJveC5zZXRUb3AoYWRqdXN0ZWRWZXJ0aWNhbFBvc2l0aW9uQWZ0ZXJNYXJnaW5Db2xsYXBzaW5n
KGxheW91dEJveCwgdmVydGljYWxNYXJnaW4uYmVmb3JlKCkpKTsKKyAgICAgICAgZGlzcGxheUJv
eC5zZXRUb3AoYWRqdXN0ZWRWZXJ0aWNhbFBvc2l0aW9uQWZ0ZXJNYXJnaW5Db2xsYXBzaW5nKGxh
eW91dEJveCwgdmVydGljYWxNYXJnaW4pKTsKIAotICAgIGRpc3BsYXlCb3guc2V0Q29udGVudEJv
eEhlaWdodChoZWlnaHRBbmRNYXJnaW4uaGVpZ2h0KTsKLSAgICBkaXNwbGF5Qm94LnNldFZlcnRp
Y2FsTWFyZ2luKHZlcnRpY2FsTWFyZ2luKTsKICAgICAvLyBBZGp1c3QgdGhlIHByZXZpb3VzIHNp
YmxpbmcncyBtYXJnaW4gYm90dG9tIG5vdyB0aGF0IHRoaXMgYm94J3MgdmVydGljYWwgbWFyZ2lu
IGlzIGNvbXB1dGVkLgogICAgIGlmIChNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFw
c2VzV2l0aFByZXZpb3VzU2libGluZ01hcmdpbkFmdGVyKGxheW91dFN0YXRlLCBsYXlvdXRCb3gp
KQogICAgICAgICBNYXJnaW5Db2xsYXBzZTo6dXBkYXRlQ29sbGFwc2VkTWFyZ2luQWZ0ZXIobGF5
b3V0U3RhdGUsICpsYXlvdXRCb3gucHJldmlvdXNJbkZsb3dTaWJsaW5nKCksIHZlcnRpY2FsTWFy
Z2luKTsKKworICAgIGRpc3BsYXlCb3guc2V0Q29udGVudEJveEhlaWdodChoZWlnaHRBbmRNYXJn
aW4uaGVpZ2h0KTsKKyAgICBkaXNwbGF5Qm94LnNldFZlcnRpY2FsTWFyZ2luKHZlcnRpY2FsTWFy
Z2luKTsKIH0KIAogRm9ybWF0dGluZ0NvbnRleHQ6Okluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRz
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Omluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzKCkgY29u
c3QKQEAgLTQ1Myw4ICs0NjgsOSBAQCBGb3JtYXR0aW5nQ29udGV4dDo6SW5zdHJpbnNpY1dpZHRo
Q29uc3RyYWludHMgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6aW5zdHJpbnNpYwogICAgIHJldHVy
biBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50czsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjphZGp1c3RlZFZlcnRpY2FsUG9zaXRpb25BZnRlck1hcmdpbkNvbGxhcHNp
bmcoY29uc3QgQm94JiBsYXlvdXRCb3gsIExheW91dFVuaXQgbWFyZ2luQmVmb3JlKSBjb25zdAor
TGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjphZGp1c3RlZFZlcnRpY2FsUG9zaXRp
b25BZnRlck1hcmdpbkNvbGxhcHNpbmcoY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IFVzZWRW
ZXJ0aWNhbE1hcmdpbiYgdmVydGljYWxNYXJnaW4pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFsYXlv
dXRCb3guaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpOwogICAgIC8vIE5vdyB0aGF0IHdlJ3ZlIGNv
bXB1dGVkIHRoZSBmaW5hbCBtYXJnaW4gYmVmb3JlLCBsZXQncyBzaGlmdCB0aGUgYm94J3MgdmVy
dGljYWwgcG9zaXRpb24uCiAgICAgLy8gMS4gQ2hlY2sgaWYgdGhlIG1hcmdpbiBiZWZvcmUgY29s
bGFwc2VzIHdpdGggdGhlIHByZXZpb3VzIGJveCdzIG1hcmdpbiBhZnRlci4gaWYgbm90IC0+IHJl
dHVybiBwcmV2aW91cyBib3gncyBib3R0b20gaW5sY3VkaW5nIG1hcmdpbiBhZnRlciArIG1hcmdp
bkJlZm9yZQogICAgIC8vIDIuIENoZWNrIGlmIHRoZSBwcmV2aW91cyBib3gncyBtYXJnaW5zIGNv
bGxhcHNlIHRocm91Z2guIElmIG5vdCAtPiByZXR1cm4gcHJldmlvdXMgYm94JyBib3R0b20gZXhj
bHVkaW5nIG1hcmdpbiBhZnRlciArIG1hcmdpbkJlZm9yZSAodGhleSBhcmUgc3VwcG9zZWQgdG8g
YmUgZXF1YWwpCkBAIC00NjcsMjYgKzQ4Myw0NSBAQCBMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6OmFkanVzdGVkVmVydGljYWxQb3NpdGlvbkFmdGVyTWFyZ2luQ29sbGFwc2luZwog
ICAgICAgICBhdXRvJiBwcmV2aW91c0luRmxvd1NpYmxpbmcgPSAqY3VycmVudExheW91dEJveC0+
cHJldmlvdXNJbkZsb3dTaWJsaW5nKCk7CiAgICAgICAgIGlmICghTWFyZ2luQ29sbGFwc2U6Om1h
cmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQcmV2aW91c1NpYmxpbmdNYXJnaW5BZnRlcihsYXlvdXRT
dGF0ZSwgKmN1cnJlbnRMYXlvdXRCb3gpKSB7CiAgICAgICAgICAgICBhdXRvJiBwcmV2aW91c0Rp
c3BsYXlCb3ggPSBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KHByZXZpb3VzSW5G
bG93U2libGluZyk7Ci0gICAgICAgICAgICByZXR1cm4gcHJldmlvdXNEaXNwbGF5Qm94LnJlY3RX
aXRoTWFyZ2luKCkuYm90dG9tKCkgKyBtYXJnaW5CZWZvcmU7CisgICAgICAgICAgICByZXR1cm4g
cHJldmlvdXNEaXNwbGF5Qm94LnJlY3RXaXRoTWFyZ2luKCkuYm90dG9tKCkgKyB2ZXJ0aWNhbE1h
cmdpbi5iZWZvcmUoKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghTWFyZ2luQ29sbGFwc2U6
Om1hcmdpbnNDb2xsYXBzZVRocm91Z2gobGF5b3V0U3RhdGUsIHByZXZpb3VzSW5GbG93U2libGlu
ZykpIHsKICAgICAgICAgICAgIGF1dG8mIHByZXZpb3VzRGlzcGxheUJveCA9IGxheW91dFN0YXRl
LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gocHJldmlvdXNJbkZsb3dTaWJsaW5nKTsKLSAgICAgICAg
ICAgIHJldHVybiBwcmV2aW91c0Rpc3BsYXlCb3guYm90dG9tKCkgKyBtYXJnaW5CZWZvcmU7Cisg
ICAgICAgICAgICByZXR1cm4gcHJldmlvdXNEaXNwbGF5Qm94LmJvdHRvbSgpICsgdmVydGljYWxN
YXJnaW4uYmVmb3JlKCk7CiAgICAgICAgIH0KICAgICAgICAgY3VycmVudExheW91dEJveCA9ICZw
cmV2aW91c0luRmxvd1NpYmxpbmc7CiAgICAgfQogCiAgICAgYXV0byYgY29udGFpbmluZ0Jsb2Nr
ID0gKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsKICAgICBhdXRvIGNvbnRhaW5pbmdCbG9j
a0NvbnRlbnRCb3hUb3AgPSBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGNvbnRh
aW5pbmdCbG9jaykuY29udGVudEJveFRvcCgpOwotICAgIC8vIElmIHdlIHJlYWNoZWQgdGhlIHBh
cmVudCB0aHJvdWdoIGNvbGxhcHNlZCBzaWJsaW5nKHMpLCB0aGlzIGJveCAobWF5KSBjb2xsYXBz
ZXMgdGhlIGJlZm9yZSBtYXJnaW4gaW5kaXJlY3RseSB3aXRoIHRoZSBwYXJlbnQuICAKLSAgICBh
dXRvKiBjb2xsYXBzaW5nQ2FuZGlkYXRlID0gbGF5b3V0Qm94LnByZXZpb3VzSW5GbG93U2libGlu
ZygpID8gY29udGFpbmluZ0Jsb2NrLmZpcnN0SW5GbG93Q2hpbGQoKSA6ICZsYXlvdXRCb3g7Ci0g
ICAgYXV0byBtYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50ID0gTWFyZ2luQ29sbGFwc2U6
Om1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5CZWZvcmUobGF5b3V0U3RhdGUs
ICpjb2xsYXBzaW5nQ2FuZGlkYXRlKSAKLSAgICAgICAgfHwgTWFyZ2luQ29sbGFwc2U6Om1hcmdp
bkJlZm9yZUNvbGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5BZnRlcihsYXlvdXRTdGF0ZSwgKmNvbGxh
cHNpbmdDYW5kaWRhdGUpOwotICAgIGlmIChtYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50
KQorICAgIC8vIEFkanVzdCB2ZXJ0aWNhbCBwb3NpdGlvbiBkZXBlbmRpbmcgd2hldGhlciB0aGlz
IGJveCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGFkam9pbnMgd2l0aCBpdHMgcGFyZW50LgorICAg
IGF1dG8gZGlyZWN0bHlBZGpvaW5zUGFyZW50ID0gIWxheW91dEJveC5wcmV2aW91c0luRmxvd1Np
YmxpbmcoKTsgCisgICAgaWYgKGRpcmVjdGx5QWRqb2luc1BhcmVudCkgeworICAgICAgICAvLyBJ
ZiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvZiBhIGJveCBhcmUgYWRqb2luaW5nLCB0aGVu
IGl0IGlzIHBvc3NpYmxlIGZvciBtYXJnaW5zIHRvIGNvbGxhcHNlIHRocm91Z2ggaXQuCisgICAg
ICAgIC8vIEluIHRoaXMgY2FzZSwgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50IGRlcGVuZHMg
b24gaXRzIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvdGhlciBlbGVtZW50cyB3aG9zZSBtYXJnaW5z
IGFyZSBiZWluZyBjb2xsYXBzZWQuCisgICAgICAgIGlmICh2ZXJ0aWNhbE1hcmdpbi5jb2xsYXBz
ZWRWYWx1ZXMoKS5pc0NvbGxhcHNlZFRocm91Z2gpIHsKKyAgICAgICAgICAgIC8vIElmIHRoZSBl
bGVtZW50J3MgbWFyZ2lucyBhcmUgY29sbGFwc2VkIHdpdGggaXRzIHBhcmVudCdzIHRvcCBtYXJn
aW4sIHRoZSB0b3AgYm9yZGVyIGVkZ2Ugb2YgdGhlIGJveCBpcyBkZWZpbmVkIHRvIGJlIHRoZSBz
YW1lIGFzIHRoZSBwYXJlbnQncy4KKyAgICAgICAgICAgIGlmIChNYXJnaW5Db2xsYXBzZTo6bWFy
Z2luQmVmb3JlQ29sbGFwc2VzV2l0aFBhcmVudE1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgbGF5
b3V0Qm94KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrQ29udGVudEJv
eFRvcDsKKyAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgZWl0aGVyIHRoZSBlbGVtZW50J3MgcGFy
ZW50IGlzIG5vdCB0YWtpbmcgcGFydCBpbiB0aGUgbWFyZ2luIGNvbGxhcHNpbmcsIG9yIG9ubHkg
dGhlIHBhcmVudCdzIGJvdHRvbSBtYXJnaW4gaXMgaW52b2x2ZWQuCisgICAgICAgICAgICAvLyBU
aGUgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQncyB0b3AgYm9yZGVyIGVkZ2UgaXMgdGhlIHNhbWUg
YXMgaXQgd291bGQgaGF2ZSBiZWVuIGlmIHRoZSBlbGVtZW50IGhhZCBhIG5vbi16ZXJvIGJvdHRv
bSBib3JkZXIuCisgICAgICAgICAgICBhdXRvIGJlZm9yZU1hcmdpbldpdGhCb3R0b21Cb3JkZXIg
PSBNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlSWdub3JpbmdDb2xsYXBzaW5nVGhyb3VnaChs
YXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCB2ZXJ0aWNhbE1hcmdpbi5ub25Db2xsYXBzZWRWYWx1ZXMo
KSk7CisgICAgICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrQ29udGVudEJveFRvcCArIGJl
Zm9yZU1hcmdpbldpdGhCb3R0b21Cb3JkZXI7CisgICAgICAgIH0KKyAgICAgICAgLy8gTm9uLWNv
bGxhcHNlZCB0aHJvdWdoIGJveCB2ZXJ0aWNhbCBwb3NpdGlvbiBkZXBlbmRpbmcgd2hldGhlciB0
aGUgbWFyZ2luIGNvbGxhcHNlcy4KKyAgICAgICAgaWYgKE1hcmdpbkNvbGxhcHNlOjptYXJnaW5C
ZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKGxheW91dFN0YXRlLCBsYXlvdXRC
b3gpKQorICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hUb3A7CisK
KyAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hUb3AgKyB2ZXJ0aWNhbE1h
cmdpbi5iZWZvcmUoKTsKKyAgICB9CisgICAgLy8gQXQgdGhpcyBwb2ludCB0aGlzIGJveCBpbmRp
cmVjdGx5ICh2aWEgY29sbGFwc2VkIHRocm91Z2ggcHJldmlvdXMgaW4tZmxvdyBzaWJsaW5ncykg
YWRqb2lucyB0aGUgcGFyZW50LiBMZXQncyBjaGVjayBpZiBpdCBtYXJnaW4gY29sbGFwc2VzIHdp
dGggdGhlIHBhcmVudC4KKyAgICBBU1NFUlQoY29udGFpbmluZ0Jsb2NrLmZpcnN0SW5GbG93Q2hp
bGQoKSk7CisgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jay5maXJzdEluRmxvd0NoaWxkKCkgIT0g
JmxheW91dEJveCk7CisgICAgaWYgKE1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBz
ZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKGxheW91dFN0YXRlLCAqY29udGFpbmluZ0Jsb2NrLmZp
cnN0SW5GbG93Q2hpbGQoKSkpCiAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2tDb250ZW50
Qm94VG9wOwogCi0gICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hUb3AgKyBtYXJn
aW5CZWZvcmU7CisgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hUb3AgKyB2ZXJ0
aWNhbE1hcmdpbi5iZWZvcmUoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaApp
bmRleCA1MDBkMDY0OWMyNWUyMzdlYzAwZGU3MmZiZGViOTJiMDVlNzU4ZWQ1Li5hMmNmZGFkMjAx
N2ZhZTc3MTAzZTgwODFjMzExZTZmNTU2NjA4ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuaApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJlY29tcHV0ZVZlcnRp
Y2FsUG9zaXRpb25Gb3JGb3JtYXR0aW5nUm9vdElmTmVlZGVkKGNvbnN0IEJveCYpIGNvbnN0Owog
CiAgICAgSW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWlu
dHMoKSBjb25zdCBvdmVycmlkZTsKLSAgICBMYXlvdXRVbml0IGFkanVzdGVkVmVydGljYWxQb3Np
dGlvbkFmdGVyTWFyZ2luQ29sbGFwc2luZyhjb25zdCBCb3gmLCBMYXlvdXRVbml0IG1hcmdpbkJl
Zm9yZSkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBhZGp1c3RlZFZlcnRpY2FsUG9zaXRpb25BZnRl
ck1hcmdpbkNvbGxhcHNpbmcoY29uc3QgQm94JiwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2luJikg
Y29uc3Q7CiAKICAgICAvLyBUaGlzIGNsYXNzIGltcGxlbWVudHMgcG9zaXRpb25pbmcgYW5kIHNp
emluZyBmb3IgYm94ZXMgcGFydGljaXBhdGluZyBpbiBhIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4
dC4KICAgICBjbGFzcyBHZW9tZXRyeSA6IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnkgewpAQCAtOTUsNiArOTUsNyBAQCBwcml2YXRlOgogICAgICAgICBzdGF0aWMgVXNlZFZlcnRp
Y2FsTWFyZ2luOjpDb2xsYXBzZWRWYWx1ZXMgY29sbGFwc2VkVmVydGljYWxWYWx1ZXMoY29uc3Qg
TGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmLCBjb25zdCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNv
bGxhcHNlZFZhbHVlcyYpOwogCiAgICAgICAgIHN0YXRpYyBFc3RpbWF0ZWRNYXJnaW5CZWZvcmUg
ZXN0aW1hdGVkTWFyZ2luQmVmb3JlKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7Cisg
ICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IG1hcmdpbkJlZm9yZUlnbm9yaW5nQ29sbGFwc2luZ1Ro
cm91Z2goY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmLCBjb25zdCBVc2VkVmVydGljYWxN
YXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyYpOwogICAgICAgICBzdGF0aWMgdm9pZCB1cGRhdGVD
b2xsYXBzZWRNYXJnaW5BZnRlcihjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIGNvbnN0
IFVzZWRWZXJ0aWNhbE1hcmdpbiYgbmV4dFNpYmxpbmdWZXJ0aWNhbE1hcmdpbik7CiAKICAgICAg
ICAgc3RhdGljIGJvb2wgbWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFBhcmVudE1hcmdpbkJlZm9y
ZShjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5j
cHAKaW5kZXggZjlhYjEyN2Y5YWE0OGMyMGQwYTdmNGZhMWU3YjRjNDQ1YWQ0NGMxZi4uZjEwYmE0
NjQxZGZlMjM5YTAwY2VmOWY4ZmEyNDgzMTVlYzc0ODlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFw
c2UuY3BwCkBAIC01OTMsMTMgKzU5MywyMSBAQCBFc3RpbWF0ZWRNYXJnaW5CZWZvcmUgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmVzdGltYXRlZE1hcmdpbkJlZgogICAg
IEFTU0VSVCghbGF5b3V0Qm94LmVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgpKTsK
ICAgICAKICAgICBhdXRvIGNvbXB1dGVkVmVydGljYWxNYXJnaW4gPSBHZW9tZXRyeTo6Y29tcHV0
ZWRWZXJ0aWNhbE1hcmdpbihsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KTsKLSAgICBhdXRvIG5vbkNv
bGxhcHNlZE1hcmdpbiA9IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIHsg
Y29tcHV0ZWRWZXJ0aWNhbE1hcmdpbi5iZWZvcmUudmFsdWVPcigwKSwgY29tcHV0ZWRWZXJ0aWNh
bE1hcmdpbi5hZnRlci52YWx1ZU9yKDApIH07IAorICAgIGF1dG8gbm9uQ29sbGFwc2VkTWFyZ2lu
ID0gVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgeyBjb21wdXRlZFZlcnRp
Y2FsTWFyZ2luLmJlZm9yZS52YWx1ZU9yKDApLCBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmFmdGVy
LnZhbHVlT3IoMCkgfTsKKyAgICBhdXRvIG1hcmdpbnNDb2xsYXBzZVRocm91Z2ggPSBNYXJnaW5D
b2xsYXBzZTo6bWFyZ2luc0NvbGxhcHNlVGhyb3VnaChsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KTsK
KyAgICBhdXRvIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUgPSBNYXJnaW5Db2xsYXBzZTo6
cG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCBub25D
b2xsYXBzZWRNYXJnaW4pOwogCi0gICAgaWYgKCFtYXJnaW5zQ29sbGFwc2VUaHJvdWdoKGxheW91
dFN0YXRlLCBsYXlvdXRCb3gpKQotICAgICAgICByZXR1cm4geyBtYXJnaW5WYWx1ZShwb3NpdGl2
ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIG5vbkNvbGxhcHNl
ZE1hcmdpbikpLnZhbHVlT3IoMCkgfTsKLSAgICAKLSAgICByZXR1cm4geyBtYXJnaW5WYWx1ZShj
b21wdXRlZFBvc2l0aXZlQW5kTmVnYXRpdmVNYXJnaW4ocG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJl
Zm9yZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCBub25Db2xsYXBzZWRNYXJnaW4pLAotICAgICAg
ICBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIobGF5b3V0U3RhdGUsIGxheW91dEJveCwgbm9u
Q29sbGFwc2VkTWFyZ2luKSkpLnZhbHVlT3IoMCkgfTsKKyAgICBhdXRvIGNvbGxhcHNlZE1hcmdp
bkJlZm9yZSA9IG1hcmdpblZhbHVlKCFtYXJnaW5zQ29sbGFwc2VUaHJvdWdoID8gcG9zaXRpdmVO
ZWdhdGl2ZU1hcmdpbkJlZm9yZQorICAgICAgICA6IGNvbXB1dGVkUG9zaXRpdmVBbmROZWdhdGl2
ZU1hcmdpbihwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlLCBwb3NpdGl2ZU5lZ2F0aXZlTWFy
Z2luQWZ0ZXIobGF5b3V0U3RhdGUsIGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2luKSkpOwor
CisgICAgcmV0dXJuIHsgbm9uQ29sbGFwc2VkTWFyZ2luLmJlZm9yZSwgY29sbGFwc2VkTWFyZ2lu
QmVmb3JlLCBtYXJnaW5zQ29sbGFwc2VUaHJvdWdoIH07Cit9CisKK0xheW91dFVuaXQgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUlnbm9yaW5nQ29s
bGFwc2luZ1Rocm91Z2goY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gm
IGxheW91dEJveCwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMm
IG5vbkNvbGxhcHNlZFZhbHVlcykKK3sKKyAgICBBU1NFUlQoIWxheW91dEJveC5pc0Fub255bW91
cygpKTsKKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgpKTsKKyAgICByZXR1
cm4gbWFyZ2luVmFsdWUocG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwg
bGF5b3V0Qm94LCBub25Db2xsYXBzZWRWYWx1ZXMpKS52YWx1ZU9yKG5vbkNvbGxhcHNlZFZhbHVl
cy5iZWZvcmUpOyAKIH0KIAogVXNlZFZlcnRpY2FsTWFyZ2luOjpDb2xsYXBzZWRWYWx1ZXMgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZFZlcnRpY2FsVmFs
dWVzKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gs
IGNvbnN0IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzJiBub25Db2xsYXBz
ZWRWYWx1ZXMpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggMmUzYTUxYzcwMmViZWJkYmI4YTNhMTM3MzljNjA5MjJmMzVjOGMzNi4uMDNlOThhZDBm
MjU1MTYzZTg0NWNmOGVmNTU5NTc1OTk4NDJhMTU3MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTAxLTEwICBa
YWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXVtNYXJn
aW5Db2xsYXBzaW5nXSBBZGp1c3QgdmVydGljYWwgcG9zaXRpb24gd2hlbiBib3ggbWFyZ2luIGNv
bGxhcHNlcyB0aHJvdWdoLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkzMzQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBMYXlvdXRSZWxvYWRlZC9taXNjL0xGQy1wYXNzaW5nLXRlc3RzLnR4dDoKKwog
MjAxOS0wMS0xMCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggdHlwbyB0aGF0IGJyZWFrcyBkYXNoYm9hcmQgbGluay4KZGlmZiAt
LWdpdCBhL1Rvb2xzL0xheW91dFJlbG9hZGVkL21pc2MvTEZDLXBhc3NpbmctdGVzdHMudHh0IGIv
VG9vbHMvTGF5b3V0UmVsb2FkZWQvbWlzYy9MRkMtcGFzc2luZy10ZXN0cy50eHQKaW5kZXggZTNj
ODUxODQxNmQzMmJkZTQ0NWI0ZDJhYjllY2Q5NzAxNjkwNmQyYi4uZDdkNTVhNjQ2NDI4YmViMjhm
YjIxNDc4N2U3YjRjYTRjMTJmZTg0MiAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0UmVsb2FkZWQv
bWlzYy9MRkMtcGFzc2luZy10ZXN0cy50eHQKKysrIGIvVG9vbHMvTGF5b3V0UmVsb2FkZWQvbWlz
Yy9MRkMtcGFzc2luZy10ZXN0cy50eHQKQEAgLTY0LDYgKzY0LDcgQEAgZmFzdC9ibG9jay9ibG9j
ay1vbmx5L21hcmdpbi1wcm9wYWdhdGlvbi1zaW1wbGUtY29udGVudC1oZWlnaHQuaHRtbAogZmFz
dC9ibG9jay9ibG9jay1vbmx5L21hcmdpbi1zaWJsaW5nLWNvbGxhcHNlLXByb3BhZ2F0ZWQuaHRt
bAogZmFzdC9ibG9jay9ibG9jay1vbmx5L21hcmdpbi1zaW1wbGUuaHRtbAogZmFzdC9ibG9jay9i
bG9jay1vbmx5L2NvbGxhcHNlZC10aHJvdWdoLXNpYmxpbmdzLmh0bWwKK2Zhc3QvYmxvY2svYmxv
Y2stb25seS9jb2xsYXBzZWQtdGhyb3VnaC13aXRoLXBhcmVudC5odG1sCiBmYXN0L2Jsb2NrL2Js
b2NrLW9ubHkvbWluLW1heC1oZWlnaHQtcGVyY2VudGFnZS5odG1sCiBmYXN0L2Jsb2NrL2Jsb2Nr
LW9ubHkvbmVnYXRpdmUtbWFyZ2luLXNpbXBsZS5odG1sCiBmYXN0L2Jsb2NrL2Jsb2NrLW9ubHkv
cGFkZGluZy1uZXN0ZWQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE2ZTU5MWY4NGZkYzY1ZjdhZDA2OTlmODUwZDYz
N2IwYTFhZjQ3OTQuLmE3OTMyMmQ0Mjk3Y2Q4NDFhYzQ0NTZjYjU1NGRkNjEyODdmMjExYzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMS0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtMRkNdW0JGQ11bTWFyZ2luQ29sbGFwc2luZ10gQWRqdXN0IHZl
cnRpY2FsIHBvc2l0aW9uIHdoZW4gYm94IG1hcmdpbiBjb2xsYXBzZXMgdGhyb3VnaC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzM0NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ibG9jay9i
bG9jay1vbmx5L2NvbGxhcHNlZC10aHJvdWdoLXdpdGgtcGFyZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ibG9jay9ibG9jay1vbmx5L2NvbGxhcHNlZC10aHJvdWdoLXdp
dGgtcGFyZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTAxLTExICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5p
bmcuIFJlYmFzZWxpbmUgc2V2ZXJhbCB0ZXN0cyBhZnRlciByMjM5ODIyLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ibG9jay9ibG9jay1vbmx5L2NvbGxhcHNlZC10aHJvdWdoLXdpdGgt
cGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9j
b2xsYXBzZWQtdGhyb3VnaC13aXRoLXBhcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEw
NTBhNThlNDBhYTZiNDZiYTZjNGUyZDcxZTM5ZWVjZWQwODg0MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9jb2xsYXBzZWQtdGhyb3VnaC13aXRo
LXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDQwMng0MDIgW2JvcmRlcjogKDFweCBzb2xp
ZCAjRkYwMDAwKV0KKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEsMTEpIHNpemUgMTAw
eDAKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEsODEpIHNpemUgMTAweDAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9jb2xsYXBzZWQtdGhyb3Vn
aC13aXRoLXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9ibG9jay1vbmx5L2Nv
bGxhcHNlZC10aHJvdWdoLXdpdGgtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE1ZDRkODkxMzNk
ZTdkZDE3MDI2NmZmNzliM2FmMzU5NDYzYzA2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvYmxvY2svYmxvY2stb25seS9jb2xsYXBzZWQtdGhyb3VnaC13aXRoLXBhcmVudC5o
dG1sCkBAIC0wLDAgKzEsNCBAQAorPGRpdiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgcmVkOyB3
aWR0aDogNDAwcHg7IGhlaWdodDogNDAwcHgiPgorCTxkaXYgc3R5bGU9Im91dGxpbmU6IDJweCBz
b2xpZCByZWQ7IHdpZHRoOiAxMDBweDsgbWFyZ2luLXRvcDogMTBweDsgbWFyZ2luLWJvdHRvbTog
NzBweCI+PC9kaXY+CisJPGRpdiBzdHlsZT0ib3V0bGluZTogMXB4IHNvbGlkIGdyZWVuOyB3aWR0
aDogMTAwcHg7IG1hcmdpbi10b3A6IDgwcHgiPjwvZGl2PgorPC9kaXY+Cg==
</data>
<flag name="review"
          id="375715"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>