<?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>220064</bug_id>
          
          <creation_ts>2020-12-21 11:30:17 -0800</creation_ts>
          <short_desc>[LFC][Integration] Compute enclosing top and bottom while constructing the line runs</short_desc>
          <delta_ts>2020-12-22 06:34:13 -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>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>1716044</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-12-21 11:30:17 -0800</bug_when>
    <thetext>and provide this geometry through InlineLineGeometry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716045</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-21 11:30:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/72556810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716049</commentid>
    <comment_count>2</comment_count>
      <attachid>416615</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-21 11:42:02 -0800</bug_when>
    <thetext>Created attachment 416615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716154</commentid>
    <comment_count>3</comment_count>
      <attachid>416647</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-21 19:16:35 -0800</bug_when>
    <thetext>Created attachment 416647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716206</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-22 06:34:12 -0800</bug_when>
    <thetext>Committed r271052: &lt;https://trac.webkit.org/changeset/271052&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416647.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416615</attachid>
            <date>2020-12-21 11:42:02 -0800</date>
            <delta_ts>2020-12-21 19:16:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220064-20201221114201.patch</filename>
            <type>text/plain</type>
            <size>17927</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJhODI5ZWZkYTY4ZTAx
Y2I5YjE5NThlZDUzYzkwODQ5YmViODJkYy4uY2U2NTkzZDk5ODkwMDQwZTU1ZjFmMWRkNDcwOTMw
MDNkZWEzNzk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTEyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IENvbXB1dGUgZW5jbG9zaW5nIHRvcCBhbmQgYm90dG9tIHdoaWxlIGNvbnN0cnVjdGluZyB0aGUg
aW5saW5lIHJ1bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMDA2NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI1NTY4MTA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3MgcHJlLWNvbXB1dGUg
dGhlIGVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSBjb29yZGluYXRlcyB3aGlsZSBjb25zdHJ1Y3Rp
bmcgdGhlIGxpbmUgcnVucy4KKyAgICAgICAgKFRoaXMgc2F2ZXMgYSBsb29wIG9uIHRoZSBpbmxp
bmUgbGV2ZWwgYm94ZXMgd2hpbGUgY29uc3RydWN0aW5nIHRoZSBsaW5lcyBhdCBJbmxpbmVDb250
ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKSAKKworICAgICAgICAqIGxheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxp
bmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
R2VvbWV0cnkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5
OjplbmNsb3NpbmdUb3BBbmRCb3R0b20gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVMaW5lR2VvbWV0cnk6OklubGluZUxpbmVHZW9tZXRyeSk6CisgICAgICAgICogbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWls
ZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMg
Y29uc3QpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lOjpMaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lOjplbmNsb3NpbmdDb250
ZW50VG9wIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5l
OjplbmNsb3NpbmdDb250ZW50Qm90dG9tIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dEludGVncmF0aW9uOjptYWtlQWRqdXN0ZWRDb250ZW50KToKKwogMjAyMC0xMi0yMSAg
QWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TiAocjI2MjcyOSk6IFBvb3IgY29udHJhc3QgZm9yIHNwZWNpZmljIGNvbG9yL2JhY2tncm91bmQg
Y29tYmluYXRpb25zIG9uIGRpc2FibGVkIGlucHV0IGZpZWxkcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQuY3BwCmluZGV4IDk4YTcwZGRkYjRmNzY3NTA1NzE5OWFjOWY3NjBmYTM0OWIz
ZGNhYmMuLjAxNWFmZTFkMjg0ZGM4MjVkMWMzZWEyMDhkMDY0OWM1NmI2MWM5YmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQzOCw2ICs0MzgsNyBAQCBJbmxpbmVS
ZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVu
dChjb25zdCBMaW5lQnVpbAogICAgIGNvbnN0IGF1dG8mIGxpbmVCb3ggPSBmb3JtYXR0aW5nU3Rh
dGUubGluZUJveGVzKCkubGFzdCgpOwogICAgIGF1dG8gbGluZUluZGV4ID0gZm9ybWF0dGluZ1N0
YXRlLmxpbmVzKCkuc2l6ZSgpOwogICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVC
b3gubG9naWNhbFJlY3QoKTsKKyAgICBhdXRvIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSA9IElubGlu
ZUxpbmVHZW9tZXRyeTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIHsgbGluZUJveExvZ2ljYWxSZWN0
LnRvcCgpLCBsaW5lQm94TG9naWNhbFJlY3QuYm90dG9tKCkgfTsKICAgICBIYXNoU2V0PGNvbnN0
IEJveCo+IGlubGluZUJveFN0YXJ0U2V0OwogICAgIEhhc2hTZXQ8Y29uc3QgQm94Kj4gaW5saW5l
Qm94RW5kU2V0OwogCkBAIC00NzAsMTggKzQ3MSwyNiBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVp
bAogICAgICAgICAgICAgICAgIGF1dG8gbG9naWNhbE1hcmdpblJlY3QgPSBsaW5lQm94LmxvZ2lj
YWxNYXJnaW5SZWN0Rm9ySW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7CiAg
ICAgICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIGxh
eW91dEJveCwgbG9naWNhbE1hcmdpblJlY3QsIGxpbmVSdW4uZXhwYW5zaW9uKCksIHsgfSB9KTsK
IAotICAgICAgICAgICAgICAgIGF1dG8gYm9yZGVyQm94TG9naWNhbFRvcExlZnQgPSBsaW5lQm94
TG9naWNhbFJlY3QudG9wTGVmdCgpOwotICAgICAgICAgICAgICAgIGJvcmRlckJveExvZ2ljYWxU
b3BMZWZ0Lm1vdmUobG9naWNhbE1hcmdpblJlY3QubGVmdCgpICsgYm94R2VvbWV0cnkubWFyZ2lu
U3RhcnQoKSwgbG9naWNhbE1hcmdpblJlY3QudG9wKCkgKyBib3hHZW9tZXRyeS5tYXJnaW5CZWZv
cmUoKSk7CisgICAgICAgICAgICAgICAgYXV0byBib3JkZXJCb3hMb2dpY2FsVG9wTGVmdCA9IGxv
Z2ljYWxNYXJnaW5SZWN0LnRvcExlZnQoKTsKKyAgICAgICAgICAgICAgICBib3JkZXJCb3hMb2dp
Y2FsVG9wTGVmdC5tb3ZlKHN0ZDo6bWF4KDBfbHUsIGJveEdlb21ldHJ5Lm1hcmdpblN0YXJ0KCkp
LCBzdGQ6Om1heCgwX2x1LCBib3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSkpOworICAgICAgICAg
ICAgICAgIC8vIE5vdGUgdGhhdCBpbmxpbmUgYm94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5l
IGFuZCB0aGVpciB0b3AgcG9zaXRpb24gY2FuIGJlIG5lZ2F0aXZlLgorICAgICAgICAgICAgICAg
IGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0Lm1vdmVCeShsaW5lQm94TG9naWNhbFJlY3QudG9wTGVm
dCgpKTsKICAgICAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmlzSW5GbG93UG9zaXRpb25lZCgp
KQogICAgICAgICAgICAgICAgICAgICBib3JkZXJCb3hMb2dpY2FsVG9wTGVmdCArPSBnZW9tZXRy
eS5pbkZsb3dQb3NpdGlvbmVkUG9zaXRpb25PZmZzZXQobGF5b3V0Qm94LCBob3Jpem9udGFsQ29u
c3RyYWludHMpOwogICAgICAgICAgICAgICAgIC8vIEF0b21pYyBpbmxpbmUgYm94ZXMgYXJlIGFs
bCBzZXQuIFRoZWlyIG1hcmdpbi9ib3JkZXIvY29udGVudCBib3ggZ2VvbWV0cmllcyBhcmUgYWxy
ZWFkeSBjb21wdXRlZC4gV2UganVzdCBoYXZlIHRvIHBvc2l0aW9uIHRoZW0gaGVyZS4KICAgICAg
ICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRMb2dpY2FsVG9wTGVmdCh0b0xheW91dFBvaW50KGJv
cmRlckJveExvZ2ljYWxUb3BMZWZ0KSk7CisKKyAgICAgICAgICAgICAgICBhdXRvIGJvcmRlckJv
eFRvcCA9IGJvcmRlckJveExvZ2ljYWxUb3BMZWZ0LnkoKTsKKyAgICAgICAgICAgICAgICBhdXRv
IGJvcmRlckJveEJvdHRvbSA9IGJvcmRlckJveFRvcCArIGJveEdlb21ldHJ5LmJvcmRlckJveEhl
aWdodCgpOworICAgICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AgPSBzdGQ6
Om1pbihlbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wLCBib3JkZXJCb3hUb3ApOworICAgICAgICAg
ICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdU
b3BBbmRCb3R0b20uYm90dG9tLCBib3JkZXJCb3hCb3R0b20pOwogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVC
b3hTdGFydCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0
aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5b3V0Qm94KTsKICAgICAgICAgICAgICAgICBmb3JtYXR0
aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBsaW5lQm94LmxvZ2lj
YWxNYXJnaW5SZWN0Rm9ySW5saW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSksIGxp
bmVSdW4uZXhwYW5zaW9uKCksIHsgfSB9KTsKICAgICAgICAgICAgICAgICBpbmxpbmVCb3hTdGFy
dFNldC5hZGQoJmxheW91dEJveCk7CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBlbmNs
b3NpbmcgdG9wIGFuZCBib3R0b20gc3VwcG9ydC4KICAgICAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsaW5lUnVuLmlzSW5saW5lQm94RW5kKCkp
IHsKQEAgLTU0MCw3ICs1NDksNyBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbAogICAgIHVwZGF0
ZUJveEdlb21ldHJ5Rm9ySW5saW5lQm94ZXMoKTsKIAogICAgIGF1dG8gY29uc3RydWN0TGluZUdl
b21ldHJ5ID0gWyZdIHsKLSAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmUoeyBsaW5lQm94
TG9naWNhbFJlY3QsIGxpbmVCb3guYWxpZ25tZW50QmFzZWxpbmUoKSwgbGluZUJveC5ob3Jpem9u
dGFsQWxpZ25tZW50T2Zmc2V0KCkudmFsdWVPcihJbmxpbmVMYXlvdXRVbml0IHsgfSksIGxpbmVD
b250ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGggfSk7CisgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5h
ZGRMaW5lKHsgbGluZUJveExvZ2ljYWxSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIGxpbmVC
b3guYWxpZ25tZW50QmFzZWxpbmUoKSwgbGluZUJveC5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0
KCkudmFsdWVPcihJbmxpbmVMYXlvdXRVbml0IHsgfSksIGxpbmVDb250ZW50LmNvbnRlbnRMb2dp
Y2FsV2lkdGggfSk7CiAgICAgfTsKICAgICBjb25zdHJ1Y3RMaW5lR2VvbWV0cnkoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUdlb21ldHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lR2VvbWV0cnkuaAppbmRleCA2ZTFiOTFkNzkzMDc0MmMzMjM2MzIxNDMzN2NiOWRlNmEz
MTBiZTczLi5iNzUwMzNhYzllZTNiOTUyYmIwNjExOWEwZGU5NjVmY2M5ZjBlY2VmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2Vv
bWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lR2VvbWV0cnkuaApAQCAtMzUsMTAgKzM1LDE3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewog
Y2xhc3MgSW5saW5lTGluZUdlb21ldHJ5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBJbmxpbmVMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJv
eExvZ2ljYWxSZWN0LCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxh
eW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRl
bnRMb2dpY2FsV2lkdGgpOworICAgIHN0cnVjdCBFbmNsb3NpbmdUb3BBbmRCb3R0b20geworICAg
ICAgICAvLyBUaGlzIHZhbHVlcyBlbmNsb3NlcyB0aGUgcm9vdCBpbmxpbmUgYm94IGFuZCBhbnkg
b3RoZXIgaW5saW5lIGxldmVsIGJveCdzIGJvcmRlciBib3guCisgICAgICAgIGZsb2F0IHRvcCB7
IDAgfTsKKyAgICAgICAgZmxvYXQgYm90dG9tIHsgMCB9OworICAgIH07CisgICAgSW5saW5lTGlu
ZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgRW5jbG9zaW5n
VG9wQW5kQm90dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxh
eW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRl
bnRMb2dpY2FsV2lkdGgpOwogCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxS
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94TG9naWNhbFJlY3Q7IH0KIAorICAgIEVuY2xv
c2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20oKSBjb25zdCB7IHJldHVybiBt
X2VuY2xvc2luZ1RvcEFuZEJvdHRvbTsgfQorCiAgICAgSW5saW5lTGF5b3V0VW5pdCBiYXNlbGlu
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxpZ21lbnRCYXNlbGluZTsgfQogCiAgICAgSW5saW5lTGF5
b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRl
bnRMb2dpY2FsTGVmdE9mZnNldDsgfQpAQCAtNDcsMTggKzU0LDI1IEBAIHB1YmxpYzoKICAgICB2
b2lkIG1vdmVWZXJ0aWNhbGx5KElubGluZUxheW91dFVuaXQgb2Zmc2V0KSB7IG1fbGluZUJveExv
Z2ljYWxSZWN0Lm1vdmVWZXJ0aWNhbGx5KG9mZnNldCk7IH0KIAogcHJpdmF0ZToKKyAgICAvLyBU
aGlzIGlzIGxpbmUgYm94IGdlb21ldHJ5IChzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1p
bmxpbmUtMy8jbGluZS1ib3gpLgogICAgIElubGluZVJlY3QgbV9saW5lQm94TG9naWNhbFJlY3Q7
CisgICAgLy8gRW5jbG9zaW5nIHRvcCBhbmQgYm90dG9tIGluY2x1ZGVzIGFsbCBpbmxpbmUgbGV2
ZWwgYm94ZXMgKGJvcmRlciBib3gpIHZlcnRpY2FsbHkuCisgICAgLy8gV2hpbGUgdGhlIGxpbmUg
Ym94IHVzdWFsbHkgZW5jbG9zZSB0aGVtIGFzIHdlbGwsIGl0cyB2ZXJ0aWNhbCBnZW9tZXRyeSBp
cyBiYXNlZCBvbgorICAgIC8vIHRoZSBsYXlvdXQgYm91bmRzIG9mIHRoZSBpbmxpbmUgbGV2ZWwg
Ym94ZXMgd2hpY2ggbWF5IGJlIGRpZmZlcmVudCB3aGVuIGxpbmUtaGVpZ2h0IGlzIHByZXNlbnQu
CisgICAgRW5jbG9zaW5nVG9wQW5kQm90dG9tIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tOwogICAg
IElubGluZUxheW91dFVuaXQgbV9hbGlnbWVudEJhc2VsaW5lIHsgMCB9OwogICAgIElubGluZUxh
eW91dFVuaXQgbV9jb250ZW50TG9naWNhbExlZnRPZmZzZXQgeyAwIH07CiAgICAgSW5saW5lTGF5
b3V0VW5pdCBtX2NvbnRlbnRMb2dpY2FsV2lkdGggeyAwIH07CiB9OwogCi1pbmxpbmUgSW5saW5l
TGluZUdlb21ldHJ5OjpJbmxpbmVMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJv
eExvZ2ljYWxSZWN0LCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxh
eW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRl
bnRMb2dpY2FsV2lkdGgpCitpbmxpbmUgSW5saW5lTGluZUdlb21ldHJ5OjpJbmxpbmVMaW5lR2Vv
bWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxSZWN0LCBFbmNsb3NpbmdUb3BB
bmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50
QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0LCBJbmxp
bmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgpCiAgICAgOiBtX2xpbmVCb3hMb2dpY2Fs
UmVjdChsaW5lQm94TG9naWNhbFJlY3QpCisgICAgLCBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbShl
bmNsb3NpbmdUb3BBbmRCb3R0b20pCiAgICAgLCBtX2FsaWdtZW50QmFzZWxpbmUoYWxpZ21lbnRC
YXNlbGluZSkKICAgICAsIG1fY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0KGNvbnRlbnRMb2dpY2Fs
TGVmdE9mZnNldCkKICAgICAsIG1fY29udGVudExvZ2ljYWxXaWR0aChjb250ZW50TG9naWNhbFdp
ZHRoKQogeworICAgIEFTU0VSVChtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AgPD0gbV9saW5l
Qm94TG9naWNhbFJlY3QudG9wKCkgJiYgbV9lbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tID49
IG1fbGluZUJveExvZ2ljYWxSZWN0LmJvdHRvbSgpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IGQyNTZmYjJhNzY5MjEz
YzRjMDgyMDVjNWMxYmM2M2VlZDk0ZDViOGIuLjUwMTRlODFhMDg4MWNlYjg3ODczODcwZDRjMGMy
MjljODMxYTE5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50
QnVpbGRlci5jcHAKQEAgLTI0Miw3ICsyNDIsNyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVy
OjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwog
CiAgICAgICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CiAgICAgICAgIGF1dG8g
dGV4dCA9IGxpbmVSdW4udGV4dCgpOwotICAgICAgICBhdXRvIGFkanVzdGVkQ29udGVudFRvUmVu
ZGVyZXIgPSBbJl0geworICAgICAgICBhdXRvIGFkanVzdGVkQ29udGVudFRvUmVuZGVyID0gWyZd
IHsKICAgICAgICAgICAgIGF1dG8gb3JpZ2luYWxDb250ZW50ID0gdGV4dC0+Y29udGVudCgpLnN1
YnN0cmluZyh0ZXh0LT5zdGFydCgpLCB0ZXh0LT5sZW5ndGgoKSk7CiAgICAgICAgICAgICBpZiAo
dGV4dC0+bmVlZHNIeXBoZW4oKSkKICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhv
cmlnaW5hbENvbnRlbnQsIHN0eWxlLmh5cGhlblN0cmluZygpKTsKQEAgLTI4MCw3ICsyODAsNyBA
QCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3Qg
TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAgICB9OwogICAgICAgICBSRUxFQVNFX0FT
U0VSVChzdGFydE9mZnNldCA+PSB0ZXh0LT5zdGFydCgpICYmIHN0YXJ0T2Zmc2V0IDwgdGV4dC0+
ZW5kKCkpOwogICAgICAgICBSRUxFQVNFX0FTU0VSVChlbmRPZmZzZXQgPiB0ZXh0LT5zdGFydCgp
ICYmIGVuZE9mZnNldCA8PSB0ZXh0LT5lbmQoKSk7Ci0gICAgICAgIGF1dG8gdGV4dENvbnRlbnQg
PSBSdW46OlRleHRDb250ZW50IHsgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCAtIHN0YXJ0T2Zmc2V0
LCB0ZXh0LT5jb250ZW50KCksIGFkanVzdGVkQ29udGVudFRvUmVuZGVyZXIoKSwgdGV4dC0+bmVl
ZHNIeXBoZW4oKSB9OworICAgICAgICBhdXRvIHRleHRDb250ZW50ID0gUnVuOjpUZXh0Q29udGVu
dCB7IHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSBzdGFydE9mZnNldCwgdGV4dC0+Y29udGVudCgp
LCBhZGp1c3RlZENvbnRlbnRUb1JlbmRlcigpLCB0ZXh0LT5uZWVkc0h5cGhlbigpIH07CiAgICAg
ICAgIGF1dG8gZXhwYW5zaW9uID0gUnVuOjpFeHBhbnNpb24geyBsaW5lUnVuLmV4cGFuc2lvbigp
LmJlaGF2aW9yLCBsaW5lUnVuLmV4cGFuc2lvbigpLmhvcml6b250YWxFeHBhbnNpb24gfTsKICAg
ICAgICAgYXV0byBkaXNwbGF5UnVuID0gUnVuIHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIHJ1blJl
Y3QsIGNvbXB1dGVkSW5rT3ZlcmZsb3cocnVuUmVjdCksIGV4cGFuc2lvbiwgdGV4dENvbnRlbnQg
fTsKICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZChkaXNwbGF5UnVuKTsKQEAgLTMw
Miw3ICszMDIsNiBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGlu
ZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogdm9pZCBJbmxpbmVDb250ZW50
QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGlu
Z1N0YXRlJiBpbmxpbmVGb3JtYXR0aW5nU3RhdGUsIElubGluZUNvbnRlbnQmIGlubGluZUNvbnRl
bnQsIGNvbnN0IExpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc0xpc3QmIGxpbmVMZXZl
bFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucykgY29uc3QKIHsKICAgICBhdXRvJiBsaW5lcyA9IGlu
bGluZUZvcm1hdHRpbmdTdGF0ZS5saW5lcygpOwotICAgIGF1dG8mIGxpbmVCb3hlcyA9IGlubGlu
ZUZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKTsKICAgICBhdXRvJiBydW5zID0gaW5saW5lQ29u
dGVudC5ydW5zOwogICAgIHNpemVfdCBydW5JbmRleCA9IDA7CiAgICAgZm9yIChzaXplX3QgbGlu
ZUluZGV4ID0gMDsgbGluZUluZGV4IDwgbGluZXMuc2l6ZSgpOyArK2xpbmVJbmRleCkgewpAQCAt
MzE2LDM1ICszMTUsMTQgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxh
eUxpbmVzKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXQKICAgICAgICAgd2hpbGUg
KHJ1bkluZGV4IDwgcnVucy5zaXplKCkgJiYgcnVuc1tydW5JbmRleF0ubGluZUluZGV4KCkgPT0g
bGluZUluZGV4KQogICAgICAgICAgICAgbGluZUlua092ZXJmbG93UmVjdC51bml0ZShydW5zW3J1
bkluZGV4KytdLmlua092ZXJmbG93KCkpOwogICAgICAgICBhdXRvIHJ1bkNvdW50ID0gcnVuSW5k
ZXggLSBmaXJzdFJ1bkluZGV4OwotICAgICAgICBhdXRvIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSA9
IFsmXSB7Ci0gICAgICAgICAgICAvLyBMZXQncyAodmVydGljYWxseSllbmNsb3NlIGFsbCB0aGUg
aW5saW5lIGxldmVsIGJveGVzLgotICAgICAgICAgICAgLy8gVGhpcyBtb3N0bHkgbWF0Y2hlcyAn
bGluZSBib3ggcmVjdCcsIHVubGVzcyBsaW5lLWhlaWdodCB0cmlnZ2VycyBsaW5lIGJveCBvdmVy
ZmxvdyAobm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggaW5rIG9yIHNjcm9sbCBvdmVyZmxvdykuCi0g
ICAgICAgICAgICBhdXRvIGVuY2xvc2luZ1RvcCA9IE9wdGlvbmFsPGZsb2F0PiB7IH07Ci0gICAg
ICAgICAgICBhdXRvIGVuY2xvc2luZ0JvdHRvbSA9IE9wdGlvbmFsPGZsb2F0PiB7IH07Ci0gICAg
ICAgICAgICBhdXRvJiBsaW5lQm94ID0gbGluZUJveGVzW2xpbmVJbmRleF07Ci0gICAgICAgICAg
ICBmb3IgKGF1dG8mIGlubGluZUxldmVsQm94IDogbGluZUJveC5pbmxpbmVMZXZlbEJveExpc3Qo
KSkgewotICAgICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LT5s
YXlvdXRCb3goKTsKLSAgICAgICAgICAgICAgICBhdXRvJiBnZW9tZXRyeSA9IG1fbGF5b3V0U3Rh
dGUuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAgICAgICAgICAgICBhdXRvIGlubGlu
ZUxldmVsQm94TG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxNYXJnaW5SZWN0Rm9ySW5saW5l
TGV2ZWxCb3gobGF5b3V0Qm94LCBnZW9tZXRyeSk7Ci0gICAgICAgICAgICAgICAgLy8gaW5saW5l
TGV2ZWxCb3hMb2dpY2FsUmVjdCBlbmNsb3NlcyB0aGUgbWFyZ2luIGJveCwgYnV0IHdlIG5lZWQg
Ym9yZGVyIGJveCBmb3IgdGhlIGRpc3BsYXkgbGluZS4KLSAgICAgICAgICAgICAgICBpbmxpbmVM
ZXZlbEJveExvZ2ljYWxSZWN0LmV4cGFuZFZlcnRpY2FsbHkoLXN0ZDo6bWF4KDBfbHUsIGdlb21l
dHJ5Lm1hcmdpbkJlZm9yZSgpICsgZ2VvbWV0cnkubWFyZ2luQWZ0ZXIoKSkpOwotICAgICAgICAg
ICAgICAgIGlubGluZUxldmVsQm94TG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkoc3RkOjptYXgo
MF9sdSwgZ2VvbWV0cnkubWFyZ2luQmVmb3JlKCkpKTsKLQotICAgICAgICAgICAgICAgIGVuY2xv
c2luZ1RvcCA9IHN0ZDo6bWluKGVuY2xvc2luZ1RvcC52YWx1ZU9yKGlubGluZUxldmVsQm94TG9n
aWNhbFJlY3QudG9wKCkpLCBpbmxpbmVMZXZlbEJveExvZ2ljYWxSZWN0LnRvcCgpKTsKLSAgICAg
ICAgICAgICAgICBlbmNsb3NpbmdCb3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdCb3R0b20udmFs
dWVPcihpbmxpbmVMZXZlbEJveExvZ2ljYWxSZWN0LmJvdHRvbSgpKSwgaW5saW5lTGV2ZWxCb3hM
b2dpY2FsUmVjdC5ib3R0b20oKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvLyBUaGVy
ZSdzIGFsd2F5cyBhdCBsZWFzdCBvbmUgaW5saW5lIGxldmVsIGJveCwgdGhlIHJvb3QgaW5saW5l
IGJveC4KLSAgICAgICAgICAgIEFTU0VSVChlbmNsb3NpbmdCb3R0b20gJiYgZW5jbG9zaW5nVG9w
KTsKLSAgICAgICAgICAgIC8vIGlubGluZSBib3hlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUs
IGxldCdzIG1ha2UgdGhlbSByZWxhdGl2ZSB0byB0aGUgcm9vdCdzIGNvbnRlbnQgYm94LgotICAg
ICAgICAgICAgcmV0dXJuIExpbmU6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IGxpbmVCb3hMb2dp
Y2FsUmVjdC50b3AoKSArICplbmNsb3NpbmdUb3AsIGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSAr
ICplbmNsb3NpbmdCb3R0b20gfTsKLSAgICAgICAgfSgpOwogICAgICAgICBhdXRvIGFkanVzdGVk
TGluZUJveFJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lQm94TG9naWNhbFJlY3QgfTsKKyAgICAgICAg
YXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBsaW5lLmVuY2xvc2luZ1RvcEFuZEJvdHRvbSgp
OwogICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRl
eF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7CiAgICAgICAgICAgICBhZGp1c3RlZExpbmVCb3hS
ZWN0LnNldFkocm91bmRUb0ludChhZGp1c3RlZExpbmVCb3hSZWN0LnkoKSkpOwogICAgICAgICAg
ICAgZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCA9IHJvdW5kVG9JbnQoZW5jbG9zaW5nVG9wQW5k
Qm90dG9tLnRvcCk7CiAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tID0g
cm91bmRUb0ludChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tKTsKICAgICAgICAgfQotICAg
ICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFwcGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50
LCBhZGp1c3RlZExpbmVCb3hSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHNjcm9sbGFibGVP
dmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxpbmUoKSwgbGluZS5j
b250ZW50TG9naWNhbExlZnRPZmZzZXQoKSwgbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkgfSk7
CisgICAgICAgIGlubGluZUNvbnRlbnQubGluZXMuYXBwZW5kKHsgZmlyc3RSdW5JbmRleCwgcnVu
Q291bnQsIGFkanVzdGVkTGluZUJveFJlY3QsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AsIGVu
Y2xvc2luZ1RvcEFuZEJvdHRvbS5ib3R0b20sIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QsIGxpbmVJ
bmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxpbmUoKSwgbGluZS5jb250ZW50TG9naWNhbExlZnRP
ZmZzZXQoKSwgbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkgfSk7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25MaW5lLmgKaW5kZXggZTU4MWQwMDZjYThkN2JjYjYwNDNhNzkxYjFmYTlkMzZjOGJlMjYx
Yi4uNDhjMDQxNDQ0ZjcxMzExZmI4MzU5NTQ5ODYxYTg5NGE5MDhlYTg2MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmUuaApAQCAtMzUsMTYgKzM1LDEyIEBAIG5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7
CiBjbGFzcyBMaW5lIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAg
ICBzdHJ1Y3QgRW5jbG9zaW5nVG9wQW5kQm90dG9tIHsKLSAgICAgICAgLy8gVGhpcyB2YWx1ZXMg
ZW5jbG9zZXMgdGhlIHJvb3QgaW5saW5lIGJveCBhbmQgYW55IG90aGVyIGlubGluZSBsZXZlbCBi
b3gncyBib3JkZXIgYm94LgotICAgICAgICBmbG9hdCB0b3AgeyAwIH07Ci0gICAgICAgIGZsb2F0
IGJvdHRvbSB7IDAgfTsKLSAgICB9OwotICAgIExpbmUoc2l6ZV90IGZpcnN0UnVuSW5kZXgsIHNp
emVfdCBydW5Db3VudCwgY29uc3QgRmxvYXRSZWN0JiBsaW5lQm94UmVjdCwgRW5jbG9zaW5nVG9w
QW5kQm90dG9tIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgY29uc3QgRmxvYXRSZWN0JiBzY3JvbGxh
YmxlT3ZlcmZsb3csIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJhc2VsaW5l
LCBmbG9hdCBjb250ZW50TGVmdE9mZnNldCwgZmxvYXQgY29udGVudFdpZHRoKQorICAgIExpbmUo
c2l6ZV90IGZpcnN0UnVuSW5kZXgsIHNpemVfdCBydW5Db3VudCwgY29uc3QgRmxvYXRSZWN0JiBs
aW5lQm94UmVjdCwgZmxvYXQgZW5jbG9zaW5nQ29udGVudFRvcCwgZmxvYXQgZW5jbG9zaW5nQ29u
dGVudEJvdHRvbSwgY29uc3QgRmxvYXRSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3csIGNvbnN0IEZs
b2F0UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJhc2VsaW5lLCBmbG9hdCBjb250ZW50TGVmdE9m
ZnNldCwgZmxvYXQgY29udGVudFdpZHRoKQogICAgICAgICA6IG1fZmlyc3RSdW5JbmRleChmaXJz
dFJ1bkluZGV4KQogICAgICAgICAsIG1fcnVuQ291bnQocnVuQ291bnQpCiAgICAgICAgICwgbV9s
aW5lQm94UmVjdChsaW5lQm94UmVjdCkKLSAgICAgICAgLCBtX2VuY2xvc2luZ1RvcEFuZEJvdHRv
bShlbmNsb3NpbmdUb3BBbmRCb3R0b20pCisgICAgICAgICwgbV9lbmNsb3NpbmdDb250ZW50VG9w
KGVuY2xvc2luZ0NvbnRlbnRUb3ApCisgICAgICAgICwgbV9lbmNsb3NpbmdDb250ZW50Qm90dG9t
KGVuY2xvc2luZ0NvbnRlbnRCb3R0b20pCiAgICAgICAgICwgbV9zY3JvbGxhYmxlT3ZlcmZsb3co
c2Nyb2xsYWJsZU92ZXJmbG93KQogICAgICAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cp
CiAgICAgICAgICwgbV9iYXNlbGluZShiYXNlbGluZSkKQEAgLTYxLDggKzU3LDggQEAgcHVibGlj
OgogICAgIGZsb2F0IGxpbmVCb3hMZWZ0KCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94UmVjdC54
KCk7IH0KICAgICBmbG9hdCBsaW5lQm94UmlnaHQoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hS
ZWN0Lm1heFgoKTsgfQogCi0gICAgZmxvYXQgZW5jbG9zaW5nQ29udGVudFRvcCgpIGNvbnN0IHsg
cmV0dXJuIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcDsgfQotICAgIGZsb2F0IGVuY2xvc2lu
Z0NvbnRlbnRCb3R0b20oKSBjb25zdCB7IHJldHVybiBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbS5i
b3R0b207IH0KKyAgICBmbG9hdCBlbmNsb3NpbmdDb250ZW50VG9wKCkgY29uc3QgeyByZXR1cm4g
bV9lbmNsb3NpbmdDb250ZW50VG9wOyB9CisgICAgZmxvYXQgZW5jbG9zaW5nQ29udGVudEJvdHRv
bSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jbG9zaW5nQ29udGVudEJvdHRvbTsgfQogCiAgICAgY29u
c3QgRmxvYXRSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX3Njcm9s
bGFibGVPdmVyZmxvdzsgfQogICAgIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiBtX2lua092ZXJmbG93OyB9CkBAIC04MCw3ICs3Niw4IEBAIHByaXZhdGU6CiAg
ICAgLy8gRW5jbG9zaW5nIHRvcCBhbmQgYm90dG9tIGluY2x1ZGVzIGFsbCBpbmxpbmUgbGV2ZWwg
Ym94ZXMgKGJvcmRlciBib3gpIHZlcnRpY2FsbHkuCiAgICAgLy8gV2hpbGUgdGhlIGxpbmUgYm94
IHVzdWFsbHkgZW5jbG9zZSB0aGVtIGFzIHdlbGwsIGl0cyB2ZXJ0aWNhbCBnZW9tZXRyeSBpcyBi
YXNlZCBvbgogICAgIC8vIHRoZSBsYXlvdXQgYm91bmRzIG9mIHRoZSBpbmxpbmUgbGV2ZWwgYm94
ZXMgd2hpY2ggbWF5IGJlIGRpZmZlcmVudCB3aGVuIGxpbmUtaGVpZ2h0IGlzIHByZXNlbnQuCi0g
ICAgRW5jbG9zaW5nVG9wQW5kQm90dG9tIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tOworICAgIGZs
b2F0IG1fZW5jbG9zaW5nQ29udGVudFRvcCB7IDAgfTsKKyAgICBmbG9hdCBtX2VuY2xvc2luZ0Nv
bnRlbnRCb3R0b20geyAwIH07CiAgICAgRmxvYXRSZWN0IG1fc2Nyb2xsYWJsZU92ZXJmbG93Owog
ICAgIEZsb2F0UmVjdCBtX2lua092ZXJmbG93OwogICAgIGZsb2F0IG1fYmFzZWxpbmUgeyAwIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25QYWdpbmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCmluZGV4IDg0YzViMTJkMTE1Y2MxNDA2
NWViNmM5MDI3MTBmYmZkMTkzOGYxOWUuLmRkYmNkZGI5NmNmMzc2ODZkYjY3OGMxOGFhZGFmZDNj
MmQ5YzI5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCkBAIC0xMzAsNyAr
MTMwLDggQEAgc3RhdGljIFJlZjxJbmxpbmVDb250ZW50PiBtYWtlQWRqdXN0ZWRDb250ZW50KGNv
bnN0IElubGluZUNvbnRlbnQmIGlubGluZUNvbnRlbnQKICAgICAgICAgICAgIGxpbmUuZmlyc3RS
dW5JbmRleCgpLAogICAgICAgICAgICAgbGluZS5ydW5Db3VudCgpLAogICAgICAgICAgICAgbW92
ZVZlcnRpY2FsbHkoeyBGbG9hdFBvaW50IHsgbGluZS5saW5lQm94TGVmdCgpLCBsaW5lLmxpbmVC
b3hUb3AoKSB9LCBGbG9hdFBvaW50IHsgbGluZS5saW5lQm94UmlnaHQoKSwgbGluZS5saW5lQm94
Qm90dG9tKCkgfSB9LCBvZmZzZXQpLAotICAgICAgICAgICAgeyBsaW5lLmVuY2xvc2luZ0NvbnRl
bnRUb3AoKSArIG9mZnNldCwgbGluZS5lbmNsb3NpbmdDb250ZW50Qm90dG9tKCkgKyBvZmZzZXQg
fSwKKyAgICAgICAgICAgIGxpbmUuZW5jbG9zaW5nQ29udGVudFRvcCgpICsgb2Zmc2V0LAorICAg
ICAgICAgICAgbGluZS5lbmNsb3NpbmdDb250ZW50Qm90dG9tKCkgKyBvZmZzZXQsCiAgICAgICAg
ICAgICBtb3ZlVmVydGljYWxseShsaW5lLnNjcm9sbGFibGVPdmVyZmxvdygpLCBvZmZzZXQpLAog
ICAgICAgICAgICAgbW92ZVZlcnRpY2FsbHkobGluZS5pbmtPdmVyZmxvdygpLCBvZmZzZXQpLAog
ICAgICAgICAgICAgbGluZS5iYXNlbGluZSgpLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416647</attachid>
            <date>2020-12-21 19:16:35 -0800</date>
            <delta_ts>2020-12-22 06:34:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220064-20201221191634.patch</filename>
            <type>text/plain</type>
            <size>18750</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE5ODRmOGE3NWZhZTM5
