<?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>222586</bug_id>
          
          <creation_ts>2021-03-01 20:46:56 -0800</creation_ts>
          <short_desc>[LFC][IFC] Merge SimplifiedVerticalAlignment and m_useSimplifiedVerticalAlignment</short_desc>
          <delta_ts>2021-03-02 06:45:28 -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>1734741</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-03-01 20:46:56 -0800</bug_when>
    <thetext>we don&apos;t really need both.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734744</commentid>
    <comment_count>1</comment_count>
      <attachid>421903</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-03-01 20:59:40 -0800</bug_when>
    <thetext>Created attachment 421903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734747</commentid>
    <comment_count>2</comment_count>
      <attachid>421904</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-03-01 21:10:33 -0800</bug_when>
    <thetext>Created attachment 421904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734824</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-02 06:44:42 -0800</bug_when>
    <thetext>Committed r273728: &lt;https://commits.webkit.org/r273728&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421904.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734827</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-02 06:45:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/74926691&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421903</attachid>
            <date>2021-03-01 20:59:40 -0800</date>
            <delta_ts>2021-03-01 21:10:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222586-20210301205939.patch</filename>
            <type>text/plain</type>
            <size>14982</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODZmZTY5OGYyMDFjM2Jj
OGQ5MmU4NmQxNGQzYjYwMWU4NmQ0NTg0Yi4uZjgwNGZhZDg3NDEzOWU2NTQ1OTE2M2ExMWE0ZDg4
OTdkOWYzNGFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTAzLTAxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNZXJnZSBT
aW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgYW5kIG1fdXNlU2ltcGxpZmllZFZlcnRpY2FsQWxp
Z25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjI1ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBM
ZXQncyBoYXZlIFNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCB0cmFjayBpZiBzaW1wbGlmaWVk
IGFsaWdubWVudCBjYW4gYmUgYXBwbGllZCBvbiB0aGUgY3VycmVudCBjb250ZW50LgorICAgICAg
ICBBbHNvIGRlY291cGxlIHRoZSBhY3R1YWwgYWxpZ25tZW50IGFuZCB3aGV0aGVyIHRoZSBpbmxp
bmUgbGV2ZWwgYm94IGNhbiBiZSAoc2ltcGxpZmllZClhbGlnbmVkLgorICAgICAgICAoc2VlIFNp
bXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWxpZ24gYW5kIFNpbXBsaWZpZWRWZXJ0aWNhbEFs
aWdubWVudDo6Y2FuVXNlU2ltcGxpZmllZEFsaWdubWVudCkKKyAgICAgICAgVGhpcyBpcyBpbiBw
cmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBub24tYXRvbWljIGlubGluZSBsZXZlbCBib3hlcy4K
KworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50Ojpyb290SW5saW5lQm94TG9naWNhbFRvcCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1wbGlm
aWVkVmVydGljYWxBbGlnbm1lbnQ6OmxpbmVCb3hIZWlnaHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50
Ojppc0VuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVp
bGRlcjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50OjpzZXRFbmFibGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OkxpbmVCb3hCdWlsZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmJ1aWxkKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2
ZWxCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1w
bGlmaWVkVmVydGljYWxBbGlnbm1lbnQ6OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1wbGlmaWVkVmVydGlj
YWxBbGlnbm1lbnQ6OmNhblVzZVNpbXBsaWZpZWRBbGlnbm1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50Ojph
bGlnbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1wbGlm
aWVkVmVydGljYWxBbGlnbm1lbnQ6OmFkanVzdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6U2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50Ojpyb290SW5saW5lQm94TG9naWNhbFRvcCBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6bGluZUJv
eEhlaWdodCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlNpbXBs
aWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWxpZ25JbmxpbmVMZXZlbEJveElmQXBwbGljYWJsZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlNpbXBsaWZpZWRWZXJ0aWNhbEFs
aWdubWVudDo6YWRqdXN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMpOiBEZWxldGVkLgorCiAyMDIx
LTAzLTAxICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SUZDXSBNb3ZlIHNpbXBsaWZpZWQgYmFzZWxpbmUgYWxpZ25tZW50IHRvIGEgZGVkaWNhdGVkIGZ1
bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
CmluZGV4IGUwNjJlNjYzN2M2M2I2MWVhMTJiZjhhMWZkZTMwYzNjYmJiMjI4NGEuLjQ2MzRkM2I5
NDI5ZDY2M2IzOTIzNWMxMGFmMzVhZGJkNzJmYzllYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC00NSw4ICs0NSwzMSBAQCBwdWJsaWM6
CiAgICAgTGluZUJveCBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmKTsKIAog
cHJpdmF0ZToKKyAgICBzdHJ1Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsKKyAgICAg
ICAgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50KGNvbnN0IExpbmVCb3g6OklubGluZUxldmVs
Qm94JiByb290SW5saW5lQm94KTsKKworICAgICAgICBzdGF0aWMgYm9vbCBjYW5Vc2VTaW1wbGlm
aWVkQWxpZ25tZW50KGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiByb290SW5saW5lQm94
LCBjb25zdCBMaW5lQm94OjpJbmxpbmVMZXZlbEJveCYsIGNvbnN0IEJveEdlb21ldHJ5JiBpbmxp
bmVMZXZlbEJveEdlb21ldHJ5KTsKKworICAgICAgICB2b2lkIGFsaWduKExpbmVCb3g6OklubGlu
ZUxldmVsQm94Jik7CisKKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCByb290SW5saW5lQm94TG9n
aWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdElubGluZUJveExvZ2ljYWxUb3A7IH0KKyAg
ICAgICAgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lQm94TG9naWNhbEJvdHRvbSAtIG1fbGluZUJveExvZ2ljYWxUb3A7IH0KKworICAgICAgICB2
b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1faXNFbmFibGVkID0gZW5hYmxlZDsgfQor
ICAgICAgICBib29sIGlzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNFbmFibGVkOyB9CisK
KyAgICBwcml2YXRlOgorICAgICAgICB2b2lkIGFkanVzdChjb25zdCBMaW5lQm94OjpJbmxpbmVM
ZXZlbEJveCYpOworCisgICAgICAgIGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiBtX3Jv
b3RJbmxpbmVCb3g7CisgICAgICAgIGJvb2wgbV9pc0VuYWJsZWQgeyB0cnVlIH07CisgICAgICAg
IElubGluZUxheW91dFVuaXQgbV9saW5lQm94TG9naWNhbFRvcCB7IDAgfTsKKyAgICAgICAgSW5s
aW5lTGF5b3V0VW5pdCBtX2xpbmVCb3hMb2dpY2FsQm90dG9tIHsgMCB9OworICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IG1fcm9vdElubGluZUJveExvZ2ljYWxUb3AgeyAwIH07CisgICAgfTsKKwog
ICAgIHZvaWQgc2V0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveChMaW5lQm94OjpJbmxpbmVM
ZXZlbEJveCYpIGNvbnN0OwotICAgIHZvaWQgY29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiwgY29uc3QgTGluZTo6UnVuTGlzdCYpOworICAgIHZvaWQgY29uc3RydWN0QW5kQWxpZ25J
bmxpbmVMZXZlbEJveGVzKExpbmVCb3gmLCBjb25zdCBMaW5lOjpSdW5MaXN0Jik7CiAgICAgdm9p
ZCBjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHko
TGluZUJveCYpOwogCiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRp
bmdDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsgfQpA
QCAtNTcsNyArODAsNiBAQCBwcml2YXRlOgogCiBwcml2YXRlOgogICAgIGNvbnN0IElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0OwotICAgIGJvb2wgbV91
c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgeyB0cnVlIH07CiB9OwogCiBzdHJ1Y3QgSGFu
Z2luZ1RyYWlsaW5nV2hpdGVzcGFjZUNvbnRlbnQgewpAQCAtMTQ4LDggKzE3MCw2IEBAIHN0YXRp
YyBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KGNv
bnN0IExpbmU6OlJ1bkxpc3QmCiAKIExpbmVCb3hCdWlsZGVyOjpMaW5lQm94QnVpbGRlcihjb25z
dCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCiAgICAg
OiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0KGlubGluZUZvcm1hdHRpbmdDb250ZXh0KQotICAg
IC8vIEZJWE1FOiBBZGQgZmFzdCBwYXRoIHN1cHBvcnQgZm9yIGxpbmUtaGVpZ2h0IGNvbnRlbnQu
Ci0gICAgLCBtX3VzZVNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudChpbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5sYXlvdXRTdGF0ZSgpLmluU3RhbmRhcmRzTW9kZSgpICYmIHJvb3RCb3goKS5zdHls
ZSgpLmxpbmVIZWlnaHQoKS5pc05lZ2F0aXZlKCkpCiB7CiB9CiAKQEAgLTE2MCwxMCArMTgwLDcg
QEAgTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
b250ZW50JiBsaW5lQ29udGVudCkKICAgICBhdXRvIGNvbnRlbnRMb2dpY2FsV2lkdGggPSBsaW5l
Q29udGVudC5jb250ZW50TG9naWNhbFdpZHRoOwogICAgIGF1dG8gaG9yaXpvbnRhbEFsaWdubWVu
dE9mZnNldCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCByb290Qm94
KCkuc3R5bGUoKS50ZXh0QWxpZ24oKSwgbGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxX
aWR0aCwgbGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKICAgICBhdXRv
IGxpbmVCb3ggPSBMaW5lQm94IHsgcm9vdEJveCgpLCBsaW5lQ29udGVudC5sb2dpY2FsVG9wTGVm
dCwgbGluZUxvZ2ljYWxXaWR0aCwgaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldC52YWx1ZU9yKElu
bGluZUxheW91dFVuaXQgeyB9KSwgY29udGVudExvZ2ljYWxXaWR0aCwgcnVucy5zaXplKCkgfTsK
LQotICAgIGNvbnN0cnVjdElubGluZUxldmVsQm94ZXMobGluZUJveCwgcnVucyk7Ci0gICAgaWYg
KCFtX3VzZVNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCkKLSAgICAgICAgY29tcHV0ZUxpbmVC
b3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KGxpbmVCb3gpOworICAg
IGNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyhsaW5lQm94LCBydW5zKTsKICAgICBy
ZXR1cm4gbGluZUJveDsKIH0KIApAQCAtMjAxLDU3ICsyMTgsMTQgQEAgdm9pZCBMaW5lQm94QnVp
bGRlcjo6c2V0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveChMaW5lQm94OjpJbmxpbmVMZXZl
bEJveCYgaW4KICAgICBpbmxpbmVMZXZlbEJveC5zZXRMYXlvdXRCb3VuZHMoTGluZUJveDo6SW5s
aW5lTGV2ZWxCb3g6OkxheW91dEJvdW5kcyB7IGZsb29yZihhc2NlbnQpLCBjZWlsKGRlc2NlbnQp
IH0pOwogfQogCi1zdHJ1Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsKLSAgICBTaW1w
bGlmaWVkVmVydGljYWxBbGlnbm1lbnQoY29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gmIHJv
b3RJbmxpbmVCb3gpCi0gICAgICAgIDogbV9yb290SW5saW5lQm94KHJvb3RJbmxpbmVCb3gpCi0g
ICAgewotICAgICAgICBhZGp1c3Qocm9vdElubGluZUJveCk7Ci0gICAgfQotCi0gICAgSW5saW5l
TGF5b3V0VW5pdCByb290SW5saW5lQm94TG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9v
dElubGluZUJveExvZ2ljYWxUb3A7IH0KLSAgICBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hIZWln
aHQoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hMb2dpY2FsQm90dG9tIC0gbV9saW5lQm94TG9n
aWNhbFRvcDsgfQotCi0gICAgYm9vbCBhbGlnbklubGluZUxldmVsQm94SWZBcHBsaWNhYmxlKExp
bmVCb3g6OklubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCwgY29uc3QgQm94R2VvbWV0cnkm
IGlubGluZUxldmVsQm94R2VvbWV0cnkpCi0gICAgewotICAgICAgICBpZiAoaW5saW5lTGV2ZWxC
b3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSB7Ci0gICAgICAgICAgICAvLyBCYXNlbGluZSBh
bGlnbmVkLCBub24tc3RyZXRjaHkgZGlyZWN0IGNoaWxkcmVuIGFyZSBjb25zaWRlcmVkIHRvIGJl
IHNpbXBsZSBmb3Igbm93LgotICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2
ZWxCb3gubGF5b3V0Qm94KCk7Ci0gICAgICAgICAgICBhdXRvIGlzQ29uc2lkZXJlZFNpbXBsZSA9
ICZsYXlvdXRCb3gucGFyZW50KCkgPT0gJm1fcm9vdElubGluZUJveC5sYXlvdXRCb3goKQotICAg
ICAgICAgICAgICAgICYmIGxheW91dEJveC5zdHlsZSgpLnZlcnRpY2FsQWxpZ24oKSA9PSBWZXJ0
aWNhbEFsaWduOjpCYXNlbGluZQotICAgICAgICAgICAgICAgICYmICFpbmxpbmVMZXZlbEJveEdl
b21ldHJ5Lm1hcmdpbkJlZm9yZSgpCi0gICAgICAgICAgICAgICAgJiYgIWlubGluZUxldmVsQm94
R2VvbWV0cnkubWFyZ2luQWZ0ZXIoKQotICAgICAgICAgICAgICAgICYmIGlubGluZUxldmVsQm94
R2VvbWV0cnkubWFyZ2luQm94SGVpZ2h0KCkgPD0gbV9yb290SW5saW5lQm94LmJhc2VsaW5lKCk7
Ci0gICAgICAgICAgICBpZiAoIWlzQ29uc2lkZXJlZFNpbXBsZSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAvLyBPbmx5IGJhc2VsaW5lIGFsaWdubWVudCBmb3Ig
bm93LgotICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3guc2V0TG9naWNhbFRvcChtX3Jvb3RJbmxp
bmVCb3guYmFzZWxpbmUoKSAtIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCkpOwotICAgICAgICAg
ICAgYWRqdXN0KGlubGluZUxldmVsQm94KTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICB9Ci0gICAgICAgIEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci1wcml2YXRlOgotICAgIHZvaWQgYWRqdXN0KGNvbnN0IExpbmVC
b3g6OklubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCkKLSAgICB7Ci0gICAgICAgIGF1dG8g
bGF5b3V0Qm91bmRzTG9naWNhbFRvcCA9IG1fcm9vdElubGluZUJveC5sYXlvdXRCb3VuZHMoKS5h
c2NlbnQgLSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQ7Ci0gICAgICAgIG1f
bGluZUJveExvZ2ljYWxUb3AgPSBzdGQ6Om1pbihtX2xpbmVCb3hMb2dpY2FsVG9wLCBsYXlvdXRC
b3VuZHNMb2dpY2FsVG9wKTsKLSAgICAgICAgbV9saW5lQm94TG9naWNhbEJvdHRvbSA9IHN0ZDo6
bWF4KG1fbGluZUJveExvZ2ljYWxCb3R0b20sIGxheW91dEJvdW5kc0xvZ2ljYWxUb3AgKyBpbmxp
bmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5oZWlnaHQoKSk7Ci0gICAgICAgIG1fcm9vdElubGlu
ZUJveExvZ2ljYWxUb3AgPSBzdGQ6Om1heChtX3Jvb3RJbmxpbmVCb3hMb2dpY2FsVG9wLCBpbmxp
bmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQgLSBtX3Jvb3RJbmxpbmVCb3guYmFzZWxp
bmUoKSk7Ci0gICAgfQotCi0gICAgY29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gmIG1fcm9v
dElubGluZUJveDsKLQotICAgIElubGluZUxheW91dFVuaXQgbV9saW5lQm94TG9naWNhbFRvcCB7
IDAgfTsKLSAgICBJbmxpbmVMYXlvdXRVbml0IG1fbGluZUJveExvZ2ljYWxCb3R0b20geyAwIH07
Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBtX3Jvb3RJbmxpbmVCb3hMb2dpY2FsVG9wIHsgMCB9Owot
fTsKLQotdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW5MaXN0JiBydW5zKQordm9pZCBMaW5lQm94QnVp
bGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gs
IGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMpCiB7CiAgICAgYXV0byYgcm9vdElubGluZUJveCA9
IGxpbmVCb3gucm9vdElubGluZUJveCgpOwogICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxp
bmVCb3gocm9vdElubGluZUJveCk7CisKICAgICBhdXRvIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdu
bWVudCA9IFNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCB7IHJvb3RJbmxpbmVCb3ggfTsKKyAg
ICAvLyBGSVhNRTogQWRkIGZhc3QgcGF0aCBzdXBwb3J0IGZvciBsaW5lLWhlaWdodCBjb250ZW50
LgorICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5zZXRFbmFibGVkKGxheW91dFN0YXRl
KCkuaW5TdGFuZGFyZHNNb2RlKCkgJiYgcm9vdEJveCgpLnN0eWxlKCkubGluZUhlaWdodCgpLmlz
TmVnYXRpdmUoKSk7CiAKICAgICBhdXRvIGNyZWF0ZVdyYXBwZWRJbmxpbmVCb3hlcyA9IFsmXSB7
CiAgICAgICAgIGlmIChydW5zLmlzRW1wdHkoKSkKQEAgLTMwOSw2ICsyODMsMTYgQEAgdm9pZCBM
aW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94
LCBjb25zdCBMaW5lOjpSdW4KICAgICAgICAgfTsKICAgICAgICAgbGluZUhhc0NvbnRlbnQgPSBs
aW5lSGFzQ29udGVudCB8fCBydW5IYXNDb250ZW50KCk7CiAKKyAgICAgICAgYXV0byBzaW1wbGlm
aWVkQWxpZ25WZXJ0aWNhbGx5SWZBcHBsaWNhYmxlID0gWyZdKGF1dG8mIGlubGluZUxldmVsQm94
LCBjb25zdCBhdXRvJiBib3hHZW9tZXRyeSkgeworICAgICAgICAgICAgaWYgKCFzaW1wbGlmaWVk
VmVydGljYWxBbGlnbm1lbnQuaXNFbmFibGVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgaWYgKCFTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQ6OmNhblVzZVNpbXBs
aWZpZWRBbGlnbm1lbnQocm9vdElubGluZUJveCwgaW5saW5lTGV2ZWxCb3gsIGJveEdlb21ldHJ5
KSkgeworICAgICAgICAgICAgICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5zZXRFbmFi
bGVkKGZhbHNlKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQuYWxpZ24oaW5saW5lTGV2ZWxCb3gp
OworICAgICAgICB9OworCiAgICAgICAgIGF1dG8gbG9naWNhbExlZnQgPSByb290SW5saW5lQm94
LmxvZ2ljYWxMZWZ0KCkgKyBydW4ubG9naWNhbExlZnQoKTsKICAgICAgICAgaWYgKHJ1bi5pc0Jv
eCgpKSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVMZXZlbEJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwpAQCAtMzM4LDE3ICszMjIs
MTQgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW4KICAgICAgICAgICAgIGF1dG8gYXRvbWljSW5s
aW5lTGV2ZWxCb3ggPSBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5l
TGV2ZWxCb3gobGF5b3V0Qm94LCBsb2dpY2FsTGVmdCwgeyBpbmxpbmVMZXZlbEJveEdlb21ldHJ5
LmJvcmRlckJveFdpZHRoKCksIG1hcmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIGF0b21p
Y0lubGluZUxldmVsQm94LT5zZXRCYXNlbGluZShhc2NlbnQpOwogICAgICAgICAgICAgYXRvbWlj
SW5saW5lTGV2ZWxCb3gtPnNldExheW91dEJvdW5kcyhMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6
TGF5b3V0Qm91bmRzIHsgYXNjZW50LCBtYXJnaW5Cb3hIZWlnaHQgLSBhc2NlbnQgfSk7Ci0gICAg
ICAgICAgICBpZiAobV91c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQpIHsKLSAgICAgICAg
ICAgICAgICAvLyBMZXQncyBwcmUtY29tcHV0ZSB0aGUgbG9naWNhbCB0b3Agc28gdGhhdCB3ZSBj
YW4gYXZvaWQgcnVubmluZyB0aGUgYWxpZ25tZW50IG9uIHNpbXBsZSBpbmxpbmUgbGV2ZWwgYm94
ZXMuCi0gICAgICAgICAgICAgICAgbV91c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSBz
aW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQuYWxpZ25JbmxpbmVMZXZlbEJveElmQXBwbGljYWJs
ZSgqYXRvbWljSW5saW5lTGV2ZWxCb3gsIGlubGluZUxldmVsQm94R2VvbWV0cnkpOwotICAgICAg
ICAgICAgfQorICAgICAgICAgICAgc2ltcGxpZmllZEFsaWduVmVydGljYWxseUlmQXBwbGljYWJs
ZSgqYXRvbWljSW5saW5lTGV2ZWxCb3gsIGlubGluZUxldmVsQm94R2VvbWV0cnkpOwogICAgICAg
ICAgICAgbGluZUJveC5hZGRJbmxpbmVMZXZlbEJveChXVEZNb3ZlKGF0b21pY0lubGluZUxldmVs
Qm94KSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIHNpbXBsZSBpbmxpbmUgYm94ZXMgdG9vLgogICAgICAgICAvLyBX
ZSBjYW4gZG8gc2ltcGxpZmllZCB2ZXJ0aWNhbCBhbGlnbm1lbnQgd2l0aCBub24tYXRvbWljIGlu
bGluZSBib3hlcyBhcyBsb25nIGFzIHRoZSBsaW5lIGhhcyBubyBjb250ZW50LgogICAgICAgICAv
LyBlLmcuIDxkaXY+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4gaXMgc3RpbGwgb2th
eS4KLSAgICAgICAgbV91c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSAhbGluZUhhc0Nv
bnRlbnQ7CisgICAgICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5zZXRFbmFibGVkKCFs
aW5lSGFzQ29udGVudCk7CiAgICAgICAgIGlmIChydW4uaXNJbmxpbmVCb3hTdGFydCgpKSB7CiAg
ICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cgeWV0IGhvdyB3aWRlIHRo
aXMgaW5saW5lIGJveCBpcy4gTGV0J3MgYXNzdW1lIGl0J3MgYXMgbG9uZyBhcyB0aGUgbGluZSBp
cwogICAgICAgICAgICAgLy8gYW5kIGFkanVzdCBpdCBsYXRlciBpZiB3ZSBjb21lIGFjcm9zcyBh
biBpbmxpbmVCb3hFbmQgcnVuIChzZWUgYmVsb3cpLgpAQCAtMzkyLDEyICszNzMsMTIgQEAgdm9p
ZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5l
Qm94LCBjb25zdCBMaW5lOjpSdW4KICAgICB9CiAKICAgICBsaW5lQm94LnNldEhhc0NvbnRlbnQo
bGluZUhhc0NvbnRlbnQpOwotICAgIC8vIFdlIHNob3VsZCBhbHdheXMgYmUgYWJsZSB0byBleGVy
Y2lzZSB0aGUgZmFzdCBwYXRoIHdoZW4gdGhlIGxpbmUgaGFzIG5vIGNvbnRlbnQgYXQgYWxsLCBl
dmVuIGluIG5vbi1zdGFuZGFyZHMgbW9kZSBvciB3aXRoIGxpbmUtaGVpZ2h0IHNldC4KLSAgICBt
X3VzZVNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCA9IG1fdXNlU2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50IHx8ICFsaW5lSGFzQ29udGVudDsKLSAgICBpZiAobV91c2VTaW1wbGlmaWVkVmVy
dGljYWxBbGlnbm1lbnQpIHsKKyAgICBpZiAoc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50Lmlz
RW5hYmxlZCgpIHx8ICFsaW5lSGFzQ29udGVudCkgeworICAgICAgICAvLyBXZSBzaG91bGQgYWx3
YXlzIGJlIGFibGUgdG8gZXhlcmNpc2UgdGhlIGZhc3QgcGF0aCB3aGVuIHRoZSBsaW5lIGhhcyBu
byBjb250ZW50IGF0IGFsbCwgZXZlbiBpbiBub24tc3RhbmRhcmRzIG1vZGUgb3Igd2l0aCBsaW5l
LWhlaWdodCBzZXQuCiAgICAgICAgIHJvb3RJbmxpbmVCb3guc2V0TG9naWNhbFRvcChsaW5lSGFz
Q29udGVudCA/IHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5yb290SW5saW5lQm94TG9naWNh
bFRvcCgpIDogLXJvb3RJbmxpbmVCb3guYmFzZWxpbmUoKSk7CiAgICAgICAgIGxpbmVCb3guc2V0
TG9naWNhbEhlaWdodChsaW5lSGFzQ29udGVudCA/IHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVu
dC5saW5lQm94SGVpZ2h0KCkgOiBJbmxpbmVMYXlvdXRVbml0KCkpOwotICAgIH0KKyAgICB9IGVs
c2UKKyAgICAgICAgY29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNW
ZXJ0aWNhbGx5KGxpbmVCb3gpOwogfQogCiB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGlu
ZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZUJveCYgbGlu
ZUJveCkKQEAgLTYzNSw2ICs2MTYsNDUgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxp
bmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICBh
bGlnbklubGluZUxldmVsQm94ZXMoKTsKIH0KIAorTGluZUJveEJ1aWxkZXI6OlNpbXBsaWZpZWRW
ZXJ0aWNhbEFsaWdubWVudDo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50KGNvbnN0IExpbmVC
b3g6OklubGluZUxldmVsQm94JiByb290SW5saW5lQm94KQorICAgIDogbV9yb290SW5saW5lQm94
KHJvb3RJbmxpbmVCb3gpCit7CisgICAgYWRqdXN0KHJvb3RJbmxpbmVCb3gpOworfQorCitib29s
IExpbmVCb3hCdWlsZGVyOjpTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQ6OmNhblVzZVNpbXBs
aWZpZWRBbGlnbm1lbnQoY29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gmIHJvb3RJbmxpbmVC
b3gsIGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCwgY29uc3Qg
Qm94R2VvbWV0cnkmIGlubGluZUxldmVsQm94R2VvbWV0cnkpCit7CisgICAgaWYgKGlubGluZUxl
dmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgeworICAgICAgICAvLyBCYXNlbGluZSBh
bGlnbmVkLCBub24tc3RyZXRjaHkgZGlyZWN0IGNoaWxkcmVuIGFyZSBjb25zaWRlcmVkIHRvIGJl
IHNpbXBsZSBmb3Igbm93LgorICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBpbmxpbmVMZXZlbEJv
eC5sYXlvdXRCb3goKTsKKyAgICAgICAgcmV0dXJuICZsYXlvdXRCb3gucGFyZW50KCkgPT0gJnJv
b3RJbmxpbmVCb3gubGF5b3V0Qm94KCkKKyAgICAgICAgICAgICYmIGxheW91dEJveC5zdHlsZSgp
LnZlcnRpY2FsQWxpZ24oKSA9PSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZQorICAgICAgICAgICAg
JiYgIWlubGluZUxldmVsQm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkKKyAgICAgICAgICAgICYm
ICFpbmxpbmVMZXZlbEJveEdlb21ldHJ5Lm1hcmdpbkFmdGVyKCkKKyAgICAgICAgICAgICYmIGlu
bGluZUxldmVsQm94R2VvbWV0cnkubWFyZ2luQm94SGVpZ2h0KCkgPD0gcm9vdElubGluZUJveC5i
YXNlbGluZSgpOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgTGluZUJveEJ1
aWxkZXI6OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWxpZ24oTGluZUJveDo6SW5saW5l
TGV2ZWxCb3gmIGlubGluZUxldmVsQm94KQoreworICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0F0
b21pY0lubGluZUxldmVsQm94KCkpIHsKKyAgICAgICAgLy8gT25seSBiYXNlbGluZSBhbGlnbm1l
bnQgZm9yIG5vdy4KKyAgICAgICAgaW5saW5lTGV2ZWxCb3guc2V0TG9naWNhbFRvcChtX3Jvb3RJ
bmxpbmVCb3guYmFzZWxpbmUoKSAtIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCkpOworICAgICAg
ICBhZGp1c3QoaW5saW5lTGV2ZWxCb3gpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIEFT
U0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7Cit9CisKK3ZvaWQgTGluZUJveEJ1aWxkZXI6OlNp
bXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWRqdXN0KGNvbnN0IExpbmVCb3g6OklubGluZUxl
dmVsQm94JiBpbmxpbmVMZXZlbEJveCkKK3sKKyAgICBhdXRvIGxheW91dEJvdW5kc0xvZ2ljYWxU
b3AgPSBtX3Jvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50IC0gaW5saW5lTGV2ZWxC
b3gubGF5b3V0Qm91bmRzKCkuYXNjZW50OworICAgIG1fbGluZUJveExvZ2ljYWxUb3AgPSBzdGQ6
Om1pbihtX2xpbmVCb3hMb2dpY2FsVG9wLCBsYXlvdXRCb3VuZHNMb2dpY2FsVG9wKTsKKyAgICBt
X2xpbmVCb3hMb2dpY2FsQm90dG9tID0gc3RkOjptYXgobV9saW5lQm94TG9naWNhbEJvdHRvbSwg
bGF5b3V0Qm91bmRzTG9naWNhbFRvcCArIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmhl
aWdodCgpKTsKKyAgICBtX3Jvb3RJbmxpbmVCb3hMb2dpY2FsVG9wID0gc3RkOjptYXgobV9yb290
SW5saW5lQm94TG9naWNhbFRvcCwgaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50
IC0gbV9yb290SW5saW5lQm94LmJhc2VsaW5lKCkpOworfQorCiBMaW5lQm94IElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6bGluZUJveEZvckxpbmVDb250ZW50KGNvbnN0IExpbmVC
dWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQpCiB7CiAgICAgcmV0dXJuIExpbmVCb3hC
dWlsZGVyKGZvcm1hdHRpbmdDb250ZXh0KCkpLmJ1aWxkKGxpbmVDb250ZW50KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421904</attachid>
            <date>2021-03-01 21:10:33 -0800</date>
            <delta_ts>2021-03-02 06:44:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222586-20210301211032.patch</filename>
            <type>text/plain</type>
            <size>14982</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODZmZTY5OGYyMDFjM2Jj