MGI5OWFjOTUyOTEwOGFjN2U5OTc2ZjM0Zi4uYzNkZWI1NWJiMTUzODQ5ZWQ5NTRmNWVlMGFmYmU4
YjdiZjMzMWQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTEyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IENvbXB1dGUgZW5jbG9zaW5nIHRvcCBhbmQgYm90dG9tIHdoaWxlIGNvbnN0cnVjdGluZyB0aGUg
aW5saW5lIHJ1bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMDA2NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI1NTY4MTA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3MgcHJlLWNvbXB1dGUg
dGhlIGVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSBjb29yZGluYXRlcyB3aGlsZSBjb25zdHJ1Y3Rp
bmcgdGhlIGxpbmUgcnVucy4KKyAgICAgICAgKFRoaXMgc2F2ZXMgYSBsb29wIG9uIHRoZSBpbmxp
bmUgbGV2ZWwgYm94ZXMgd2hpbGUgY29uc3RydWN0aW5nIHRoZSBsaW5lcyBhdCBJbmxpbmVDb250
ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKSAKKworICAgICAgICAqIGxheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9tZXRyeUZvckxp
bmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
R2VvbWV0cnkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5
OjplbmNsb3NpbmdUb3BBbmRCb3R0b20gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVMaW5lR2VvbWV0cnk6OklubGluZUxpbmVHZW9tZXRyeSk6CisgICAgICAgICogbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWls
ZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMg
Y29uc3QpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lOjpMaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5lOjplbmNsb3NpbmdDb250
ZW50VG9wIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpMaW5l
OjplbmNsb3NpbmdDb250ZW50Qm90dG9tIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dEludGVncmF0aW9uOjptYWtlQWRqdXN0ZWRDb250ZW50KToKKwogMjAyMC0xMi0yMCAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTGV0
J3MgY3JlYXRlIHRoZSBydW4gYW5kIHVwZGF0ZSB0aGUgYm94IGdlb21ldHJ5IGluIG9uZSBnbyBm
b3IgYXRvbWljIGlubGluZSBsZXZlbCBib3hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCmluZGV4IGUzNGVlODQ5NzQyODM1Y2RmMTBhMDc0ZjA5YTQzNjEwMThlNzZkNGQuLjlk
MTM1NDExYWUxYWVmZTRkNWQzNzZhYzFlZDEzMTUxNTMyMGJlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQxNSw2ICs0MTUsOCBAQCBJbmxpbmVSZWN0IElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBM
aW5lQnVpbAogICAgIGNvbnN0IGF1dG8mIGxpbmVCb3ggPSBmb3JtYXR0aW5nU3RhdGUubGluZUJv
eGVzKCkubGFzdCgpOwogICAgIGF1dG8gbGluZUluZGV4ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVz
KCkuc2l6ZSgpOwogICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNh
bFJlY3QoKTsKKyAgICBhdXRvIHJvb3RJbmxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9n
aWNhbFJlY3RGb3JSb290SW5saW5lQm94KCk7CisgICAgYXV0byBlbmNsb3NpbmdUb3BBbmRCb3R0
b20gPSBJbmxpbmVMaW5lR2VvbWV0cnk6OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IGxpbmVCb3hM
b2dpY2FsUmVjdC50b3AoKSArIHJvb3RJbmxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSwgbGluZUJv
eExvZ2ljYWxSZWN0LnRvcCgpICsgcm9vdElubGluZUJveExvZ2ljYWxSZWN0LmJvdHRvbSgpIH07
CiAgICAgSGFzaFNldDxjb25zdCBCb3gqPiBpbmxpbmVCb3hTdGFydFNldDsKICAgICBIYXNoU2V0
PGNvbnN0IEJveCo+IGlubGluZUJveEVuZFNldDsKIApAQCAtNDQ3LDE4ICs0NDksMjYgQEAgSW5s
aW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNv
bnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxNYXJnaW5S
ZWN0ID0gbGluZUJveC5sb2dpY2FsTWFyZ2luUmVjdEZvcklubGluZUxldmVsQm94KGxheW91dEJv
eCwgYm94R2VvbWV0cnkpOwogICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5l
UnVuKHsgbGluZUluZGV4LCBsYXlvdXRCb3gsIGxvZ2ljYWxNYXJnaW5SZWN0LCBsaW5lUnVuLmV4
cGFuc2lvbigpLCB7IH0gfSk7CiAKLSAgICAgICAgICAgICAgICBhdXRvIGJvcmRlckJveExvZ2lj
YWxUb3BMZWZ0ID0gbGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKTsKLSAgICAgICAgICAgICAg
ICBib3JkZXJCb3hMb2dpY2FsVG9wTGVmdC5tb3ZlKGxvZ2ljYWxNYXJnaW5SZWN0LmxlZnQoKSAr
IGJveEdlb21ldHJ5Lm1hcmdpblN0YXJ0KCksIGxvZ2ljYWxNYXJnaW5SZWN0LnRvcCgpICsgYm94
R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkpOworICAgICAgICAgICAgICAgIGF1dG8gYm9yZGVyQm94
TG9naWNhbFRvcExlZnQgPSBsb2dpY2FsTWFyZ2luUmVjdC50b3BMZWZ0KCk7CisgICAgICAgICAg
ICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExlZnQubW92ZShzdGQ6Om1heCgwX2x1LCBib3hHZW9t
ZXRyeS5tYXJnaW5TdGFydCgpKSwgc3RkOjptYXgoMF9sdSwgYm94R2VvbWV0cnkubWFyZ2luQmVm
b3JlKCkpKTsKKyAgICAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgaW5saW5lIGJveGVzIGFyZSBy
ZWxhdGl2ZSB0byB0aGUgbGluZSBhbmQgdGhlaXIgdG9wIHBvc2l0aW9uIGNhbiBiZSBuZWdhdGl2
ZS4KKyAgICAgICAgICAgICAgICBib3JkZXJCb3hMb2dpY2FsVG9wTGVmdC5tb3ZlQnkobGluZUJv
eExvZ2ljYWxSZWN0LnRvcExlZnQoKSk7CiAgICAgICAgICAgICAgICAgaWYgKGxheW91dEJveC5p
c0luRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQm94TG9naWNh
bFRvcExlZnQgKz0gZ2VvbWV0cnkuaW5GbG93UG9zaXRpb25lZFBvc2l0aW9uT2Zmc2V0KGxheW91
dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKICAgICAgICAgICAgICAgICAvLyBBdG9taWMg
aW5saW5lIGJveGVzIGFyZSBhbGwgc2V0LiBUaGVpciBtYXJnaW4vYm9yZGVyL2NvbnRlbnQgYm94
IGdlb21ldHJpZXMgYXJlIGFscmVhZHkgY29tcHV0ZWQuIFdlIGp1c3QgaGF2ZSB0byBwb3NpdGlv
biB0aGVtIGhlcmUuCiAgICAgICAgICAgICAgICAgYm94R2VvbWV0cnkuc2V0TG9naWNhbFRvcExl
ZnQodG9MYXlvdXRQb2ludChib3JkZXJCb3hMb2dpY2FsVG9wTGVmdCkpOworCisgICAgICAgICAg
ICAgICAgYXV0byBib3JkZXJCb3hUb3AgPSBib3JkZXJCb3hMb2dpY2FsVG9wTGVmdC55KCk7Cisg
ICAgICAgICAgICAgICAgYXV0byBib3JkZXJCb3hCb3R0b20gPSBib3JkZXJCb3hUb3AgKyBib3hH
ZW9tZXRyeS5ib3JkZXJCb3hIZWlnaHQoKTsKKyAgICAgICAgICAgICAgICBlbmNsb3NpbmdUb3BB
bmRCb3R0b20udG9wID0gc3RkOjptaW4oZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCwgYm9yZGVy
Qm94VG9wKTsKKyAgICAgICAgICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tID0g
c3RkOjptYXgoZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSwgYm9yZGVyQm94Qm90dG9tKTsK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlm
IChsaW5lUnVuLmlzSW5saW5lQm94U3RhcnQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8mIGJv
eEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KGxheW91dEJveCk7CiAgICAg
ICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIGxheW91
dEJveCwgbGluZUJveC5sb2dpY2FsTWFyZ2luUmVjdEZvcklubGluZUxldmVsQm94KGxheW91dEJv
eCwgYm94R2VvbWV0cnkpLCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CiAgICAgICAgICAg
ICAgICAgaW5saW5lQm94U3RhcnRTZXQuYWRkKCZsYXlvdXRCb3gpOworICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBBZGQgZW5jbG9zaW5nIHRvcCBhbmQgYm90dG9tIHN1cHBvcnQuCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAobGluZVJ1
bi5pc0lubGluZUJveEVuZCgpKSB7CkBAIC01MTcsNyArNTI3LDcgQEAgSW5saW5lUmVjdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3Qg
TGluZUJ1aWwKICAgICB1cGRhdGVCb3hHZW9tZXRyeUZvcklubGluZUJveGVzKCk7CiAKICAgICBh
dXRvIGNvbnN0cnVjdExpbmVHZW9tZXRyeSA9IFsmXSB7Ci0gICAgICAgIGZvcm1hdHRpbmdTdGF0
ZS5hZGRMaW5lKHsgbGluZUJveExvZ2ljYWxSZWN0LCBsaW5lQm94LmFsaWdubWVudEJhc2VsaW5l
KCksIGxpbmVCb3guaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCgpLnZhbHVlT3IoSW5saW5lTGF5
b3V0VW5pdCB7IH0pLCBsaW5lQ29udGVudC5jb250ZW50TG9naWNhbFdpZHRoIH0pOworICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVCb3hMb2dpY2FsUmVjdCwgZW5jbG9zaW5n
VG9wQW5kQm90dG9tLCBsaW5lQm94LmFsaWdubWVudEJhc2VsaW5lKCksIGxpbmVCb3guaG9yaXpv
bnRhbEFsaWdubWVudE9mZnNldCgpLnZhbHVlT3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pLCBsaW5l
Q29udGVudC5jb250ZW50TG9naWNhbFdpZHRoIH0pOwogICAgIH07CiAgICAgY29uc3RydWN0TGlu
ZUdlb21ldHJ5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmVCb3guaAppbmRleCAzMWZkMTRiNGQyYTc0MWM2YmQ0ZjE1OTQ5
YjQzZTQ2M2JiMjg4MjM1Li5lOTE5OGEyMGViYmE2YmU4M2I5MjYxOTcwNjllNTg0YTY3YTYzZWEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUJveC5oCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IElu
bGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveEZvckxheW91dEJveChjb25zdCBCb3gmIGxheW91
dEJveCkgY29uc3QgeyByZXR1cm4gKm1faW5saW5lTGV2ZWxCb3hSZWN0TWFwLmdldCgmbGF5b3V0
Qm94KTsgfQogCiAgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvclRleHRSdW4oY29uc3QgTGlu
ZTo6UnVuJikgY29uc3Q7CisgICAgSW5saW5lUmVjdCBsb2dpY2FsUmVjdEZvclJvb3RJbmxpbmVC
b3goKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3gtPmxvZ2ljYWxSZWN0KCk7IH0KICAg
ICBJbmxpbmVSZWN0IGxvZ2ljYWxNYXJnaW5SZWN0Rm9ySW5saW5lTGV2ZWxCb3goY29uc3QgQm94
JiwgY29uc3QgQm94R2VvbWV0cnkmKSBjb25zdDsKIAogICAgIGF1dG8gaW5saW5lTGV2ZWxCb3hM
aXN0KCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVMZXZlbEJveFJlY3RNYXAudmFsdWVzKCk7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmVHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUdlb21ldHJ5LmgKaW5kZXggNmUxYjkxZDc5MzA3NDJjMzIzNjMyMTQzMzdjYjlk
ZTZhMzEwYmU3My4uOGM3ZDA0OWVlZjQzNDVkZjc2YjMzMzE4OGFlM2RkMzAyNzA2ZDQ5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUdlb21ldHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUdlb21ldHJ5LmgKQEAgLTM1LDEwICszNSwxNyBAQCBuYW1lc3BhY2UgTGF5b3V0
IHsKIGNsYXNzIElubGluZUxpbmVHZW9tZXRyeSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgSW5saW5lTGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxp
bmVCb3hMb2dpY2FsUmVjdCwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5lLCBJbmxp
bmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdE9mZnNldCwgSW5saW5lTGF5b3V0VW5pdCBj
b250ZW50TG9naWNhbFdpZHRoKTsKKyAgICBzdHJ1Y3QgRW5jbG9zaW5nVG9wQW5kQm90dG9tIHsK
KyAgICAgICAgLy8gVGhpcyB2YWx1ZXMgZW5jbG9zZXMgdGhlIHJvb3QgaW5saW5lIGJveCBhbmQg
YW55IG90aGVyIGlubGluZSBsZXZlbCBib3gncyBib3JkZXIgYm94LgorICAgICAgICBmbG9hdCB0
b3AgeyAwIH07CisgICAgICAgIGZsb2F0IGJvdHRvbSB7IDAgfTsKKyAgICB9OworICAgIElubGlu
ZUxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QsIEVuY2xv
c2luZ1RvcEFuZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5lLCBJbmxp
bmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdE9mZnNldCwgSW5saW5lTGF5b3V0VW5pdCBj
b250ZW50TG9naWNhbFdpZHRoKTsKIAogICAgIGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dp
Y2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJveExvZ2ljYWxSZWN0OyB9CiAKKyAgICBF
bmNsb3NpbmdUb3BBbmRCb3R0b20gZW5jbG9zaW5nVG9wQW5kQm90dG9tKCkgY29uc3QgeyByZXR1
cm4gbV9lbmNsb3NpbmdUb3BBbmRCb3R0b207IH0KKwogICAgIElubGluZUxheW91dFVuaXQgYmFz
ZWxpbmUoKSBjb25zdCB7IHJldHVybiBtX2FsaWdtZW50QmFzZWxpbmU7IH0KIAogICAgIElubGlu
ZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50TG9naWNhbExlZnRPZmZzZXQ7IH0KQEAgLTQ3LDE0ICs1NCwyMCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBtb3ZlVmVydGljYWxseShJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xpbmVC
b3hMb2dpY2FsUmVjdC5tb3ZlVmVydGljYWxseShvZmZzZXQpOyB9CiAKIHByaXZhdGU6CisgICAg
Ly8gVGhpcyBpcyBsaW5lIGJveCBnZW9tZXRyeSAoc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9j
c3MtaW5saW5lLTMvI2xpbmUtYm94KS4KICAgICBJbmxpbmVSZWN0IG1fbGluZUJveExvZ2ljYWxS
ZWN0OworICAgIC8vIEVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSBpbmNsdWRlcyBhbGwgaW5saW5l
IGxldmVsIGJveGVzIChib3JkZXIgYm94KSB2ZXJ0aWNhbGx5LgorICAgIC8vIFdoaWxlIHRoZSBs
aW5lIGJveCB1c3VhbGx5IGVuY2xvc2UgdGhlbSBhcyB3ZWxsLCBpdHMgdmVydGljYWwgZ2VvbWV0
cnkgaXMgYmFzZWQgb24KKyAgICAvLyB0aGUgbGF5b3V0IGJvdW5kcyBvZiB0aGUgaW5saW5lIGxl
dmVsIGJveGVzIHdoaWNoIG1heSBiZSBkaWZmZXJlbnQgd2hlbiBsaW5lLWhlaWdodCBpcyBwcmVz
ZW50LgorICAgIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbTsK
ICAgICBJbmxpbmVMYXlvdXRVbml0IG1fYWxpZ21lbnRCYXNlbGluZSB7IDAgfTsKICAgICBJbmxp
bmVMYXlvdXRVbml0IG1fY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0IHsgMCB9OwogICAgIElubGlu
ZUxheW91dFVuaXQgbV9jb250ZW50TG9naWNhbFdpZHRoIHsgMCB9OwogfTsKIAotaW5saW5lIElu
bGluZUxpbmVHZW9tZXRyeTo6SW5saW5lTGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxp
bmVCb3hMb2dpY2FsUmVjdCwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVudEJhc2VsaW5lLCBJbmxp
bmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdE9mZnNldCwgSW5saW5lTGF5b3V0VW5pdCBj
b250ZW50TG9naWNhbFdpZHRoKQoraW5saW5lIElubGluZUxpbmVHZW9tZXRyeTo6SW5saW5lTGlu
ZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgRW5jbG9zaW5n
VG9wQW5kQm90dG9tIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgSW5saW5lTGF5b3V0VW5pdCBhbGln
bWVudEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdE9mZnNldCwg
SW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKQogICAgIDogbV9saW5lQm94TG9n
aWNhbFJlY3QobGluZUJveExvZ2ljYWxSZWN0KQorICAgICwgbV9lbmNsb3NpbmdUb3BBbmRCb3R0
b20oZW5jbG9zaW5nVG9wQW5kQm90dG9tKQogICAgICwgbV9hbGlnbWVudEJhc2VsaW5lKGFsaWdt
ZW50QmFzZWxpbmUpCiAgICAgLCBtX2NvbnRlbnRMb2dpY2FsTGVmdE9mZnNldChjb250ZW50TG9n
aWNhbExlZnRPZmZzZXQpCiAgICAgLCBtX2NvbnRlbnRMb2dpY2FsV2lkdGgoY29udGVudExvZ2lj
YWxXaWR0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVy
LmNwcAppbmRleCBkMjU2ZmIyYTc2OTIxM2M0YzA4MjA1YzVjMWJjNjNlZWQ5NGQ1YjhiLi41MDE0
ZTgxYTA4ODFjZWI4Nzg3Mzg3MGQ0YzBjMjI5YzgzMWExOWExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC0yNDIsNyArMjQyLDcgQEAg
dm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExh
eW91dDo6SW5saW5lRm9ybWF0dGluZ1MKIAogICAgICAgICBhdXRvJiBzdHlsZSA9IGxheW91dEJv
eC5zdHlsZSgpOwogICAgICAgICBhdXRvIHRleHQgPSBsaW5lUnVuLnRleHQoKTsKLSAgICAgICAg
YXV0byBhZGp1c3RlZENvbnRlbnRUb1JlbmRlcmVyID0gWyZdIHsKKyAgICAgICAgYXV0byBhZGp1
c3RlZENvbnRlbnRUb1JlbmRlciA9IFsmXSB7CiAgICAgICAgICAgICBhdXRvIG9yaWdpbmFsQ29u
dGVudCA9IHRleHQtPmNvbnRlbnQoKS5zdWJzdHJpbmcodGV4dC0+c3RhcnQoKSwgdGV4dC0+bGVu
Z3RoKCkpOwogICAgICAgICAgICAgaWYgKHRleHQtPm5lZWRzSHlwaGVuKCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIG1ha2VTdHJpbmcob3JpZ2luYWxDb250ZW50LCBzdHlsZS5oeXBoZW5TdHJp
bmcoKSk7CkBAIC0yODAsNyArMjgwLDcgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3Jl
YXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1MKICAgICAg
ICAgfTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RhcnRPZmZzZXQgPj0gdGV4dC0+c3RhcnQo
KSAmJiBzdGFydE9mZnNldCA8IHRleHQtPmVuZCgpKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
ZW5kT2Zmc2V0ID4gdGV4dC0+c3RhcnQoKSAmJiBlbmRPZmZzZXQgPD0gdGV4dC0+ZW5kKCkpOwot
ICAgICAgICBhdXRvIHRleHRDb250ZW50ID0gUnVuOjpUZXh0Q29udGVudCB7IHN0YXJ0T2Zmc2V0
LCBlbmRPZmZzZXQgLSBzdGFydE9mZnNldCwgdGV4dC0+Y29udGVudCgpLCBhZGp1c3RlZENvbnRl
bnRUb1JlbmRlcmVyKCksIHRleHQtPm5lZWRzSHlwaGVuKCkgfTsKKyAgICAgICAgYXV0byB0ZXh0
Q29udGVudCA9IFJ1bjo6VGV4dENvbnRlbnQgeyBzdGFydE9mZnNldCwgZW5kT2Zmc2V0IC0gc3Rh
cnRPZmZzZXQsIHRleHQtPmNvbnRlbnQoKSwgYWRqdXN0ZWRDb250ZW50VG9SZW5kZXIoKSwgdGV4
dC0+bmVlZHNIeXBoZW4oKSB9OwogICAgICAgICBhdXRvIGV4cGFuc2lvbiA9IFJ1bjo6RXhwYW5z
aW9uIHsgbGluZVJ1bi5leHBhbnNpb24oKS5iZWhhdmlvciwgbGluZVJ1bi5leHBhbnNpb24oKS5o
b3Jpem9udGFsRXhwYW5zaW9uIH07CiAgICAgICAgIGF1dG8gZGlzcGxheVJ1biA9IFJ1biB7IGxp
bmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBjb21wdXRlZElua092ZXJmbG93KHJ1blJlY3Qp
LCBleHBhbnNpb24sIHRleHRDb250ZW50IH07CiAgICAgICAgIGlubGluZUNvbnRlbnQucnVucy5h
cHBlbmQoZGlzcGxheVJ1bik7CkBAIC0zMDIsNyArMzAyLDYgQEAgdm9pZCBJbmxpbmVDb250ZW50
QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0
dGluZ1MKIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyhjb25z
dCBMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZSYgaW5saW5lRm9ybWF0dGluZ1N0YXRlLCBJ
bmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50LCBjb25zdCBMaW5lTGV2ZWxWaXN1YWxBZGp1c3Rt
ZW50c0ZvclJ1bnNMaXN0JiBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnMpIGNvbnN0
CiB7CiAgICAgYXV0byYgbGluZXMgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZXMoKTsKLSAg
ICBhdXRvJiBsaW5lQm94ZXMgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGluZUJveGVzKCk7CiAg
ICAgYXV0byYgcnVucyA9IGlubGluZUNvbnRlbnQucnVuczsKICAgICBzaXplX3QgcnVuSW5kZXgg
PSAwOwogICAgIGZvciAoc2l6ZV90IGxpbmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNp
emUoKTsgKytsaW5lSW5kZXgpIHsKQEAgLTMxNiwzNSArMzE1LDE0IEBAIHZvaWQgSW5saW5lQ29u
dGVudEJ1aWxkZXI6OmNyZWF0ZURpc3BsYXlMaW5lcyhjb25zdCBMYXlvdXQ6OklubGluZUZvcm1h
dHRpbmdTdGF0CiAgICAgICAgIHdoaWxlIChydW5JbmRleCA8IHJ1bnMuc2l6ZSgpICYmIHJ1bnNb
cnVuSW5kZXhdLmxpbmVJbmRleCgpID09IGxpbmVJbmRleCkKICAgICAgICAgICAgIGxpbmVJbmtP
dmVyZmxvd1JlY3QudW5pdGUocnVuc1tydW5JbmRleCsrXS5pbmtPdmVyZmxvdygpKTsKICAgICAg
ICAgYXV0byBydW5Db3VudCA9IHJ1bkluZGV4IC0gZmlyc3RSdW5JbmRleDsKLSAgICAgICAgYXV0
byBlbmNsb3NpbmdUb3BBbmRCb3R0b20gPSBbJl0gewotICAgICAgICAgICAgLy8gTGV0J3MgKHZl
cnRpY2FsbHkpZW5jbG9zZSBhbGwgdGhlIGlubGluZSBsZXZlbCBib3hlcy4KLSAgICAgICAgICAg
IC8vIFRoaXMgbW9zdGx5IG1hdGNoZXMgJ2xpbmUgYm94IHJlY3QnLCB1bmxlc3MgbGluZS1oZWln
aHQgdHJpZ2dlcnMgbGluZSBib3ggb3ZlcmZsb3cgKG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIGlu
ayBvciBzY3JvbGwgb3ZlcmZsb3cpLgotICAgICAgICAgICAgYXV0byBlbmNsb3NpbmdUb3AgPSBP
cHRpb25hbDxmbG9hdD4geyB9OwotICAgICAgICAgICAgYXV0byBlbmNsb3NpbmdCb3R0b20gPSBP
cHRpb25hbDxmbG9hdD4geyB9OwotICAgICAgICAgICAgYXV0byYgbGluZUJveCA9IGxpbmVCb3hl
c1tsaW5lSW5kZXhdOwotICAgICAgICAgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxp
bmVCb3guaW5saW5lTGV2ZWxCb3hMaXN0KCkpIHsKLSAgICAgICAgICAgICAgICBhdXRvJiBsYXlv
dXRCb3ggPSBpbmxpbmVMZXZlbEJveC0+bGF5b3V0Qm94KCk7Ci0gICAgICAgICAgICAgICAgYXV0
byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7Ci0g
ICAgICAgICAgICAgICAgYXV0byBpbmxpbmVMZXZlbEJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5s
b2dpY2FsTWFyZ2luUmVjdEZvcklubGluZUxldmVsQm94KGxheW91dEJveCwgZ2VvbWV0cnkpOwot
ICAgICAgICAgICAgICAgIC8vIGlubGluZUxldmVsQm94TG9naWNhbFJlY3QgZW5jbG9zZXMgdGhl
IG1hcmdpbiBib3gsIGJ1dCB3ZSBuZWVkIGJvcmRlciBib3ggZm9yIHRoZSBkaXNwbGF5IGxpbmUu
Ci0gICAgICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3hMb2dpY2FsUmVjdC5leHBhbmRWZXJ0aWNh
bGx5KC1zdGQ6Om1heCgwX2x1LCBnZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSArIGdlb21ldHJ5Lm1h
cmdpbkFmdGVyKCkpKTsKLSAgICAgICAgICAgICAgICBpbmxpbmVMZXZlbEJveExvZ2ljYWxSZWN0
Lm1vdmVWZXJ0aWNhbGx5KHN0ZDo6bWF4KDBfbHUsIGdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpKSk7
Ci0KLSAgICAgICAgICAgICAgICBlbmNsb3NpbmdUb3AgPSBzdGQ6Om1pbihlbmNsb3NpbmdUb3Au
dmFsdWVPcihpbmxpbmVMZXZlbEJveExvZ2ljYWxSZWN0LnRvcCgpKSwgaW5saW5lTGV2ZWxCb3hM
b2dpY2FsUmVjdC50b3AoKSk7Ci0gICAgICAgICAgICAgICAgZW5jbG9zaW5nQm90dG9tID0gc3Rk
OjptYXgoZW5jbG9zaW5nQm90dG9tLnZhbHVlT3IoaW5saW5lTGV2ZWxCb3hMb2dpY2FsUmVjdC5i
b3R0b20oKSksIGlubGluZUxldmVsQm94TG9naWNhbFJlY3QuYm90dG9tKCkpOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgLy8gVGhlcmUncyBhbHdheXMgYXQgbGVhc3Qgb25lIGlubGluZSBs
ZXZlbCBib3gsIHRoZSByb290IGlubGluZSBib3guCi0gICAgICAgICAgICBBU1NFUlQoZW5jbG9z
aW5nQm90dG9tICYmIGVuY2xvc2luZ1RvcCk7Ci0gICAgICAgICAgICAvLyBpbmxpbmUgYm94ZXMg
YXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lLCBsZXQncyBtYWtlIHRoZW0gcmVsYXRpdmUgdG8gdGhl
IHJvb3QncyBjb250ZW50IGJveC4KLSAgICAgICAgICAgIHJldHVybiBMaW5lOjpFbmNsb3NpbmdU
b3BBbmRCb3R0b20geyBsaW5lQm94TG9naWNhbFJlY3QudG9wKCkgKyAqZW5jbG9zaW5nVG9wLCBs
aW5lQm94TG9naWNhbFJlY3QudG9wKCkgKyAqZW5jbG9zaW5nQm90dG9tIH07Ci0gICAgICAgIH0o
KTsKICAgICAgICAgYXV0byBhZGp1c3RlZExpbmVCb3hSZWN0ID0gRmxvYXRSZWN0IHsgbGluZUJv
eExvZ2ljYWxSZWN0IH07CisgICAgICAgIGF1dG8gZW5jbG9zaW5nVG9wQW5kQm90dG9tID0gbGlu
ZS5lbmNsb3NpbmdUb3BBbmRCb3R0b20oKTsKICAgICAgICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFk
anVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbikgewogICAg
ICAgICAgICAgYWRqdXN0ZWRMaW5lQm94UmVjdC5zZXRZKHJvdW5kVG9JbnQoYWRqdXN0ZWRMaW5l
Qm94UmVjdC55KCkpKTsKICAgICAgICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AgPSBy
b3VuZFRvSW50KGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3ApOwogICAgICAgICAgICAgZW5jbG9z
aW5nVG9wQW5kQm90dG9tLmJvdHRvbSA9IHJvdW5kVG9JbnQoZW5jbG9zaW5nVG9wQW5kQm90dG9t
LmJvdHRvbSk7CiAgICAgICAgIH0KLSAgICAgICAgaW5saW5lQ29udGVudC5saW5lcy5hcHBlbmQo
eyBmaXJzdFJ1bkluZGV4LCBydW5Db3VudCwgYWRqdXN0ZWRMaW5lQm94UmVjdCwgZW5jbG9zaW5n
VG9wQW5kQm90dG9tLCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LCBsaW5lSW5rT3ZlcmZsb3dSZWN0
LCBsaW5lLmJhc2VsaW5lKCksIGxpbmUuY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0KCksIGxpbmUu
Y29udGVudExvZ2ljYWxXaWR0aCgpIH0pOworICAgICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFw
cGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50LCBhZGp1c3RlZExpbmVCb3hSZWN0LCBlbmNs
b3NpbmdUb3BBbmRCb3R0b20udG9wLCBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBzY3Jv
bGxhYmxlT3ZlcmZsb3dSZWN0LCBsaW5lSW5rT3ZlcmZsb3dSZWN0LCBsaW5lLmJhc2VsaW5lKCks
IGxpbmUuY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0KCksIGxpbmUuY29udGVudExvZ2ljYWxXaWR0
aCgpIH0pOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5oCmluZGV4IGU1ODFkMDA2Y2E4ZDdi
Y2I2MDQzYTc5MWIxZmE5ZDM2YzhiZTI2MWIuLjQ4YzA0MTQ0NGY3MTMxMWZiODM1OTU0OTg2MWE4
OTRhOTA4ZWE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmgKQEAgLTM1LDE2ICszNSwxMiBAQCBuYW1l
c3BhY2UgTGF5b3V0SW50ZWdyYXRpb24gewogY2xhc3MgTGluZSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RydWN0IEVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7
Ci0gICAgICAgIC8vIFRoaXMgdmFsdWVzIGVuY2xvc2VzIHRoZSByb290IGlubGluZSBib3ggYW5k
IGFueSBvdGhlciBpbmxpbmUgbGV2ZWwgYm94J3MgYm9yZGVyIGJveC4KLSAgICAgICAgZmxvYXQg
dG9wIHsgMCB9OwotICAgICAgICBmbG9hdCBib3R0b20geyAwIH07Ci0gICAgfTsKLSAgICBMaW5l
KHNpemVfdCBmaXJzdFJ1bkluZGV4LCBzaXplX3QgcnVuQ291bnQsIGNvbnN0IEZsb2F0UmVjdCYg
bGluZUJveFJlY3QsIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20s
IGNvbnN0IEZsb2F0UmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBjb25zdCBGbG9hdFJlY3QmIGlu
a092ZXJmbG93LCBmbG9hdCBiYXNlbGluZSwgZmxvYXQgY29udGVudExlZnRPZmZzZXQsIGZsb2F0
IGNvbnRlbnRXaWR0aCkKKyAgICBMaW5lKHNpemVfdCBmaXJzdFJ1bkluZGV4LCBzaXplX3QgcnVu
Q291bnQsIGNvbnN0IEZsb2F0UmVjdCYgbGluZUJveFJlY3QsIGZsb2F0IGVuY2xvc2luZ0NvbnRl
bnRUb3AsIGZsb2F0IGVuY2xvc2luZ0NvbnRlbnRCb3R0b20sIGNvbnN0IEZsb2F0UmVjdCYgc2Ny
b2xsYWJsZU92ZXJmbG93LCBjb25zdCBGbG9hdFJlY3QmIGlua092ZXJmbG93LCBmbG9hdCBiYXNl
bGluZSwgZmxvYXQgY29udGVudExlZnRPZmZzZXQsIGZsb2F0IGNvbnRlbnRXaWR0aCkKICAgICAg
ICAgOiBtX2ZpcnN0UnVuSW5kZXgoZmlyc3RSdW5JbmRleCkKICAgICAgICAgLCBtX3J1bkNvdW50
KHJ1bkNvdW50KQogICAgICAgICAsIG1fbGluZUJveFJlY3QobGluZUJveFJlY3QpCi0gICAgICAg
ICwgbV9lbmNsb3NpbmdUb3BBbmRCb3R0b20oZW5jbG9zaW5nVG9wQW5kQm90dG9tKQorICAgICAg
ICAsIG1fZW5jbG9zaW5nQ29udGVudFRvcChlbmNsb3NpbmdDb250ZW50VG9wKQorICAgICAgICAs
IG1fZW5jbG9zaW5nQ29udGVudEJvdHRvbShlbmNsb3NpbmdDb250ZW50Qm90dG9tKQogICAgICAg
ICAsIG1fc2Nyb2xsYWJsZU92ZXJmbG93KHNjcm9sbGFibGVPdmVyZmxvdykKICAgICAgICAgLCBt
X2lua092ZXJmbG93KGlua092ZXJmbG93KQogICAgICAgICAsIG1fYmFzZWxpbmUoYmFzZWxpbmUp
CkBAIC02MSw4ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBmbG9hdCBsaW5lQm94TGVmdCgpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZUJveFJlY3QueCgpOyB9CiAgICAgZmxvYXQgbGluZUJveFJpZ2h0KCkg
Y29uc3QgeyByZXR1cm4gbV9saW5lQm94UmVjdC5tYXhYKCk7IH0KIAotICAgIGZsb2F0IGVuY2xv
c2luZ0NvbnRlbnRUb3AoKSBjb25zdCB7IHJldHVybiBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbS50
b3A7IH0KLSAgICBmbG9hdCBlbmNsb3NpbmdDb250ZW50Qm90dG9tKCkgY29uc3QgeyByZXR1cm4g
bV9lbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tOyB9CisgICAgZmxvYXQgZW5jbG9zaW5nQ29u
dGVudFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jbG9zaW5nQ29udGVudFRvcDsgfQorICAgIGZs
b2F0IGVuY2xvc2luZ0NvbnRlbnRCb3R0b20oKSBjb25zdCB7IHJldHVybiBtX2VuY2xvc2luZ0Nv
bnRlbnRCb3R0b207IH0KIAogICAgIGNvbnN0IEZsb2F0UmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93
KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlT3ZlcmZsb3c7IH0KICAgICBjb25zdCBGbG9h
dFJlY3QmIGlua092ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9pbmtPdmVyZmxvdzsgfQpAQCAt
ODAsNyArNzYsOCBAQCBwcml2YXRlOgogICAgIC8vIEVuY2xvc2luZyB0b3AgYW5kIGJvdHRvbSBp
bmNsdWRlcyBhbGwgaW5saW5lIGxldmVsIGJveGVzIChib3JkZXIgYm94KSB2ZXJ0aWNhbGx5Lgog
ICAgIC8vIFdoaWxlIHRoZSBsaW5lIGJveCB1c3VhbGx5IGVuY2xvc2UgdGhlbSBhcyB3ZWxsLCBp
dHMgdmVydGljYWwgZ2VvbWV0cnkgaXMgYmFzZWQgb24KICAgICAvLyB0aGUgbGF5b3V0IGJvdW5k
cyBvZiB0aGUgaW5saW5lIGxldmVsIGJveGVzIHdoaWNoIG1heSBiZSBkaWZmZXJlbnQgd2hlbiBs
aW5lLWhlaWdodCBpcyBwcmVzZW50LgotICAgIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBtX2VuY2xv
c2luZ1RvcEFuZEJvdHRvbTsKKyAgICBmbG9hdCBtX2VuY2xvc2luZ0NvbnRlbnRUb3AgeyAwIH07
CisgICAgZmxvYXQgbV9lbmNsb3NpbmdDb250ZW50Qm90dG9tIHsgMCB9OwogICAgIEZsb2F0UmVj
dCBtX3Njcm9sbGFibGVPdmVyZmxvdzsKICAgICBGbG9hdFJlY3QgbV9pbmtPdmVyZmxvdzsKICAg
ICBmbG9hdCBtX2Jhc2VsaW5lIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNw
cAppbmRleCA4NGM1YjEyZDExNWNjMTQwNjVlYjZjOTAyNzEwZmJmZDE5MzhmMTllLi5kZGJjZGRi
OTZjZjM3Njg2ZGI2NzhjMThhYWRhZmQzYzJkOWMyOTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Q
YWdpbmF0aW9uLmNwcApAQCAtMTMwLDcgKzEzMCw4IEBAIHN0YXRpYyBSZWY8SW5saW5lQ29udGVu
dD4gbWFrZUFkanVzdGVkQ29udGVudChjb25zdCBJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50
CiAgICAgICAgICAgICBsaW5lLmZpcnN0UnVuSW5kZXgoKSwKICAgICAgICAgICAgIGxpbmUucnVu
Q291bnQoKSwKICAgICAgICAgICAgIG1vdmVWZXJ0aWNhbGx5KHsgRmxvYXRQb2ludCB7IGxpbmUu
bGluZUJveExlZnQoKSwgbGluZS5saW5lQm94VG9wKCkgfSwgRmxvYXRQb2ludCB7IGxpbmUubGlu
ZUJveFJpZ2h0KCksIGxpbmUubGluZUJveEJvdHRvbSgpIH0gfSwgb2Zmc2V0KSwKLSAgICAgICAg
ICAgIHsgbGluZS5lbmNsb3NpbmdDb250ZW50VG9wKCkgKyBvZmZzZXQsIGxpbmUuZW5jbG9zaW5n
Q29udGVudEJvdHRvbSgpICsgb2Zmc2V0IH0sCisgICAgICAgICAgICBsaW5lLmVuY2xvc2luZ0Nv
bnRlbnRUb3AoKSArIG9mZnNldCwKKyAgICAgICAgICAgIGxpbmUuZW5jbG9zaW5nQ29udGVudEJv
dHRvbSgpICsgb2Zmc2V0LAogICAgICAgICAgICAgbW92ZVZlcnRpY2FsbHkobGluZS5zY3JvbGxh
YmxlT3ZlcmZsb3coKSwgb2Zmc2V0KSwKICAgICAgICAgICAgIG1vdmVWZXJ0aWNhbGx5KGxpbmUu
aW5rT3ZlcmZsb3coKSwgb2Zmc2V0KSwKICAgICAgICAgICAgIGxpbmUuYmFzZWxpbmUoKSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>