OGQ5MmU4NmQxNGQzYjYwMWU4NmQ0NTg0Yi4uZjgwNGZhZDg3NDEzOWU2NTQ1OTE2M2ExMWE0ZDg4
OTdkOWYzNGFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTAzLTAxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNZXJnZSBT
aW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgYW5kIG1fdXNlU2ltcGxpZmllZFZlcnRpY2FsQWxp
Z25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjI1ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBM
ZXQncyBoYXZlIFNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCB0cmFjayBpZiBzaW1wbGlmaWVk
IGFsaWdubWVudCBjYW4gYmUgYXBwbGllZCBvbiB0aGUgY3VycmVudCBjb250ZW50LgorICAgICAg
ICBBbHNvIGRlY291cGxlIHRoZSBhY3R1YWwgYWxpZ25tZW50IGFuZCB3aGV0aGVyIHRoZSBpbmxp
bmUgbGV2ZWwgYm94IGNhbiBiZSAoc2ltcGxpZmllZClhbGlnbmVkLgorICAgICAgICAoc2VlIFNp
bXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWxpZ24gYW5kIFNpbXBsaWZpZWRWZXJ0aWNhbEFs
aWdubWVudDo6Y2FuVXNlU2ltcGxpZmllZEFsaWdubWVudCkKKyAgICAgICAgVGhpcyBpcyBpbiBw
cmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBub24tYXRvbWljIGlubGluZSBsZXZlbCBib3hlcy4K
KworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50Ojpyb290SW5saW5lQm94TG9naWNhbFRvcCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1wbGlm
aWVkVmVydGljYWxBbGlnbm1lbnQ6OmxpbmVCb3hIZWlnaHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50
Ojppc0VuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVp
bGRlcjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50OjpzZXRFbmFibGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OkxpbmVCb3hCdWlsZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmJ1aWxkKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2
ZWxCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1w
bGlmaWVkVmVydGljYWxBbGlnbm1lbnQ6OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1wbGlmaWVkVmVydGlj
YWxBbGlnbm1lbnQ6OmNhblVzZVNpbXBsaWZpZWRBbGlnbm1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50Ojph
bGlnbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpTaW1wbGlm
aWVkVmVydGljYWxBbGlnbm1lbnQ6OmFkanVzdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6U2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50Ojpyb290SW5saW5lQm94TG9naWNhbFRvcCBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6bGluZUJv
eEhlaWdodCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlNpbXBs
aWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWxpZ25JbmxpbmVMZXZlbEJveElmQXBwbGljYWJsZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlNpbXBsaWZpZWRWZXJ0aWNhbEFs
aWdubWVudDo6YWRqdXN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElubGluZUxldmVsQm94ZXMpOiBEZWxldGVkLgorCiAyMDIx
LTAzLTAxICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SUZDXSBNb3ZlIHNpbXBsaWZpZWQgYmFzZWxpbmUgYWxpZ25tZW50IHRvIGEgZGVkaWNhdGVkIGZ1
bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
CmluZGV4IGUwNjJlNjYzN2M2M2I2MWVhMTJiZjhhMWZkZTMwYzNjYmJiMjI4NGEuLjQ2MzRkM2I5
NDI5ZDY2M2IzOTIzNWMxMGFmMzVhZGJkNzJmYzllYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC00NSw4ICs0NSwzMSBAQCBwdWJsaWM6
CiAgICAgTGluZUJveCBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmKTsKIAog
cHJpdmF0ZToKKyAgICBzdHJ1Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsKKyAgICAg
ICAgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50KGNvbnN0IExpbmVCb3g6OklubGluZUxldmVs
Qm94JiByb290SW5saW5lQm94KTsKKworICAgICAgICBzdGF0aWMgYm9vbCBjYW5Vc2VTaW1wbGlm
aWVkQWxpZ25tZW50KGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiByb290SW5saW5lQm94
LCBjb25zdCBMaW5lQm94OjpJbmxpbmVMZXZlbEJveCYsIGNvbnN0IEJveEdlb21ldHJ5JiBpbmxp
bmVMZXZlbEJveEdlb21ldHJ5KTsKKworICAgICAgICB2b2lkIGFsaWduKExpbmVCb3g6OklubGlu
ZUxldmVsQm94Jik7CisKKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCByb290SW5saW5lQm94TG9n
aWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdElubGluZUJveExvZ2ljYWxUb3A7IH0KKyAg
ICAgICAgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lQm94TG9naWNhbEJvdHRvbSAtIG1fbGluZUJveExvZ2ljYWxUb3A7IH0KKworICAgICAgICB2
b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1faXNFbmFibGVkID0gZW5hYmxlZDsgfQor
ICAgICAgICBib29sIGlzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNFbmFibGVkOyB9CisK
KyAgICBwcml2YXRlOgorICAgICAgICB2b2lkIGFkanVzdChjb25zdCBMaW5lQm94OjpJbmxpbmVM
ZXZlbEJveCYpOworCisgICAgICAgIGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiBtX3Jv
b3RJbmxpbmVCb3g7CisgICAgICAgIGJvb2wgbV9pc0VuYWJsZWQgeyB0cnVlIH07CisgICAgICAg
IElubGluZUxheW91dFVuaXQgbV9saW5lQm94TG9naWNhbFRvcCB7IDAgfTsKKyAgICAgICAgSW5s
aW5lTGF5b3V0VW5pdCBtX2xpbmVCb3hMb2dpY2FsQm90dG9tIHsgMCB9OworICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IG1fcm9vdElubGluZUJveExvZ2ljYWxUb3AgeyAwIH07CisgICAgfTsKKwog
ICAgIHZvaWQgc2V0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveChMaW5lQm94OjpJbmxpbmVM
ZXZlbEJveCYpIGNvbnN0OwotICAgIHZvaWQgY29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiwgY29uc3QgTGluZTo6UnVuTGlzdCYpOworICAgIHZvaWQgY29uc3RydWN0QW5kQWxpZ25J
bmxpbmVMZXZlbEJveGVzKExpbmVCb3gmLCBjb25zdCBMaW5lOjpSdW5MaXN0Jik7CiAgICAgdm9p
ZCBjb21wdXRlTGluZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHko
TGluZUJveCYpOwogCiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRp
bmdDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsgfQpA
QCAtNTcsNyArODAsNiBAQCBwcml2YXRlOgogCiBwcml2YXRlOgogICAgIGNvbnN0IElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0OwotICAgIGJvb2wgbV91
c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgeyB0cnVlIH07CiB9OwogCiBzdHJ1Y3QgSGFu
Z2luZ1RyYWlsaW5nV2hpdGVzcGFjZUNvbnRlbnQgewpAQCAtMTQ4LDggKzE3MCw2IEBAIHN0YXRp
YyBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KGNv
bnN0IExpbmU6OlJ1bkxpc3QmCiAKIExpbmVCb3hCdWlsZGVyOjpMaW5lQm94QnVpbGRlcihjb25z
dCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCiAgICAg
OiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0KGlubGluZUZvcm1hdHRpbmdDb250ZXh0KQotICAg
IC8vIEZJWE1FOiBBZGQgZmFzdCBwYXRoIHN1cHBvcnQgZm9yIGxpbmUtaGVpZ2h0IGNvbnRlbnQu
Ci0gICAgLCBtX3VzZVNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudChpbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5sYXlvdXRTdGF0ZSgpLmluU3RhbmRhcmRzTW9kZSgpICYmIHJvb3RCb3goKS5zdHls
ZSgpLmxpbmVIZWlnaHQoKS5pc05lZ2F0aXZlKCkpCiB7CiB9CiAKQEAgLTE2MCwxMCArMTgwLDcg
QEAgTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
b250ZW50JiBsaW5lQ29udGVudCkKICAgICBhdXRvIGNvbnRlbnRMb2dpY2FsV2lkdGggPSBsaW5l
Q29udGVudC5jb250ZW50TG9naWNhbFdpZHRoOwogICAgIGF1dG8gaG9yaXpvbnRhbEFsaWdubWVu
dE9mZnNldCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCByb290Qm94
KCkuc3R5bGUoKS50ZXh0QWxpZ24oKSwgbGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxX
aWR0aCwgbGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKICAgICBhdXRv
IGxpbmVCb3ggPSBMaW5lQm94IHsgcm9vdEJveCgpLCBsaW5lQ29udGVudC5sb2dpY2FsVG9wTGVm
dCwgbGluZUxvZ2ljYWxXaWR0aCwgaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldC52YWx1ZU9yKElu
bGluZUxheW91dFVuaXQgeyB9KSwgY29udGVudExvZ2ljYWxXaWR0aCwgcnVucy5zaXplKCkgfTsK
LQotICAgIGNvbnN0cnVjdElubGluZUxldmVsQm94ZXMobGluZUJveCwgcnVucyk7Ci0gICAgaWYg
KCFtX3VzZVNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCkKLSAgICAgICAgY29tcHV0ZUxpbmVC
b3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KGxpbmVCb3gpOworICAg
IGNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyhsaW5lQm94LCBydW5zKTsKICAgICBy
ZXR1cm4gbGluZUJveDsKIH0KIApAQCAtMjAxLDU3ICsyMTgsMTQgQEAgdm9pZCBMaW5lQm94QnVp
bGRlcjo6c2V0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveChMaW5lQm94OjpJbmxpbmVMZXZl
bEJveCYgaW4KICAgICBpbmxpbmVMZXZlbEJveC5zZXRMYXlvdXRCb3VuZHMoTGluZUJveDo6SW5s
aW5lTGV2ZWxCb3g6OkxheW91dEJvdW5kcyB7IGZsb29yZihhc2NlbnQpLCBjZWlsKGRlc2NlbnQp
IH0pOwogfQogCi1zdHJ1Y3QgU2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50IHsKLSAgICBTaW1w
bGlmaWVkVmVydGljYWxBbGlnbm1lbnQoY29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gmIHJv
b3RJbmxpbmVCb3gpCi0gICAgICAgIDogbV9yb290SW5saW5lQm94KHJvb3RJbmxpbmVCb3gpCi0g
ICAgewotICAgICAgICBhZGp1c3Qocm9vdElubGluZUJveCk7Ci0gICAgfQotCi0gICAgSW5saW5l
TGF5b3V0VW5pdCByb290SW5saW5lQm94TG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9v
dElubGluZUJveExvZ2ljYWxUb3A7IH0KLSAgICBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hIZWln
aHQoKSBjb25zdCB7IHJldHVybiBtX2xpbmVCb3hMb2dpY2FsQm90dG9tIC0gbV9saW5lQm94TG9n
aWNhbFRvcDsgfQotCi0gICAgYm9vbCBhbGlnbklubGluZUxldmVsQm94SWZBcHBsaWNhYmxlKExp
bmVCb3g6OklubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCwgY29uc3QgQm94R2VvbWV0cnkm
IGlubGluZUxldmVsQm94R2VvbWV0cnkpCi0gICAgewotICAgICAgICBpZiAoaW5saW5lTGV2ZWxC
b3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSB7Ci0gICAgICAgICAgICAvLyBCYXNlbGluZSBh
bGlnbmVkLCBub24tc3RyZXRjaHkgZGlyZWN0IGNoaWxkcmVuIGFyZSBjb25zaWRlcmVkIHRvIGJl
IHNpbXBsZSBmb3Igbm93LgotICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2
ZWxCb3gubGF5b3V0Qm94KCk7Ci0gICAgICAgICAgICBhdXRvIGlzQ29uc2lkZXJlZFNpbXBsZSA9
ICZsYXlvdXRCb3gucGFyZW50KCkgPT0gJm1fcm9vdElubGluZUJveC5sYXlvdXRCb3goKQotICAg
ICAgICAgICAgICAgICYmIGxheW91dEJveC5zdHlsZSgpLnZlcnRpY2FsQWxpZ24oKSA9PSBWZXJ0
aWNhbEFsaWduOjpCYXNlbGluZQotICAgICAgICAgICAgICAgICYmICFpbmxpbmVMZXZlbEJveEdl
b21ldHJ5Lm1hcmdpbkJlZm9yZSgpCi0gICAgICAgICAgICAgICAgJiYgIWlubGluZUxldmVsQm94
R2VvbWV0cnkubWFyZ2luQWZ0ZXIoKQotICAgICAgICAgICAgICAgICYmIGlubGluZUxldmVsQm94
R2VvbWV0cnkubWFyZ2luQm94SGVpZ2h0KCkgPD0gbV9yb290SW5saW5lQm94LmJhc2VsaW5lKCk7
Ci0gICAgICAgICAgICBpZiAoIWlzQ29uc2lkZXJlZFNpbXBsZSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAvLyBPbmx5IGJhc2VsaW5lIGFsaWdubWVudCBmb3Ig
bm93LgotICAgICAgICAgICAgaW5saW5lTGV2ZWxCb3guc2V0TG9naWNhbFRvcChtX3Jvb3RJbmxp
bmVCb3guYmFzZWxpbmUoKSAtIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCkpOwotICAgICAgICAg
ICAgYWRqdXN0KGlubGluZUxldmVsQm94KTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICB9Ci0gICAgICAgIEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci1wcml2YXRlOgotICAgIHZvaWQgYWRqdXN0KGNvbnN0IExpbmVC
b3g6OklubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCkKLSAgICB7Ci0gICAgICAgIGF1dG8g
bGF5b3V0Qm91bmRzTG9naWNhbFRvcCA9IG1fcm9vdElubGluZUJveC5sYXlvdXRCb3VuZHMoKS5h
c2NlbnQgLSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQ7Ci0gICAgICAgIG1f
bGluZUJveExvZ2ljYWxUb3AgPSBzdGQ6Om1pbihtX2xpbmVCb3hMb2dpY2FsVG9wLCBsYXlvdXRC
b3VuZHNMb2dpY2FsVG9wKTsKLSAgICAgICAgbV9saW5lQm94TG9naWNhbEJvdHRvbSA9IHN0ZDo6
bWF4KG1fbGluZUJveExvZ2ljYWxCb3R0b20sIGxheW91dEJvdW5kc0xvZ2ljYWxUb3AgKyBpbmxp
bmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5oZWlnaHQoKSk7Ci0gICAgICAgIG1fcm9vdElubGlu
ZUJveExvZ2ljYWxUb3AgPSBzdGQ6Om1heChtX3Jvb3RJbmxpbmVCb3hMb2dpY2FsVG9wLCBpbmxp
bmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5hc2NlbnQgLSBtX3Jvb3RJbmxpbmVCb3guYmFzZWxp
bmUoKSk7Ci0gICAgfQotCi0gICAgY29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gmIG1fcm9v
dElubGluZUJveDsKLQotICAgIElubGluZUxheW91dFVuaXQgbV9saW5lQm94TG9naWNhbFRvcCB7
IDAgfTsKLSAgICBJbmxpbmVMYXlvdXRVbml0IG1fbGluZUJveExvZ2ljYWxCb3R0b20geyAwIH07
Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBtX3Jvb3RJbmxpbmVCb3hMb2dpY2FsVG9wIHsgMCB9Owot
fTsKLQotdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW5MaXN0JiBydW5zKQordm9pZCBMaW5lQm94QnVp
bGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gs
IGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMpCiB7CiAgICAgYXV0byYgcm9vdElubGluZUJveCA9
IGxpbmVCb3gucm9vdElubGluZUJveCgpOwogICAgIHNldFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxp
bmVCb3gocm9vdElubGluZUJveCk7CisKICAgICBhdXRvIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdu
bWVudCA9IFNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCB7IHJvb3RJbmxpbmVCb3ggfTsKKyAg
ICAvLyBGSVhNRTogQWRkIGZhc3QgcGF0aCBzdXBwb3J0IGZvciBsaW5lLWhlaWdodCBjb250ZW50
LgorICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5zZXRFbmFibGVkKGxheW91dFN0YXRl
KCkuaW5TdGFuZGFyZHNNb2RlKCkgJiYgcm9vdEJveCgpLnN0eWxlKCkubGluZUhlaWdodCgpLmlz
TmVnYXRpdmUoKSk7CiAKICAgICBhdXRvIGNyZWF0ZVdyYXBwZWRJbmxpbmVCb3hlcyA9IFsmXSB7
CiAgICAgICAgIGlmIChydW5zLmlzRW1wdHkoKSkKQEAgLTMwOSw2ICsyODMsMTYgQEAgdm9pZCBM
aW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94
LCBjb25zdCBMaW5lOjpSdW4KICAgICAgICAgfTsKICAgICAgICAgbGluZUhhc0NvbnRlbnQgPSBs
aW5lSGFzQ29udGVudCB8fCBydW5IYXNDb250ZW50KCk7CiAKKyAgICAgICAgYXV0byBzaW1wbGlm
aWVkQWxpZ25WZXJ0aWNhbGx5SWZBcHBsaWNhYmxlID0gWyZdKGF1dG8mIGlubGluZUxldmVsQm94
LCBjb25zdCBhdXRvJiBib3hHZW9tZXRyeSkgeworICAgICAgICAgICAgaWYgKCFzaW1wbGlmaWVk
VmVydGljYWxBbGlnbm1lbnQuaXNFbmFibGVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgaWYgKCFTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQ6OmNhblVzZVNpbXBs
aWZpZWRBbGlnbm1lbnQocm9vdElubGluZUJveCwgaW5saW5lTGV2ZWxCb3gsIGJveEdlb21ldHJ5
KSkgeworICAgICAgICAgICAgICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5zZXRFbmFi
bGVkKGZhbHNlKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBzaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQuYWxpZ24oaW5saW5lTGV2ZWxCb3gp
OworICAgICAgICB9OworCiAgICAgICAgIGF1dG8gbG9naWNhbExlZnQgPSByb290SW5saW5lQm94
LmxvZ2ljYWxMZWZ0KCkgKyBydW4ubG9naWNhbExlZnQoKTsKICAgICAgICAgaWYgKHJ1bi5pc0Jv
eCgpKSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVMZXZlbEJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwpAQCAtMzM4LDE3ICszMjIs
MTQgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW4KICAgICAgICAgICAgIGF1dG8gYXRvbWljSW5s
aW5lTGV2ZWxCb3ggPSBMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5l
TGV2ZWxCb3gobGF5b3V0Qm94LCBsb2dpY2FsTGVmdCwgeyBpbmxpbmVMZXZlbEJveEdlb21ldHJ5
LmJvcmRlckJveFdpZHRoKCksIG1hcmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIGF0b21p
Y0lubGluZUxldmVsQm94LT5zZXRCYXNlbGluZShhc2NlbnQpOwogICAgICAgICAgICAgYXRvbWlj
SW5saW5lTGV2ZWxCb3gtPnNldExheW91dEJvdW5kcyhMaW5lQm94OjpJbmxpbmVMZXZlbEJveDo6
TGF5b3V0Qm91bmRzIHsgYXNjZW50LCBtYXJnaW5Cb3hIZWlnaHQgLSBhc2NlbnQgfSk7Ci0gICAg
ICAgICAgICBpZiAobV91c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQpIHsKLSAgICAgICAg
ICAgICAgICAvLyBMZXQncyBwcmUtY29tcHV0ZSB0aGUgbG9naWNhbCB0b3Agc28gdGhhdCB3ZSBj
YW4gYXZvaWQgcnVubmluZyB0aGUgYWxpZ25tZW50IG9uIHNpbXBsZSBpbmxpbmUgbGV2ZWwgYm94
ZXMuCi0gICAgICAgICAgICAgICAgbV91c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSBz
aW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQuYWxpZ25JbmxpbmVMZXZlbEJveElmQXBwbGljYWJs
ZSgqYXRvbWljSW5saW5lTGV2ZWxCb3gsIGlubGluZUxldmVsQm94R2VvbWV0cnkpOwotICAgICAg
ICAgICAgfQorICAgICAgICAgICAgc2ltcGxpZmllZEFsaWduVmVydGljYWxseUlmQXBwbGljYWJs
ZSgqYXRvbWljSW5saW5lTGV2ZWxCb3gsIGlubGluZUxldmVsQm94R2VvbWV0cnkpOwogICAgICAg
ICAgICAgbGluZUJveC5hZGRJbmxpbmVMZXZlbEJveChXVEZNb3ZlKGF0b21pY0lubGluZUxldmVs
Qm94KSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIHNpbXBsZSBpbmxpbmUgYm94ZXMgdG9vLgogICAgICAgICAvLyBX
ZSBjYW4gZG8gc2ltcGxpZmllZCB2ZXJ0aWNhbCBhbGlnbm1lbnQgd2l0aCBub24tYXRvbWljIGlu
bGluZSBib3hlcyBhcyBsb25nIGFzIHRoZSBsaW5lIGhhcyBubyBjb250ZW50LgogICAgICAgICAv
LyBlLmcuIDxkaXY+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj4gaXMgc3RpbGwgb2th
eS4KLSAgICAgICAgbV91c2VTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQgPSAhbGluZUhhc0Nv
bnRlbnQ7CisgICAgICAgIHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5zZXRFbmFibGVkKCFs
aW5lSGFzQ29udGVudCk7CiAgICAgICAgIGlmIChydW4uaXNJbmxpbmVCb3hTdGFydCgpKSB7CiAg
ICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cgeWV0IGhvdyB3aWRlIHRo
aXMgaW5saW5lIGJveCBpcy4gTGV0J3MgYXNzdW1lIGl0J3MgYXMgbG9uZyBhcyB0aGUgbGluZSBp
cwogICAgICAgICAgICAgLy8gYW5kIGFkanVzdCBpdCBsYXRlciBpZiB3ZSBjb21lIGFjcm9zcyBh
biBpbmxpbmVCb3hFbmQgcnVuIChzZWUgYmVsb3cpLgpAQCAtMzkyLDEyICszNzMsMTIgQEAgdm9p
ZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5l
Qm94LCBjb25zdCBMaW5lOjpSdW4KICAgICB9CiAKICAgICBsaW5lQm94LnNldEhhc0NvbnRlbnQo
bGluZUhhc0NvbnRlbnQpOwotICAgIC8vIFdlIHNob3VsZCBhbHdheXMgYmUgYWJsZSB0byBleGVy
Y2lzZSB0aGUgZmFzdCBwYXRoIHdoZW4gdGhlIGxpbmUgaGFzIG5vIGNvbnRlbnQgYXQgYWxsLCBl
dmVuIGluIG5vbi1zdGFuZGFyZHMgbW9kZSBvciB3aXRoIGxpbmUtaGVpZ2h0IHNldC4KLSAgICBt
X3VzZVNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudCA9IG1fdXNlU2ltcGxpZmllZFZlcnRpY2Fs
QWxpZ25tZW50IHx8ICFsaW5lSGFzQ29udGVudDsKLSAgICBpZiAobV91c2VTaW1wbGlmaWVkVmVy
dGljYWxBbGlnbm1lbnQpIHsKKyAgICBpZiAoc2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50Lmlz
RW5hYmxlZCgpIHx8ICFsaW5lSGFzQ29udGVudCkgeworICAgICAgICAvLyBXZSBzaG91bGQgYWx3
YXlzIGJlIGFibGUgdG8gZXhlcmNpc2UgdGhlIGZhc3QgcGF0aCB3aGVuIHRoZSBsaW5lIGhhcyBu
byBjb250ZW50IGF0IGFsbCwgZXZlbiBpbiBub24tc3RhbmRhcmRzIG1vZGUgb3Igd2l0aCBsaW5l
LWhlaWdodCBzZXQuCiAgICAgICAgIHJvb3RJbmxpbmVCb3guc2V0TG9naWNhbFRvcChsaW5lSGFz
Q29udGVudCA/IHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudC5yb290SW5saW5lQm94TG9naWNh
bFRvcCgpIDogLXJvb3RJbmxpbmVCb3guYmFzZWxpbmUoKSk7CiAgICAgICAgIGxpbmVCb3guc2V0
TG9naWNhbEhlaWdodChsaW5lSGFzQ29udGVudCA/IHNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVu
dC5saW5lQm94SGVpZ2h0KCkgOiBJbmxpbmVMYXlvdXRVbml0KCkpOwotICAgIH0KKyAgICB9IGVs
c2UKKyAgICAgICAgY29tcHV0ZUxpbmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNW
ZXJ0aWNhbGx5KGxpbmVCb3gpOwogfQogCiB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb21wdXRlTGlu
ZUJveEhlaWdodEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlc1ZlcnRpY2FsbHkoTGluZUJveCYgbGlu
ZUJveCkKQEAgLTYzNSw2ICs2MTYsNDUgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29tcHV0ZUxp
bmVCb3hIZWlnaHRBbmRBbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KExpbmUKICAgICBh
bGlnbklubGluZUxldmVsQm94ZXMoKTsKIH0KIAorTGluZUJveEJ1aWxkZXI6OlNpbXBsaWZpZWRW
ZXJ0aWNhbEFsaWdubWVudDo6U2ltcGxpZmllZFZlcnRpY2FsQWxpZ25tZW50KGNvbnN0IExpbmVC
b3g6OklubGluZUxldmVsQm94JiByb290SW5saW5lQm94KQorICAgIDogbV9yb290SW5saW5lQm94
KHJvb3RJbmxpbmVCb3gpCit7CisgICAgYWRqdXN0KHJvb3RJbmxpbmVCb3gpOworfQorCitib29s
IExpbmVCb3hCdWlsZGVyOjpTaW1wbGlmaWVkVmVydGljYWxBbGlnbm1lbnQ6OmNhblVzZVNpbXBs
aWZpZWRBbGlnbm1lbnQoY29uc3QgTGluZUJveDo6SW5saW5lTGV2ZWxCb3gmIHJvb3RJbmxpbmVC
b3gsIGNvbnN0IExpbmVCb3g6OklubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCwgY29uc3Qg
Qm94R2VvbWV0cnkmIGlubGluZUxldmVsQm94R2VvbWV0cnkpCit7CisgICAgaWYgKGlubGluZUxl
dmVsQm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgeworICAgICAgICAvLyBCYXNlbGluZSBh
bGlnbmVkLCBub24tc3RyZXRjaHkgZGlyZWN0IGNoaWxkcmVuIGFyZSBjb25zaWRlcmVkIHRvIGJl
IHNpbXBsZSBmb3Igbm93LgorICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBpbmxpbmVMZXZlbEJv
eC5sYXlvdXRCb3goKTsKKyAgICAgICAgcmV0dXJuICZsYXlvdXRCb3gucGFyZW50KCkgPT0gJnJv
b3RJbmxpbmVCb3gubGF5b3V0Qm94KCkKKyAgICAgICAgICAgICYmIGxheW91dEJveC5zdHlsZSgp
LnZlcnRpY2FsQWxpZ24oKSA9PSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZQorICAgICAgICAgICAg
JiYgIWlubGluZUxldmVsQm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkKKyAgICAgICAgICAgICYm
ICFpbmxpbmVMZXZlbEJveEdlb21ldHJ5Lm1hcmdpbkFmdGVyKCkKKyAgICAgICAgICAgICYmIGlu
bGluZUxldmVsQm94R2VvbWV0cnkubWFyZ2luQm94SGVpZ2h0KCkgPD0gcm9vdElubGluZUJveC5i
YXNlbGluZSgpOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgTGluZUJveEJ1
aWxkZXI6OlNpbXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWxpZ24oTGluZUJveDo6SW5saW5l
TGV2ZWxCb3gmIGlubGluZUxldmVsQm94KQoreworICAgIGlmIChpbmxpbmVMZXZlbEJveC5pc0F0
b21pY0lubGluZUxldmVsQm94KCkpIHsKKyAgICAgICAgLy8gT25seSBiYXNlbGluZSBhbGlnbm1l
bnQgZm9yIG5vdy4KKyAgICAgICAgaW5saW5lTGV2ZWxCb3guc2V0TG9naWNhbFRvcChtX3Jvb3RJ
bmxpbmVCb3guYmFzZWxpbmUoKSAtIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCkpOworICAgICAg
ICBhZGp1c3QoaW5saW5lTGV2ZWxCb3gpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIEFT
U0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7Cit9CisKK3ZvaWQgTGluZUJveEJ1aWxkZXI6OlNp
bXBsaWZpZWRWZXJ0aWNhbEFsaWdubWVudDo6YWRqdXN0KGNvbnN0IExpbmVCb3g6OklubGluZUxl
dmVsQm94JiBpbmxpbmVMZXZlbEJveCkKK3sKKyAgICBhdXRvIGxheW91dEJvdW5kc0xvZ2ljYWxU
b3AgPSBtX3Jvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50IC0gaW5saW5lTGV2ZWxC
b3gubGF5b3V0Qm91bmRzKCkuYXNjZW50OworICAgIG1fbGluZUJveExvZ2ljYWxUb3AgPSBzdGQ6
Om1pbihtX2xpbmVCb3hMb2dpY2FsVG9wLCBsYXlvdXRCb3VuZHNMb2dpY2FsVG9wKTsKKyAgICBt
X2xpbmVCb3hMb2dpY2FsQm90dG9tID0gc3RkOjptYXgobV9saW5lQm94TG9naWNhbEJvdHRvbSwg
bGF5b3V0Qm91bmRzTG9naWNhbFRvcCArIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmhl
aWdodCgpKTsKKyAgICBtX3Jvb3RJbmxpbmVCb3hMb2dpY2FsVG9wID0gc3RkOjptYXgobV9yb290
SW5saW5lQm94TG9naWNhbFRvcCwgaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50
IC0gbV9yb290SW5saW5lQm94LmJhc2VsaW5lKCkpOworfQorCiBMaW5lQm94IElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6bGluZUJveEZvckxpbmVDb250ZW50KGNvbnN0IExpbmVC
dWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQpCiB7CiAgICAgcmV0dXJuIExpbmVCb3hC
dWlsZGVyKGZvcm1hdHRpbmdDb250ZXh0KCkpLmJ1aWxkKGxpbmVDb250ZW50KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>