<?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>217155</bug_id>
          
          <creation_ts>2020-09-30 16:51:12 -0700</creation_ts>
          <short_desc>[LFC][IFC] Remove redundant &quot;needs hyphen&quot; flag from LineContent::PartialContent</short_desc>
          <delta_ts>2020-10-01 07:42:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1693579</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-09-30 16:51:12 -0700</bug_when>
    <thetext>The last run can tell whether we need to add a hyphen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693597</commentid>
    <comment_count>1</comment_count>
      <attachid>410178</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-30 17:23:32 -0700</bug_when>
    <thetext>Created attachment 410178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693625</commentid>
    <comment_count>2</comment_count>
      <attachid>410191</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-30 19:27:46 -0700</bug_when>
    <thetext>Created attachment 410191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693743</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-01 07:41:38 -0700</bug_when>
    <thetext>Committed r267834: &lt;https://trac.webkit.org/changeset/267834&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410191.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693744</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-01 07:42:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/69836520&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410178</attachid>
            <date>2020-09-30 17:23:32 -0700</date>
            <delta_ts>2020-09-30 19:41:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217155-20200930172331.patch</filename>
            <type>text/plain</type>
            <size>16518</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU3MzFkZGQ1YzAzYzk2
ZDNlYjk5NzkyZDlkYzU1ZDgyNDBmNGE2OS4uZDQ2ZTIzYzc3OTQyYzgwMjdiMjIzYTk0NTM0MDRk
NzVkZjU1YzYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA5LTMwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUg
cmVkdW5kYW50ICJuZWVkcyBoeXBoZW4iIGZsYWcgZnJvbSBMaW5lQ29udGVudDo6UGFydGlhbENv
bnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
NzE1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBsYXN0IHJ1biBhbHJlYWR5IGhhZCB0aGlzIGluZm9ybWF0aW9uLiBUaGlzIGlzIGFsc28gaW4g
cHJlcGFyYXRpb24gZm9yIGFkZGluZyBzdXBwb3J0IGZvciBzb2Z0LWh5cGhlbiB3aGVyZQorICAg
ICAgICB0aGUgcnVuIHdpdGggdGhlIGh5cGhlbiBpcyBub3QgcGFydGlhbCBhdCBhbGwuCisgICAg
ICAgIChUaGlzIHBhdGNoIGFsc28gY2hhbmdlcyBPcHRpb25hbDxzaXplX3Q+IHBhcnRpYWxDb250
ZW50TGVuZ3RoIHRvIGp1c3Qgc2l6ZV90LiBPcHRpb25hbDw+IG1heSBzdWdnZXN0IHRoYXQgMCBp
cyBhIHZhbGlkIG92ZXJmbG93IGxlbmd0aC4pCisKKyAgICAgICAgKiBkaXNwbGF5L2Nzcy9EaXNw
bGF5VGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpUZXh0Qm94OjpkZWJ1
Z0Rlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KToKKyAgICAgICAgKiBsYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OnBsYWNlSW5saW5lQ29udGVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCdWlsZGVyOjpuZXh0Q29udGVudEZvckxpbmUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aGFuZGxlRmxvYXRzQW5kSW5saW5lQ29udGVudCk6Cisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaDoKKwog
MjAyMC0wOS0zMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGp1c3Rlcjo6Y29tcHV0ZUV2ZW50TGlzdGVuZXJSZWdpb25UeXBlcygpIHNob3VsZCB1
c2UgRU5BQkxFKFdIRUVMX0VWRU5UX1JFR0lPTlMpIG5vdCBhIHBsYXRmb3JtICNpZmRlZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGQzYTY1NTU1NjUxNTg3MDc4Y2E0
OTU4N2I2YTZmZTUyNjllNWU4ZDkuLjQ3MjE4NjQ5YzcyOWU0MmZlOTQyODliZWRhYjYzOGM4NTA3
MDMyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTE0Niw3ICsx
NDYsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KElubGluZUl0
ZW1zJiBpbmxpbmVJdGVtcywgTGluZUJ1aWxkZXI6OgogICAgIGF1dG8gbGluZUxvZ2ljYWxUb3Ag
PSBjb25zdHJhaW50cy52ZXJ0aWNhbC5sb2dpY2FsVG9wOwogICAgIHN0cnVjdCBQcmV2aW91c0xp
bmUgewogICAgICAgICBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlIHJhbmdlOwotICAgICAg
ICBPcHRpb25hbDxzaXplX3Q+IG92ZXJmbG93Q29udGVudExlbmd0aDsKKyAgICAgICAgc2l6ZV90
IG92ZXJmbG93Q29udGVudExlbmd0aCB7IDAgfTsKICAgICB9OwogICAgIE9wdGlvbmFsPFByZXZp
b3VzTGluZT4gcHJldmlvdXNMaW5lOwogICAgIGF1dG8gZmxvYXRpbmdDb250ZXh0ID0gRmxvYXRp
bmdDb250ZXh0IHsgcm9vdCgpLCAqdGhpcywgZm9ybWF0dGluZ1N0YXRlKCkuZmxvYXRpbmdTdGF0
ZSgpIH07CkBAIC0xNTYsNyArMTU2LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVCdWlsZGVyOjoKICAgICB3
aGlsZSAoIW5lZWRzTGF5b3V0UmFuZ2UuaXNFbXB0eSgpKSB7CiAgICAgICAgIC8vIFR1cm4gcHJl
dmlvdXMgbGluZSdzIG92ZXJmbG93IGNvbnRlbnQgbGVuZ3RoIGludG8gdGhlIG5leHQgbGluZSdz
IGxlYWRpbmcgY29udGVudCBwYXJ0aWFsIGxlbmd0aC4KICAgICAgICAgLy8gInNwWzwtbGluZSBi
cmVhay0+XWxpdF9jb250ZW50IiAtPiBvdmVyZmxvdyBsZW5ndGg6IDExIC0+IGxlYWRpbmcgcGFy
dGlhbCBjb250ZW50IGxlbmd0aDogMTEuCi0gICAgICAgIGF1dG8gcGFydGlhbExlYWRpbmdDb250
ZW50TGVuZ3RoID0gcHJldmlvdXNMaW5lID8gcHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRlbnRM
ZW5ndGggOiBXVEY6Om51bGxvcHQ7CisgICAgICAgIGF1dG8gcGFydGlhbExlYWRpbmdDb250ZW50
TGVuZ3RoID0gcHJldmlvdXNMaW5lID8gcHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRlbnRMZW5n
dGggOiAwOwogICAgICAgICBhdXRvIGluaXRpYWxMaW5lQ29uc3RyYWludHMgPSBDb25zdHJhaW50
c0ZvckluRmxvd0NvbnRlbnQgeyBjb25zdHJhaW50cy5ob3Jpem9udGFsLCB7IGxpbmVMb2dpY2Fs
VG9wLCBtYWtlT3B0aW9uYWwodG9MYXlvdXRVbml0KHF1aXJrcygpLmluaXRpYWxMaW5lSGVpZ2h0
KCkpKSB9IH07CiAgICAgICAgIGF1dG8gbGluZUNvbnRlbnQgPSBsaW5lQnVpbGRlci5sYXlvdXRJ
bmxpbmVDb250ZW50KG5lZWRzTGF5b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0
aCwgaW5pdGlhbExpbmVDb25zdHJhaW50cywgaXNGaXJzdExpbmUpOwogICAgICAgICBhdXRvIGxp
bmVMb2dpY2FsUmVjdCA9IGNvbXB1dGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGxpbmVDb250ZW50
LCBjb25zdHJhaW50cy5ob3Jpem9udGFsKTsKQEAgLTE2NywxMiArMTY3LDExIEBAIHZvaWQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoSW5saW5lSXRlbXMmIGlubGluZUl0ZW1z
LCBMaW5lQnVpbGRlcjo6CiAgICAgICAgICAgICBpc0ZpcnN0TGluZSA9IGZhbHNlOwogICAgICAg
ICAgICAgbGluZUxvZ2ljYWxUb3AgPSBsaW5lTG9naWNhbFJlY3QuYm90dG9tKCk7CiAgICAgICAg
ICAgICAvLyBXaGVuIHRoZSB0cmFpbGluZyBjb250ZW50IGlzIHBhcnRpYWwsIHdlIG5lZWQgdG8g
cmV1c2UgdGhlIGxhc3QgSW5saW5lVGV4dEl0ZW0uCi0gICAgICAgICAgICBhdXRvIGxhc3RJbmxp
bmVJdGVtTmVlZHNQYXJ0aWFsTGF5b3V0ID0gbGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQuaGFz
VmFsdWUoKTsKKyAgICAgICAgICAgIGF1dG8gbGFzdElubGluZUl0ZW1OZWVkc1BhcnRpYWxMYXlv
dXQgPSBsaW5lQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoOwogICAgICAgICAg
ICAgaWYgKGxhc3RJbmxpbmVJdGVtTmVlZHNQYXJ0aWFsTGF5b3V0KSB7Ci0gICAgICAgICAgICAg
ICAgQVNTRVJUKGxpbmVDb250ZW50LnBhcnRpYWxDb250ZW50LT5vdmVyZmxvd0NvbnRlbnRMZW5n
dGgpOwogICAgICAgICAgICAgICAgIGF1dG8gbGluZUxheW91dEhhc0FkdmFuY2VkID0gIXByZXZp
b3VzTGluZQogICAgICAgICAgICAgICAgICAgICB8fCBsaW5lQ29udGVudFJhbmdlLmVuZCA+IHBy
ZXZpb3VzTGluZS0+cmFuZ2UuZW5kCi0gICAgICAgICAgICAgICAgICAgIHx8IChwcmV2aW91c0xp
bmUtPm92ZXJmbG93Q29udGVudExlbmd0aCAmJiAqcHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRl
bnRMZW5ndGggPiBsaW5lQ29udGVudC5wYXJ0aWFsQ29udGVudC0+b3ZlcmZsb3dDb250ZW50TGVu
Z3RoKTsKKyAgICAgICAgICAgICAgICAgICAgfHwgKHByZXZpb3VzTGluZS0+b3ZlcmZsb3dDb250
ZW50TGVuZ3RoICYmIHByZXZpb3VzTGluZS0+b3ZlcmZsb3dDb250ZW50TGVuZ3RoID4gbGluZUNv
bnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCk7CiAgICAgICAgICAgICAgICAgaWYg
KCFsaW5lTGF5b3V0SGFzQWR2YW5jZWQpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgICAgIC8vIE1vdmUgb3ZlciB0byB0aGUgbmV4
dCBydW4gaWYgd2UgYXJlIHN0dWNrIG9uIHRoaXMgcGFydGlhbCBjb250ZW50ICh3aGVuIHRoZSBv
dmVyZmxvdyBjb250ZW50IGxlbmd0aCByZW1haW5zIHRoZSBzYW1lKS4KQEAgLTE4MSw3ICsxODAs
NyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KElubGluZUl0ZW1z
JiBpbmxpbmVJdGVtcywgTGluZUJ1aWxkZXI6OgogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIG5lZWRzTGF5b3V0UmFuZ2Uuc3RhcnQgPSBsYXN0SW5saW5lSXRl
bU5lZWRzUGFydGlhbExheW91dCA/IGxpbmVDb250ZW50UmFuZ2UuZW5kIC0gMSA6IGxpbmVDb250
ZW50UmFuZ2UuZW5kOwotICAgICAgICAgICAgcHJldmlvdXNMaW5lID0gUHJldmlvdXNMaW5lIHsg
bGluZUNvbnRlbnRSYW5nZSwgbGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQgPyBtYWtlT3B0aW9u
YWwobGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQtPm92ZXJmbG93Q29udGVudExlbmd0aCkgOiBX
VEY6Om51bGxvcHQgfTsKKyAgICAgICAgICAgIHByZXZpb3VzTGluZSA9IFByZXZpb3VzTGluZSB7
IGxpbmVDb250ZW50UmFuZ2UsIGxpbmVDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5n
dGggfTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIC8vIEZsb2F0
cyBwcmV2ZW50ZWQgdXMgcGxhY2luZyBhbnkgY29udGVudCBvbiB0aGUgbGluZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxp
bmVCdWlsZGVyLmNwcAppbmRleCAwNWVkZTZkZjBkNDY0MzMwMTNiNzExZjI0YWRjODM3NzllNGE5
YmYwLi5hYWI0MjYxMzFmYmRkNDVlODZjZTU1MDcwNDI0NTgxOTJkYzVmOTY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuY3BwCkBAIC0zMDksNyArMzA5LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVCdWls
ZGVyKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4
dCwKIHsKIH0KIAotTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJ
bmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgT3B0
aW9uYWw8c2l6ZV90PiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGNvbnN0IEZvcm1hdHRp
bmdDb250ZXh0OjpDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQmIGluaXRpYWxDb25zdHJhaW50
cywgYm9vbCBpc0ZpcnN0TGluZSkKK0xpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRl
cjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0
UmFuZ2UsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGNvbnN0IEZvcm1hdHRp
bmdDb250ZXh0OjpDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQmIGluaXRpYWxDb25zdHJhaW50
cywgYm9vbCBpc0ZpcnN0TGluZSkKIHsKICAgICBhdXRvIHVzZWRDb25zdHJhaW50cyA9IGNvbnN0
cmFpbnRzRm9yTGluZShpbml0aWFsQ29uc3RyYWludHMsIGlzRmlyc3RMaW5lKTsKICAgICBpbml0
aWFsaXplKHVzZWRDb25zdHJhaW50cyk7CkBAIC0zMTgsOCArMzE4LDggQEAgTGluZUJ1aWxkZXI6
OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGlu
ZUl0ZW1SYW5nZSYKICAgICBhdXRvIGNvbW1pdHRlZFJhbmdlID0gY2xvc2UobmVlZHNMYXlvdXRS
YW5nZSwgY29tbWl0dGVkQ29udGVudCk7CiAKICAgICBhdXRvIGxpbmVMb2dpY2FsVG9wTGVmdCA9
IElubGluZUxheW91dFBvaW50IHsgdXNlZENvbnN0cmFpbnRzLmxvZ2ljYWxMZWZ0LCBpbml0aWFs
Q29uc3RyYWludHMudmVydGljYWwubG9naWNhbFRvcCB9OwotICAgIGF1dG8gaXNMYXN0TGluZSA9
IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudChjb21taXR0ZWRSYW5nZSwgbmVlZHNMYXlvdXRS
YW5nZS5lbmQsIGNvbW1pdHRlZENvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudC5oYXNWYWx1
ZSgpKTsKLSAgICByZXR1cm4gTGluZUNvbnRlbnQgeyBjb21taXR0ZWRDb250ZW50LnBhcnRpYWxU
cmFpbGluZ0NvbnRlbnQsIGNvbW1pdHRlZFJhbmdlLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25z
dHJhaW5lZEJ5RmxvYXQKKyAgICBhdXRvIGlzTGFzdExpbmUgPSBpc0xhc3RMaW5lV2l0aElubGlu
ZUNvbnRlbnQoY29tbWl0dGVkUmFuZ2UsIG5lZWRzTGF5b3V0UmFuZ2UuZW5kLCBjb21taXR0ZWRD
b250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOworICAgIHJldHVybiBMaW5lQ29u
dGVudCB7IGNvbW1pdHRlZFJhbmdlLCBjb21taXR0ZWRDb250ZW50LnBhcnRpYWxUcmFpbGluZ0Nv
bnRlbnRMZW5ndGgsIG1fZmxvYXRzLCBtX2NvbnRlbnRJc0NvbnN0cmFpbmVkQnlGbG9hdAogICAg
ICAgICAsIGxpbmVMb2dpY2FsVG9wTGVmdAogICAgICAgICAsIG1fbGluZS5ob3Jpem9udGFsQ29u
c3RyYWludCgpCiAgICAgICAgICwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKQpAQCAtMzQ2
LDcgKzM0Niw3IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0
cmFpbnRzJiBsaW5lQ29uc3RyYWludHMpCiAgICAgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5Rmxv
YXQgPSBsaW5lQ29uc3RyYWludHMuaXNDb25zdHJhaW5lZEJ5RmxvYXQ7CiB9CiAKLUxpbmVCdWls
ZGVyOjpDb21taXR0ZWRDb250ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29u
c3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBPcHRpb25hbDxzaXplX3Q+IHBh
cnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCkKK0xpbmVCdWlsZGVyOjpDb21taXR0ZWRDb250ZW50
IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBu
ZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKQogewog
ICAgIGF1dG8gbGluZUNhbmRpZGF0ZSA9IExpbmVDYW5kaWRhdGUgeyBsYXlvdXRTdGF0ZSgpLnNo
b3VsZElnbm9yZVRyYWlsaW5nTGV0dGVyU3BhY2luZygpIH07CiAgICAgYXV0byBpbmxpbmVDb250
ZW50QnJlYWtlciA9IElubGluZUNvbnRlbnRCcmVha2VyIHsgfTsKQEAgLTM2Myw3ICszNjMsNyBA
QCBMaW5lQnVpbGRlcjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVD
b250ZW50KGNvbnN0IElubGluZUl0ZW1SYQogICAgICAgICBhdXRvIHJlc3VsdCA9IGhhbmRsZUZs
b2F0c0FuZElubGluZUNvbnRlbnQoaW5saW5lQ29udGVudEJyZWFrZXIsIG5lZWRzTGF5b3V0UmFu
Z2UsIGxpbmVDYW5kaWRhdGUpOwogICAgICAgICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgPSBy
ZXN1bHQuY29tbWl0dGVkQ291bnQuaXNSZXZlcnQgPyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFs
dWUgOiBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgKyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFs
dWU7CiAgICAgICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRlLmlubGluZUNv
bnRlbnQ7Ci0gICAgICAgIGF1dG8gaW5saW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgPSBpbmxp
bmVDb250ZW50LmNvbnRpbnVvdXNDb250ZW50KCkucnVucygpLnNpemUoKSA9PSByZXN1bHQuY29t
bWl0dGVkQ291bnQudmFsdWUgJiYgIXJlc3VsdC5wYXJ0aWFsQ29udGVudDsKKyAgICAgICAgYXV0
byBpbmxpbmVDb250ZW50SXNGdWxseUNvbW1pdHRlZCA9IGlubGluZUNvbnRlbnQuY29udGludW91
c0NvbnRlbnQoKS5ydW5zKCkuc2l6ZSgpID09IHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZSAm
JiAhcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGg7CiAgICAgICAgIGF1dG8gaXNF
bmRPZkxpbmUgPSByZXN1bHQuaXNFbmRPZkxpbmUgPT0gSW5saW5lQ29udGVudEJyZWFrZXI6Oklz
RW5kT2ZMaW5lOjpZZXM7CiAKICAgICAgICAgaWYgKGlubGluZUNvbnRlbnRJc0Z1bGx5Q29tbWl0
dGVkKSB7CkBAIC0zODEsNyArMzgxLDcgQEAgTGluZUJ1aWxkZXI6OkNvbW1pdHRlZENvbnRlbnQg
TGluZUJ1aWxkZXI6OnBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmEKICAgICAg
ICAgfQogICAgICAgICBpZiAoaXNFbmRPZkxpbmUpIHsKICAgICAgICAgICAgIC8vIFdlIGNhbid0
IHBsYWNlIGFueSBtb3JlIGl0ZW1zIG9uIHRoZSBjdXJyZW50IGxpbmUuCi0gICAgICAgICAgICBy
ZXR1cm4geyBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQsIHJlc3VsdC5wYXJ0aWFsQ29udGVudCB9
OworICAgICAgICAgICAgcmV0dXJuIHsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCByZXN1bHQu
cGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCB9OwogICAgICAgICB9CiAgICAgICAgIGN1cnJl
bnRJdGVtSW5kZXggPSBuZWVkc0xheW91dFJhbmdlLnN0YXJ0ICsgY29tbWl0dGVkSW5saW5lSXRl
bUNvdW50ICsgbV9mbG9hdHMuc2l6ZSgpOwogICAgICAgICBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRM
ZW5ndGggPSB7IH07CkBAIC0zOTcsMTMgKzM5NywyMCBAQCBMaW5lQnVpbGRlcjo6SW5saW5lSXRl
bVJhbmdlIExpbmVCdWlsZGVyOjpjbG9zZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5
bwogICAgIGF1dG8gdHJhaWxpbmdJbmxpbmVJdGVtSW5kZXggPSBuZWVkc0xheW91dFJhbmdlLnN0
YXJ0ICsgbnVtYmVyT2ZDb21taXR0ZWRJdGVtcyAtIDE7CiAgICAgYXV0byBsaW5lUmFuZ2UgPSBJ
bmxpbmVJdGVtUmFuZ2UgeyBuZWVkc0xheW91dFJhbmdlLnN0YXJ0LCB0cmFpbGluZ0lubGluZUl0
ZW1JbmRleCArIDEgfTsKICAgICBBU1NFUlQobGluZVJhbmdlLmVuZCA8PSBuZWVkc0xheW91dFJh
bmdlLmVuZCk7Ci0gICAgLy8gQWRqdXN0IGh5cGhlbmF0ZWQgbGluZSBjb3VudC4KLSAgICBtX3N1
Y2Nlc3NpdmVIeXBoZW5hdGVkTGluZUNvdW50ID0gY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJh
aWxpbmdDb250ZW50ICYmIGNvbW1pdHRlZENvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudC0+
dHJhaWxpbmdDb250ZW50SGFzSHlwaGVuID8gbV9zdWNjZXNzaXZlSHlwaGVuYXRlZExpbmVDb3Vu
dCArIDEgOiAwOworICAgIGlmICghY29tbWl0dGVkQ29udGVudC5pbmxpbmVJdGVtQ291bnQpIHsK
KyAgICAgICAgLy8gTGluZSBpcyBlbXB0eSwgd2Ugb25seSBtYW5hZ2VkIHRvIHBsYWNlIGZsb2F0
IGJveGVzLgorICAgICAgICByZXR1cm4gbGluZVJhbmdlOworICAgIH0KICAgICBtX2xpbmUucmVt
b3ZlQ29sbGFwc2libGVDb250ZW50KCk7CiAgICAgYXV0byBob3Jpem9udGFsQWxpZ25tZW50ID0g
cm9vdCgpLnN0eWxlKCkudGV4dEFsaWduKCk7Ci0gICAgYXV0byBydW5zRXhwYW5kSG9yaXpvbnRh
bGx5ID0gaG9yaXpvbnRhbEFsaWdubWVudCA9PSBUZXh0QWxpZ25Nb2RlOjpKdXN0aWZ5ICYmICFp
c0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQobGluZVJhbmdlLCBuZWVkc0xheW91dFJhbmdlLmVu
ZCwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50Lmhhc1ZhbHVlKCkpOwor
ICAgIGF1dG8gcnVuc0V4cGFuZEhvcml6b250YWxseSA9IGhvcml6b250YWxBbGlnbm1lbnQgPT0g
VGV4dEFsaWduTW9kZTo6SnVzdGlmeSAmJiAhaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KGxp
bmVSYW5nZSwgbmVlZHNMYXlvdXRSYW5nZS5lbmQsIGNvbW1pdHRlZENvbnRlbnQucGFydGlhbFRy
YWlsaW5nQ29udGVudExlbmd0aCk7CiAgICAgaWYgKHJ1bnNFeHBhbmRIb3Jpem9udGFsbHkpCiAg
ICAgICAgIG1fbGluZS5hcHBseVJ1bkV4cGFuc2lvbigpOworICAgIGlmICghbV9saW5lLmlzVmlz
dWFsbHlFbXB0eSgpKSB7CisgICAgICAgIEFTU0VSVCghbV9saW5lLnJ1bnMoKS5pc0VtcHR5KCkp
OworICAgICAgICBpZiAoYXV0byB0ZXh0Q29udGVudCA9IG1fbGluZS5ydW5zKCkubGFzdCgpLnRl
eHRDb250ZW50KCk7IHRleHRDb250ZW50ICYmIHRleHRDb250ZW50LT5uZWVkc0h5cGhlbigpKQor
ICAgICAgICAgICAgKyttX3N1Y2Nlc3NpdmVIeXBoZW5hdGVkTGluZUNvdW50OworICAgIH0KICAg
ICByZXR1cm4gbGluZVJhbmdlOwogfQogCkBAIC00ODEsNyArNDg4LDcgQEAgTGluZUJ1aWxkZXI6
OlVzZWRDb25zdHJhaW50cyBMaW5lQnVpbGRlcjo6Y29uc3RyYWludHNGb3JMaW5lKGNvbnN0IEZv
cm1hdHRpbmdDb24KICAgICByZXR1cm4gVXNlZENvbnN0cmFpbnRzIHsgbGluZUxvZ2ljYWxMZWZ0
LCBsaW5lTG9naWNhbFJpZ2h0IC0gbGluZUxvZ2ljYWxMZWZ0LCBsaW5lSXNDb25zdHJhaW5lZEJ5
RmxvYXQgfTsKIH0KIAotdm9pZCBMaW5lQnVpbGRlcjo6bmV4dENvbnRlbnRGb3JMaW5lKExpbmVD
YW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjdXJyZW50SW5saW5lSXRlbUluZGV4LCBj
b25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBPcHRpb25hbDxzaXplX3Q+IHBhcnRp
YWxMZWFkaW5nQ29udGVudExlbmd0aCwgSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVMaW5lV2lk
dGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCkKK3ZvaWQgTGluZUJ1aWxk
ZXI6Om5leHRDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzaXpl
X3QgY3VycmVudElubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRS
YW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgSW5saW5lTGF5b3V0VW5p
dCBhdmFpbGFibGVMaW5lV2lkdGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdo
dCkKIHsKICAgICBBU1NFUlQoY3VycmVudElubGluZUl0ZW1JbmRleCA8IGxheW91dFJhbmdlLmVu
ZCk7CiAgICAgbGluZUNhbmRpZGF0ZS5yZXNldChjdXJyZW50TG9naWNhbFJpZ2h0KTsKQEAgLTQ5
NSw3ICs1MDIsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjpuZXh0Q29udGVudEZvckxpbmUoTGluZUNh
bmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc2l6ZV90IGN1cnJlbgogICAgIGlmIChwYXJ0aWFsTGVh
ZGluZ0NvbnRlbnRMZW5ndGgpIHsKICAgICAgICAgLy8gSGFuZGxlIGxlYWRpbmcgcGFydGlhbCBj
b250ZW50IGZpcnN0IChvdmVyZmxvd2luZyB0ZXh0IGZyb20gdGhlIHByZXZpb3VzIGxpbmUpLgog
ICAgICAgICAvLyBDb25zdHJ1Y3QgYSBwYXJ0aWFsIGxlYWRpbmcgaW5saW5lIGl0ZW0uCi0gICAg
ICAgIG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSA9IGRvd25jYXN0PElubGluZVRleHRJdGVtPiht
X2lubGluZUl0ZW1zW2N1cnJlbnRJbmxpbmVJdGVtSW5kZXhdKS5yaWdodCgqcGFydGlhbExlYWRp
bmdDb250ZW50TGVuZ3RoKTsKKyAgICAgICAgbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtID0gZG93
bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KG1faW5saW5lSXRlbXNbY3VycmVudElubGluZUl0ZW1JbmRl
eF0pLnJpZ2h0KHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7CiAgICAgICAgIGF1dG8gaXRl
bVdpZHRoID0gaW5saW5lSXRlbVdpZHRoKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIGN1cnJl
bnRMb2dpY2FsUmlnaHQpOwogICAgICAgICBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQuYXBw
ZW5kSW5saW5lSXRlbSgqbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtLCBpdGVtV2lkdGgpOwogICAg
ICAgICBjdXJyZW50TG9naWNhbFJpZ2h0ICs9IGl0ZW1XaWR0aDsKQEAgLTYyMyw3ICs2MzAsNyBA
QCBMaW5lQnVpbGRlcjo6UmVzdWx0IExpbmVCdWlsZGVyOjpoYW5kbGVGbG9hdHNBbmRJbmxpbmVD
b250ZW50KElubGluZUNvbnRlbnRCcmVhawogICAgICAgICBhdXRvJiB0cmFpbGluZ0lubGluZVRl
eHRJdGVtID0gZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KGNhbmRpZGF0ZVJ1bnNbdHJhaWxpbmdS
dW5JbmRleF0uaW5saW5lSXRlbSk7CiAgICAgICAgIEFTU0VSVChwYXJ0aWFsUnVuLmxlbmd0aCA8
IHRyYWlsaW5nSW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkpOwogICAgICAgICBhdXRvIG92ZXJmbG93
TGVuZ3RoID0gdHJhaWxpbmdJbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSAtIHBhcnRpYWxSdW4ubGVu
Z3RoOwotICAgICAgICByZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6
OlllcywgeyBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQsIGZhbHNlIH0sIExpbmVDb250ZW50OjpQ
YXJ0aWFsQ29udGVudCB7IHBhcnRpYWxSdW4ubmVlZHNIeXBoZW4sIG92ZXJmbG93TGVuZ3RoIH0g
fTsKKyAgICAgICAgcmV0dXJuIHsgSW5saW5lQ29udGVudEJyZWFrZXI6OklzRW5kT2ZMaW5lOjpZ
ZXMsIHsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCBmYWxzZSB9LCBvdmVyZmxvd0xlbmd0aCB9
OwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4geyBJbmxpbmVD
b250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6Ok5vIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRl
eCBjZjVlZTA1MDMwMGY4ZGM4MmQ3OGFkNjk1YWJkZTIxMTdhMTM2ZWVhLi5kN2IxYmE3NTgzMzU3
OWEzZmI0OWEyMjhmOWNmMDA0ODViMmI3Y2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKQEAgLTQ4
LDEyICs0OCw4IEBAIHB1YmxpYzoKICAgICAgICAgc2l6ZV90IGVuZCB7IDAgfTsKICAgICB9Owog
ICAgIHN0cnVjdCBMaW5lQ29udGVudCB7Ci0gICAgICAgIHN0cnVjdCBQYXJ0aWFsQ29udGVudCB7
Ci0gICAgICAgICAgICBib29sIHRyYWlsaW5nQ29udGVudEhhc0h5cGhlbiB7IGZhbHNlIH07Ci0g
ICAgICAgICAgICBzaXplX3Qgb3ZlcmZsb3dDb250ZW50TGVuZ3RoIHsgMCB9OwotICAgICAgICB9
OwotICAgICAgICBPcHRpb25hbDxQYXJ0aWFsQ29udGVudD4gcGFydGlhbENvbnRlbnQ7CiAgICAg
ICAgIElubGluZUl0ZW1SYW5nZSBpbmxpbmVJdGVtUmFuZ2U7CisgICAgICAgIHNpemVfdCBwYXJ0
aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoIHsgMCB9OwogICAgICAgICBzdHJ1Y3QgRmxvYXQgewog
ICAgICAgICAgICAgYm9vbCBpc0ludHJ1c2l2ZSB7IHRydWUgfTsKICAgICAgICAgICAgIGNvbnN0
IElubGluZUl0ZW0qIGl0ZW0geyBudWxscHRyIH07CkBAIC02OCw3ICs2NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgYm9vbCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQgeyB0cnVlIH07CiAgICAg
ICAgIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnM7CiAgICAgfTsKLSAgICBMaW5lQ29udGVudCBs
YXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIE9wdGlvbmFsPHNpemVf
dD4gcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25zdCBGb3JtYXR0aW5nQ29udGV4dDo6
Q29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50JiBpbml0aWFsTGluZUNvbnN0cmFpbnRzLCBib29s
IGlzRmlyc3RMaW5lKTsKKyAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0
IElubGluZUl0ZW1SYW5nZSYsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGNv
bnN0IEZvcm1hdHRpbmdDb250ZXh0OjpDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQmIGluaXRp
YWxMaW5lQ29uc3RyYWludHMsIGJvb2wgaXNGaXJzdExpbmUpOwogCiAgICAgc3RydWN0IEludHJp
bnNpY0NvbnRlbnQgewogICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgaW5saW5lSXRlbVJhbmdlOwpA
QCAtNzcsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgSW50cmluc2ljQ29udGVudCBjb21wdXRlZElu
dHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIElubGluZUxheW91dFVuaXQgYXZh
aWxhYmxlV2lkdGgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgbmV4dENvbnRlbnRGb3JMaW5lKExp
bmVDYW5kaWRhdGUmLCBzaXplX3QgaW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFu
Z2UmIG5lZWRzTGF5b3V0UmFuZ2UsIE9wdGlvbmFsPHNpemVfdD4gb3ZlcmZsb3dMZW5ndGgsIElu
bGluZUxheW91dFVuaXQgYXZhaWxhYmxlTGluZVdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJl
bnRMb2dpY2FsUmlnaHQpOworICAgIHZvaWQgbmV4dENvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRh
dGUmLCBzaXplX3QgaW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRz
TGF5b3V0UmFuZ2UsIHNpemVfdCBvdmVyZmxvd0xlbmd0aCwgSW5saW5lTGF5b3V0VW5pdCBhdmFp
bGFibGVMaW5lV2lkdGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCk7CiAg
ICAgc3RydWN0IFJlc3VsdCB7CiAgICAgICAgIElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9m
TGluZSBpc0VuZE9mTGluZSB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6Tm8g
fTsKICAgICAgICAgc3RydWN0IENvbW1pdHRlZENvbnRlbnRDb3VudCB7CkBAIC04NSw3ICs4MSw3
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBib29sIGlzUmV2ZXJ0IHsgZmFsc2UgfTsKICAgICAg
ICAgfTsKICAgICAgICAgQ29tbWl0dGVkQ29udGVudENvdW50IGNvbW1pdHRlZENvdW50IHsgfTsK
LSAgICAgICAgT3B0aW9uYWwgPExpbmVDb250ZW50OjpQYXJ0aWFsQ29udGVudD4gcGFydGlhbENv
bnRlbnQgeyB9OworICAgICAgICBzaXplX3QgcGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCB7
IDAgfTsKICAgICB9OwogICAgIGVudW0gY2xhc3MgQ29tbWl0SW50cnVzaXZlRmxvYXRzT25seSB7
IE5vLCBZZXMgfTsKICAgICBzdHJ1Y3QgVXNlZENvbnN0cmFpbnRzIHsKQEAgLTEwMSw5ICs5Nyw5
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50cyYp
OwogICAgIHN0cnVjdCBDb21taXR0ZWRDb250ZW50IHsKICAgICAgICAgc2l6ZV90IGlubGluZUl0
ZW1Db3VudCB7IDAgfTsKLSAgICAgICAgT3B0aW9uYWwgPExpbmVDb250ZW50OjpQYXJ0aWFsQ29u
dGVudD4gcGFydGlhbFRyYWlsaW5nQ29udGVudDsKKyAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFp
bGluZ0NvbnRlbnRMZW5ndGggeyAwIH07CiAgICAgfTsKLSAgICBDb21taXR0ZWRDb250ZW50IHBs
YWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBPcHRpb25hbDxzaXplX3Q+
IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7CisgICAgQ29tbWl0dGVkQ29udGVudCBwbGFj
ZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFk
aW5nQ29udGVudExlbmd0aCk7CiAgICAgSW5saW5lSXRlbVJhbmdlIGNsb3NlKGNvbnN0IElubGlu
ZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgY29uc3QgQ29tbWl0dGVkQ29udGVudCYpOwog
CiAgICAgSW5saW5lTGF5b3V0VW5pdCBpbmxpbmVJdGVtV2lkdGgoY29uc3QgSW5saW5lSXRlbSYs
IElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0KSBjb25zdDsK
</data>
<flag name="commit-queue"
          id="426063"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410191</attachid>
            <date>2020-09-30 19:27:46 -0700</date>
            <delta_ts>2020-10-01 07:41:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217155-20200930192745.patch</filename>
            <type>text/plain</type>
            <size>16696</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFmY2MwNmQ2ZDU5ZDEz
NGE2ZGNiODc5MTBlOTRhNGExNzJjNDFmNS4uNDMyZmJhZjc5YzdlYWMxNTQ4ZGU0OTE3M2RiYzY0
NWE3YzgwODk2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA5LTMwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUg
cmVkdW5kYW50ICJuZWVkcyBoeXBoZW4iIGZsYWcgZnJvbSBMaW5lQ29udGVudDo6UGFydGlhbENv
bnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
NzE1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBsYXN0IHJ1biBhbHJlYWR5IGhhZCB0aGlzIGluZm9ybWF0aW9uLiBUaGlzIGlzIGFsc28gaW4g
cHJlcGFyYXRpb24gZm9yIGFkZGluZyBzdXBwb3J0IGZvciBzb2Z0LWh5cGhlbiB3aGVyZQorICAg
ICAgICB0aGUgcnVuIHdpdGggdGhlIGh5cGhlbiBpcyBub3QgcGFydGlhbCBhdCBhbGwuCisgICAg
ICAgIChUaGlzIHBhdGNoIGFsc28gY2hhbmdlcyBPcHRpb25hbDxzaXplX3Q+IHBhcnRpYWxDb250
ZW50TGVuZ3RoIHRvIGp1c3Qgc2l6ZV90LiBPcHRpb25hbDw+IG1heSBzdWdnZXN0IHRoYXQgMCBp
cyBhIHZhbGlkIG92ZXJmbG93IGxlbmd0aC4pCisKKyAgICAgICAgKiBkaXNwbGF5L2Nzcy9EaXNw
bGF5VGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpUZXh0Qm94OjpkZWJ1
Z0Rlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KToKKyAgICAgICAgKiBsYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OnBsYWNlSW5saW5lQ29udGVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCdWlsZGVyOjpuZXh0Q29udGVudEZvckxpbmUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aGFuZGxlRmxvYXRzQW5kSW5saW5lQ29udGVudCk6Cisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaDoKKwog
MjAyMC0wOS0zMCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmUt
YWxpZ24gRG9jdW1lbnRBbmRFbGVtZW50RXZlbnRIYW5kbGVycy5pZGwsIEdsb2JhbEV2ZW50SGFu
ZGxlcnMuaWRsIGFuZCBXaW5kb3dFdmVudEhhbmRsZXJzLmlkbCB3aXRoIHRoZSBIVE1MIHNwZWMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCBkM2E2NTU1NTY1MTU4NzA3
OGNhNDk1ODdiNmE2ZmU1MjY5ZTVlOGQ5Li40NzIxODY0OWM3MjllNDJmZTk0Mjg5YmVkYWI2Mzhj
ODUwNzAzMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNDYs
NyArMTQ2LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxp
bmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVCdWlsZGVyOjoKICAgICBhdXRvIGxpbmVMb2dpY2Fs
VG9wID0gY29uc3RyYWludHMudmVydGljYWwubG9naWNhbFRvcDsKICAgICBzdHJ1Y3QgUHJldmlv
dXNMaW5lIHsKICAgICAgICAgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSByYW5nZTsKLSAg
ICAgICAgT3B0aW9uYWw8c2l6ZV90PiBvdmVyZmxvd0NvbnRlbnRMZW5ndGg7CisgICAgICAgIHNp
emVfdCBvdmVyZmxvd0NvbnRlbnRMZW5ndGggeyAwIH07CiAgICAgfTsKICAgICBPcHRpb25hbDxQ
cmV2aW91c0xpbmU+IHByZXZpb3VzTGluZTsKICAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZs
b2F0aW5nQ29udGV4dCB7IHJvb3QoKSwgKnRoaXMsIGZvcm1hdHRpbmdTdGF0ZSgpLmZsb2F0aW5n
U3RhdGUoKSB9OwpAQCAtMTU2LDcgKzE1Niw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ6OmxpbmVMYXlvdXQoSW5saW5lSXRlbXMmIGlubGluZUl0ZW1zLCBMaW5lQnVpbGRlcjo6CiAg
ICAgd2hpbGUgKCFuZWVkc0xheW91dFJhbmdlLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBUdXJu
IHByZXZpb3VzIGxpbmUncyBvdmVyZmxvdyBjb250ZW50IGxlbmd0aCBpbnRvIHRoZSBuZXh0IGxp
bmUncyBsZWFkaW5nIGNvbnRlbnQgcGFydGlhbCBsZW5ndGguCiAgICAgICAgIC8vICJzcFs8LWxp
bmUgYnJlYWstPl1saXRfY29udGVudCIgLT4gb3ZlcmZsb3cgbGVuZ3RoOiAxMSAtPiBsZWFkaW5n
IHBhcnRpYWwgY29udGVudCBsZW5ndGg6IDExLgotICAgICAgICBhdXRvIHBhcnRpYWxMZWFkaW5n
Q29udGVudExlbmd0aCA9IHByZXZpb3VzTGluZSA/IHByZXZpb3VzTGluZS0+b3ZlcmZsb3dDb250
ZW50TGVuZ3RoIDogV1RGOjpudWxsb3B0OworICAgICAgICBhdXRvIHBhcnRpYWxMZWFkaW5nQ29u
dGVudExlbmd0aCA9IHByZXZpb3VzTGluZSA/IHByZXZpb3VzTGluZS0+b3ZlcmZsb3dDb250ZW50
TGVuZ3RoIDogMDsKICAgICAgICAgYXV0byBpbml0aWFsTGluZUNvbnN0cmFpbnRzID0gQ29uc3Ry
YWludHNGb3JJbkZsb3dDb250ZW50IHsgY29uc3RyYWludHMuaG9yaXpvbnRhbCwgeyBsaW5lTG9n
aWNhbFRvcCwgbWFrZU9wdGlvbmFsKHRvTGF5b3V0VW5pdChxdWlya3MoKS5pbml0aWFsTGluZUhl
aWdodCgpKSkgfSB9OwogICAgICAgICBhdXRvIGxpbmVDb250ZW50ID0gbGluZUJ1aWxkZXIubGF5
b3V0SW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRM
ZW5ndGgsIGluaXRpYWxMaW5lQ29uc3RyYWludHMsIGlzRmlyc3RMaW5lKTsKICAgICAgICAgYXV0
byBsaW5lTG9naWNhbFJlY3QgPSBjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChsaW5lQ29u
dGVudCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCk7CkBAIC0xNjcsMTIgKzE2NywxMSBAQCB2b2lk
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KElubGluZUl0ZW1zJiBpbmxpbmVJ
dGVtcywgTGluZUJ1aWxkZXI6OgogICAgICAgICAgICAgaXNGaXJzdExpbmUgPSBmYWxzZTsKICAg
ICAgICAgICAgIGxpbmVMb2dpY2FsVG9wID0gbGluZUxvZ2ljYWxSZWN0LmJvdHRvbSgpOwogICAg
ICAgICAgICAgLy8gV2hlbiB0aGUgdHJhaWxpbmcgY29udGVudCBpcyBwYXJ0aWFsLCB3ZSBuZWVk
IHRvIHJldXNlIHRoZSBsYXN0IElubGluZVRleHRJdGVtLgotICAgICAgICAgICAgYXV0byBsYXN0
SW5saW5lSXRlbU5lZWRzUGFydGlhbExheW91dCA9IGxpbmVDb250ZW50LnBhcnRpYWxDb250ZW50
Lmhhc1ZhbHVlKCk7CisgICAgICAgICAgICBhdXRvIGxhc3RJbmxpbmVJdGVtTmVlZHNQYXJ0aWFs
TGF5b3V0ID0gbGluZUNvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aDsKICAgICAg
ICAgICAgIGlmIChsYXN0SW5saW5lSXRlbU5lZWRzUGFydGlhbExheW91dCkgewotICAgICAgICAg
ICAgICAgIEFTU0VSVChsaW5lQ29udGVudC5wYXJ0aWFsQ29udGVudC0+b3ZlcmZsb3dDb250ZW50
TGVuZ3RoKTsKICAgICAgICAgICAgICAgICBhdXRvIGxpbmVMYXlvdXRIYXNBZHZhbmNlZCA9ICFw
cmV2aW91c0xpbmUKICAgICAgICAgICAgICAgICAgICAgfHwgbGluZUNvbnRlbnRSYW5nZS5lbmQg
PiBwcmV2aW91c0xpbmUtPnJhbmdlLmVuZAotICAgICAgICAgICAgICAgICAgICB8fCAocHJldmlv
dXNMaW5lLT5vdmVyZmxvd0NvbnRlbnRMZW5ndGggJiYgKnByZXZpb3VzTGluZS0+b3ZlcmZsb3dD
b250ZW50TGVuZ3RoID4gbGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQtPm92ZXJmbG93Q29udGVu
dExlbmd0aCk7CisgICAgICAgICAgICAgICAgICAgIHx8IChwcmV2aW91c0xpbmUtPm92ZXJmbG93
Q29udGVudExlbmd0aCAmJiBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudExlbmd0aCA+IGxp
bmVDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOwogICAgICAgICAgICAgICAg
IGlmICghbGluZUxheW91dEhhc0FkdmFuY2VkKSB7CiAgICAgICAgICAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgICAgICAvLyBNb3ZlIG92ZXIgdG8gdGhl
IG5leHQgcnVuIGlmIHdlIGFyZSBzdHVjayBvbiB0aGlzIHBhcnRpYWwgY29udGVudCAod2hlbiB0
aGUgb3ZlcmZsb3cgY29udGVudCBsZW5ndGggcmVtYWlucyB0aGUgc2FtZSkuCkBAIC0xODEsNyAr
MTgwLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJ
dGVtcyYgaW5saW5lSXRlbXMsIExpbmVCdWlsZGVyOjoKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBuZWVkc0xheW91dFJhbmdlLnN0YXJ0ID0gbGFzdElubGlu
ZUl0ZW1OZWVkc1BhcnRpYWxMYXlvdXQgPyBsaW5lQ29udGVudFJhbmdlLmVuZCAtIDEgOiBsaW5l
Q29udGVudFJhbmdlLmVuZDsKLSAgICAgICAgICAgIHByZXZpb3VzTGluZSA9IFByZXZpb3VzTGlu
ZSB7IGxpbmVDb250ZW50UmFuZ2UsIGxpbmVDb250ZW50LnBhcnRpYWxDb250ZW50ID8gbWFrZU9w
dGlvbmFsKGxpbmVDb250ZW50LnBhcnRpYWxDb250ZW50LT5vdmVyZmxvd0NvbnRlbnRMZW5ndGgp
IDogV1RGOjpudWxsb3B0IH07CisgICAgICAgICAgICBwcmV2aW91c0xpbmUgPSBQcmV2aW91c0xp
bmUgeyBsaW5lQ29udGVudFJhbmdlLCBsaW5lQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50
TGVuZ3RoIH07CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICAvLyBG
bG9hdHMgcHJldmVudGVkIHVzIHBsYWNpbmcgYW55IGNvbnRlbnQgb24gdGhlIGxpbmUuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQnVpbGRlci5jcHAKaW5kZXggNDFhOTNhM2NmZDFlYjgzZmIxOGNlNjJjMzNmYTY2NzFj
N2I0MDlhOC4uZjkyMmUwMWY2ZjE0NGY5Yjk1OWE5YzIwYWIyZmFhNGExNGZjMzQ3MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1
aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmNwcApAQCAtMzA5LDcgKzMwOSw3IEBAIExpbmVCdWlsZGVyOjpMaW5l
QnVpbGRlcihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQsCiB7CiB9CiAKLUxpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5
b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2Us
IE9wdGlvbmFsPHNpemVfdD4gcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25zdCBGb3Jt
YXR0aW5nQ29udGV4dDo6Q29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50JiBpbml0aWFsQ29uc3Ry
YWludHMsIGJvb2wgaXNGaXJzdExpbmUpCitMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1
aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xh
eW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25zdCBGb3Jt
YXR0aW5nQ29udGV4dDo6Q29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50JiBpbml0aWFsQ29uc3Ry
YWludHMsIGJvb2wgaXNGaXJzdExpbmUpCiB7CiAgICAgYXV0byB1c2VkQ29uc3RyYWludHMgPSBj
b25zdHJhaW50c0ZvckxpbmUoaW5pdGlhbENvbnN0cmFpbnRzLCBpc0ZpcnN0TGluZSk7CiAgICAg
aW5pdGlhbGl6ZSh1c2VkQ29uc3RyYWludHMpOwpAQCAtMzE4LDggKzMxOCw4IEBAIExpbmVCdWls
ZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJ
bmxpbmVJdGVtUmFuZ2UmCiAgICAgYXV0byBjb21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5
b3V0UmFuZ2UsIGNvbW1pdHRlZENvbnRlbnQpOwogCiAgICAgYXV0byBsaW5lTG9naWNhbFRvcExl
ZnQgPSBJbmxpbmVMYXlvdXRQb2ludCB7IHVzZWRDb25zdHJhaW50cy5sb2dpY2FsTGVmdCwgaW5p
dGlhbENvbnN0cmFpbnRzLnZlcnRpY2FsLmxvZ2ljYWxUb3AgfTsKLSAgICBhdXRvIGlzTGFzdExp
bmUgPSBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQoY29tbWl0dGVkUmFuZ2UsIG5lZWRzTGF5
b3V0UmFuZ2UuZW5kLCBjb21taXR0ZWRDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnQuaGFz
VmFsdWUoKSk7Ci0gICAgcmV0dXJuIExpbmVDb250ZW50IHsgY29tbWl0dGVkQ29udGVudC5wYXJ0
aWFsVHJhaWxpbmdDb250ZW50LCBjb21taXR0ZWRSYW5nZSwgbV9mbG9hdHMsIG1fY29udGVudElz
Q29uc3RyYWluZWRCeUZsb2F0CisgICAgYXV0byBpc0xhc3RMaW5lID0gaXNMYXN0TGluZVdpdGhJ
bmxpbmVDb250ZW50KGNvbW1pdHRlZFJhbmdlLCBuZWVkc0xheW91dFJhbmdlLmVuZCwgY29tbWl0
dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoKTsKKyAgICByZXR1cm4gTGlu
ZUNvbnRlbnQgeyBjb21taXR0ZWRSYW5nZSwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxp
bmdDb250ZW50TGVuZ3RoLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQK
ICAgICAgICAgLCBsaW5lTG9naWNhbFRvcExlZnQKICAgICAgICAgLCBtX2xpbmUuaG9yaXpvbnRh
bENvbnN0cmFpbnQoKQogICAgICAgICAsIG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkKQEAg
LTM0Niw3ICszNDYsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRD
b25zdHJhaW50cyYgbGluZUNvbnN0cmFpbnRzKQogICAgIG1fY29udGVudElzQ29uc3RyYWluZWRC
eUZsb2F0ID0gbGluZUNvbnN0cmFpbnRzLmlzQ29uc3RyYWluZWRCeUZsb2F0OwogfQogCi1MaW5l
QnVpbGRlcjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50
KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgT3B0aW9uYWw8c2l6ZV90
PiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpCitMaW5lQnVpbGRlcjo6Q29tbWl0dGVkQ29u
dGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5n
ZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCkK
IHsKICAgICBhdXRvIGxpbmVDYW5kaWRhdGUgPSBMaW5lQ2FuZGlkYXRlIHsgbGF5b3V0U3RhdGUo
KS5zaG91bGRJZ25vcmVUcmFpbGluZ0xldHRlclNwYWNpbmcoKSB9OwogICAgIGF1dG8gaW5saW5l
Q29udGVudEJyZWFrZXIgPSBJbmxpbmVDb250ZW50QnJlYWtlciB7IH07CkBAIC0zNjMsNyArMzYz
LDcgQEAgTGluZUJ1aWxkZXI6OkNvbW1pdHRlZENvbnRlbnQgTGluZUJ1aWxkZXI6OnBsYWNlSW5s
aW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmEKICAgICAgICAgYXV0byByZXN1bHQgPSBoYW5k
bGVGbG9hdHNBbmRJbmxpbmVDb250ZW50KGlubGluZUNvbnRlbnRCcmVha2VyLCBuZWVkc0xheW91
dFJhbmdlLCBsaW5lQ2FuZGlkYXRlKTsKICAgICAgICAgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50
ID0gcmVzdWx0LmNvbW1pdHRlZENvdW50LmlzUmV2ZXJ0ID8gcmVzdWx0LmNvbW1pdHRlZENvdW50
LnZhbHVlIDogY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICsgcmVzdWx0LmNvbW1pdHRlZENvdW50
LnZhbHVlOwogICAgICAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gbGluZUNhbmRpZGF0ZS5pbmxp
bmVDb250ZW50OwotICAgICAgICBhdXRvIGlubGluZUNvbnRlbnRJc0Z1bGx5Q29tbWl0dGVkID0g
aW5saW5lQ29udGVudC5jb250aW51b3VzQ29udGVudCgpLnJ1bnMoKS5zaXplKCkgPT0gcmVzdWx0
LmNvbW1pdHRlZENvdW50LnZhbHVlICYmICFyZXN1bHQucGFydGlhbENvbnRlbnQ7CisgICAgICAg
IGF1dG8gaW5saW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgPSBpbmxpbmVDb250ZW50LmNvbnRp
bnVvdXNDb250ZW50KCkucnVucygpLnNpemUoKSA9PSByZXN1bHQuY29tbWl0dGVkQ291bnQudmFs
dWUgJiYgIXJlc3VsdC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoOwogICAgICAgICBhdXRv
IGlzRW5kT2ZMaW5lID0gcmVzdWx0LmlzRW5kT2ZMaW5lID09IElubGluZUNvbnRlbnRCcmVha2Vy
OjpJc0VuZE9mTGluZTo6WWVzOwogCiAgICAgICAgIGlmIChhdXRvKiB3b3JkQnJlYWtPcHBvcnR1
bml0eSA9IGlubGluZUNvbnRlbnQudHJhaWxpbmdXb3JkQnJlYWtPcHBvcnR1bml0eSgpKSB7CkBA
IC0zNzksNyArMzc5LDcgQEAgTGluZUJ1aWxkZXI6OkNvbW1pdHRlZENvbnRlbnQgTGluZUJ1aWxk
ZXI6OnBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmEKICAgICAgICAgfQogICAg
ICAgICBpZiAoaXNFbmRPZkxpbmUpIHsKICAgICAgICAgICAgIC8vIFdlIGNhbid0IHBsYWNlIGFu
eSBtb3JlIGl0ZW1zIG9uIHRoZSBjdXJyZW50IGxpbmUuCi0gICAgICAgICAgICByZXR1cm4geyBj
b21taXR0ZWRJbmxpbmVJdGVtQ291bnQsIHJlc3VsdC5wYXJ0aWFsQ29udGVudCB9OworICAgICAg
ICAgICAgcmV0dXJuIHsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCByZXN1bHQucGFydGlhbFRy
YWlsaW5nQ29udGVudExlbmd0aCB9OwogICAgICAgICB9CiAgICAgICAgIGN1cnJlbnRJdGVtSW5k
ZXggPSBuZWVkc0xheW91dFJhbmdlLnN0YXJ0ICsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICsg
bV9mbG9hdHMuc2l6ZSgpOwogICAgICAgICBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSB7
IH07CkBAIC0zOTUsMTMgKzM5NSwyMiBAQCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlIExp
bmVCdWlsZGVyOjpjbG9zZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5bwogICAgIGF1
dG8gdHJhaWxpbmdJbmxpbmVJdGVtSW5kZXggPSBuZWVkc0xheW91dFJhbmdlLnN0YXJ0ICsgbnVt
YmVyT2ZDb21taXR0ZWRJdGVtcyAtIDE7CiAgICAgYXV0byBsaW5lUmFuZ2UgPSBJbmxpbmVJdGVt
UmFuZ2UgeyBuZWVkc0xheW91dFJhbmdlLnN0YXJ0LCB0cmFpbGluZ0lubGluZUl0ZW1JbmRleCAr
IDEgfTsKICAgICBBU1NFUlQobGluZVJhbmdlLmVuZCA8PSBuZWVkc0xheW91dFJhbmdlLmVuZCk7
Ci0gICAgLy8gQWRqdXN0IGh5cGhlbmF0ZWQgbGluZSBjb3VudC4KLSAgICBtX3N1Y2Nlc3NpdmVI
eXBoZW5hdGVkTGluZUNvdW50ID0gY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250
ZW50ICYmIGNvbW1pdHRlZENvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudC0+dHJhaWxpbmdD
b250ZW50SGFzSHlwaGVuID8gbV9zdWNjZXNzaXZlSHlwaGVuYXRlZExpbmVDb3VudCArIDEgOiAw
OworICAgIGlmICghY29tbWl0dGVkQ29udGVudC5pbmxpbmVJdGVtQ291bnQpIHsKKyAgICAgICAg
Ly8gTGluZSBpcyBlbXB0eSwgd2Ugb25seSBtYW5hZ2VkIHRvIHBsYWNlIGZsb2F0IGJveGVzLgor
ICAgICAgICByZXR1cm4gbGluZVJhbmdlOworICAgIH0KICAgICBtX2xpbmUucmVtb3ZlQ29sbGFw
c2libGVDb250ZW50KCk7CiAgICAgYXV0byBob3Jpem9udGFsQWxpZ25tZW50ID0gcm9vdCgpLnN0
eWxlKCkudGV4dEFsaWduKCk7Ci0gICAgYXV0byBydW5zRXhwYW5kSG9yaXpvbnRhbGx5ID0gaG9y
aXpvbnRhbEFsaWdubWVudCA9PSBUZXh0QWxpZ25Nb2RlOjpKdXN0aWZ5ICYmICFpc0xhc3RMaW5l
V2l0aElubGluZUNvbnRlbnQobGluZVJhbmdlLCBuZWVkc0xheW91dFJhbmdlLmVuZCwgY29tbWl0
dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50Lmhhc1ZhbHVlKCkpOworICAgIGF1dG8g
cnVuc0V4cGFuZEhvcml6b250YWxseSA9IGhvcml6b250YWxBbGlnbm1lbnQgPT0gVGV4dEFsaWdu
TW9kZTo6SnVzdGlmeSAmJiAhaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KGxpbmVSYW5nZSwg
bmVlZHNMYXlvdXRSYW5nZS5lbmQsIGNvbW1pdHRlZENvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29u
dGVudExlbmd0aCk7CiAgICAgaWYgKHJ1bnNFeHBhbmRIb3Jpem9udGFsbHkpCiAgICAgICAgIG1f
bGluZS5hcHBseVJ1bkV4cGFuc2lvbigpOworICAgIGF1dG8gbGluZUVuZHNXaXRoSHlwaGVuID0g
ZmFsc2U7CisgICAgaWYgKCFtX2xpbmUuaXNWaXN1YWxseUVtcHR5KCkpIHsKKyAgICAgICAgQVNT
RVJUKCFtX2xpbmUucnVucygpLmlzRW1wdHkoKSk7CisgICAgICAgIGF1dG8mIGxhc3RUZXh0Q29u
dGVudCA9IG1fbGluZS5ydW5zKCkubGFzdCgpLnRleHRDb250ZW50KCk7CisgICAgICAgIGxpbmVF
bmRzV2l0aEh5cGhlbiA9IGxhc3RUZXh0Q29udGVudCAmJiBsYXN0VGV4dENvbnRlbnQtPm5lZWRz
SHlwaGVuKCk7CisgICAgfQorICAgIG1fc3VjY2Vzc2l2ZUh5cGhlbmF0ZWRMaW5lQ291bnQgPSBs
aW5lRW5kc1dpdGhIeXBoZW4gPyBtX3N1Y2Nlc3NpdmVIeXBoZW5hdGVkTGluZUNvdW50ICsgMSA6
IDA7CiAgICAgcmV0dXJuIGxpbmVSYW5nZTsKIH0KIApAQCAtNDc5LDcgKzQ4OCw3IEBAIExpbmVC
dWlsZGVyOjpVc2VkQ29uc3RyYWludHMgTGluZUJ1aWxkZXI6OmNvbnN0cmFpbnRzRm9yTGluZShj
b25zdCBGb3JtYXR0aW5nQ29uCiAgICAgcmV0dXJuIFVzZWRDb25zdHJhaW50cyB7IGxpbmVMb2dp
Y2FsTGVmdCwgbGluZUxvZ2ljYWxSaWdodCAtIGxpbmVMb2dpY2FsTGVmdCwgbGluZUlzQ29uc3Ry
YWluZWRCeUZsb2F0IH07CiB9CiAKLXZvaWQgTGluZUJ1aWxkZXI6Om5leHRDb250ZW50Rm9yTGlu
ZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzaXplX3QgY3VycmVudElubGluZUl0ZW1J
bmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgT3B0aW9uYWw8c2l6ZV90
PiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIElubGluZUxheW91dFVuaXQgYXZhaWxhYmxl
TGluZVdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpCit2b2lkIExp
bmVCdWlsZGVyOjpuZXh0Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0
ZSwgc2l6ZV90IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYg
bGF5b3V0UmFuZ2UsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIElubGluZUxh
eW91dFVuaXQgYXZhaWxhYmxlTGluZVdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dp
Y2FsUmlnaHQpCiB7CiAgICAgQVNTRVJUKGN1cnJlbnRJbmxpbmVJdGVtSW5kZXggPCBsYXlvdXRS
YW5nZS5lbmQpOwogICAgIGxpbmVDYW5kaWRhdGUucmVzZXQoY3VycmVudExvZ2ljYWxSaWdodCk7
CkBAIC00OTMsNyArNTAyLDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6bmV4dENvbnRlbnRGb3JMaW5l
KExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjdXJyZW4KICAgICBpZiAocGFy
dGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKSB7CiAgICAgICAgIC8vIEhhbmRsZSBsZWFkaW5nIHBh
cnRpYWwgY29udGVudCBmaXJzdCAob3ZlcmZsb3dpbmcgdGV4dCBmcm9tIHRoZSBwcmV2aW91cyBs
aW5lKS4KICAgICAgICAgLy8gQ29uc3RydWN0IGEgcGFydGlhbCBsZWFkaW5nIGlubGluZSBpdGVt
LgotICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0
SXRlbT4obV9pbmxpbmVJdGVtc1tjdXJyZW50SW5saW5lSXRlbUluZGV4XSkucmlnaHQoKnBhcnRp
YWxMZWFkaW5nQ29udGVudExlbmd0aCk7CisgICAgICAgIG1fcGFydGlhbExlYWRpbmdUZXh0SXRl
bSA9IGRvd25jYXN0PElubGluZVRleHRJdGVtPihtX2lubGluZUl0ZW1zW2N1cnJlbnRJbmxpbmVJ
dGVtSW5kZXhdKS5yaWdodChwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOwogICAgICAgICBh
dXRvIGl0ZW1XaWR0aCA9IGlubGluZUl0ZW1XaWR0aCgqbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVt
LCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKICAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250
ZW50LmFwcGVuZElubGluZUl0ZW0oKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgaXRlbVdpZHRo
KTsKICAgICAgICAgY3VycmVudExvZ2ljYWxSaWdodCArPSBpdGVtV2lkdGg7CkBAIC02MjEsNyAr
NjMwLDcgQEAgTGluZUJ1aWxkZXI6OlJlc3VsdCBMaW5lQnVpbGRlcjo6aGFuZGxlRmxvYXRzQW5k
SW5saW5lQ29udGVudChJbmxpbmVDb250ZW50QnJlYWsKICAgICAgICAgYXV0byYgdHJhaWxpbmdJ
bmxpbmVUZXh0SXRlbSA9IGRvd25jYXN0PElubGluZVRleHRJdGVtPihjYW5kaWRhdGVSdW5zW3Ry
YWlsaW5nUnVuSW5kZXhdLmlubGluZUl0ZW0pOwogICAgICAgICBBU1NFUlQocGFydGlhbFJ1bi5s
ZW5ndGggPCB0cmFpbGluZ0lubGluZVRleHRJdGVtLmxlbmd0aCgpKTsKICAgICAgICAgYXV0byBv
dmVyZmxvd0xlbmd0aCA9IHRyYWlsaW5nSW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkgLSBwYXJ0aWFs
UnVuLmxlbmd0aDsKLSAgICAgICAgcmV0dXJuIHsgSW5saW5lQ29udGVudEJyZWFrZXI6OklzRW5k
T2ZMaW5lOjpZZXMsIHsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCBmYWxzZSB9LCBMaW5lQ29u
dGVudDo6UGFydGlhbENvbnRlbnQgeyBwYXJ0aWFsUnVuLm5lZWRzSHlwaGVuLCBvdmVyZmxvd0xl
bmd0aCB9IH07CisgICAgICAgIHJldHVybiB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9m
TGluZTo6WWVzLCB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgZmFsc2UgfSwgb3ZlcmZsb3dM
ZW5ndGggfTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHsg
SW5saW5lQ29udGVudEJyZWFrZXI6OklzRW5kT2ZMaW5lOjpObyB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVy
LmgKaW5kZXggY2Y1ZWUwNTAzMDBmOGRjODJkNzhhZDY5NWFiZGUyMTE3YTEzNmVlYS4uZDdiMWJh
NzU4MzM1NzlhM2ZiNDlhMjI4ZjljZjAwNDg1YjJiN2NlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5o
CkBAIC00OCwxMiArNDgsOCBAQCBwdWJsaWM6CiAgICAgICAgIHNpemVfdCBlbmQgeyAwIH07CiAg
ICAgfTsKICAgICBzdHJ1Y3QgTGluZUNvbnRlbnQgewotICAgICAgICBzdHJ1Y3QgUGFydGlhbENv
bnRlbnQgewotICAgICAgICAgICAgYm9vbCB0cmFpbGluZ0NvbnRlbnRIYXNIeXBoZW4geyBmYWxz
ZSB9OwotICAgICAgICAgICAgc2l6ZV90IG92ZXJmbG93Q29udGVudExlbmd0aCB7IDAgfTsKLSAg
ICAgICAgfTsKLSAgICAgICAgT3B0aW9uYWw8UGFydGlhbENvbnRlbnQ+IHBhcnRpYWxDb250ZW50
OwogICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgaW5saW5lSXRlbVJhbmdlOworICAgICAgICBzaXpl
X3QgcGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCB7IDAgfTsKICAgICAgICAgc3RydWN0IEZs
b2F0IHsKICAgICAgICAgICAgIGJvb2wgaXNJbnRydXNpdmUgeyB0cnVlIH07CiAgICAgICAgICAg
ICBjb25zdCBJbmxpbmVJdGVtKiBpdGVtIHsgbnVsbHB0ciB9OwpAQCAtNjgsNyArNjQsNyBAQCBw
dWJsaWM6CiAgICAgICAgIGJvb2wgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9
OwogICAgICAgICBjb25zdCBMaW5lOjpSdW5MaXN0JiBydW5zOwogICAgIH07Ci0gICAgTGluZUNv
bnRlbnQgbGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBPcHRpb25h
bDxzaXplX3Q+IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgY29uc3QgRm9ybWF0dGluZ0Nv
bnRleHQ6OkNvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCYgaW5pdGlhbExpbmVDb25zdHJhaW50
cywgYm9vbCBpc0ZpcnN0TGluZSk7CisgICAgTGluZUNvbnRlbnQgbGF5b3V0SW5saW5lQ29udGVu
dChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVu
Z3RoLCBjb25zdCBGb3JtYXR0aW5nQ29udGV4dDo6Q29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50
JiBpbml0aWFsTGluZUNvbnN0cmFpbnRzLCBib29sIGlzRmlyc3RMaW5lKTsKIAogICAgIHN0cnVj
dCBJbnRyaW5zaWNDb250ZW50IHsKICAgICAgICAgSW5saW5lSXRlbVJhbmdlIGlubGluZUl0ZW1S
YW5nZTsKQEAgLTc3LDcgKzczLDcgQEAgcHVibGljOgogICAgIEludHJpbnNpY0NvbnRlbnQgY29t
cHV0ZWRJbnRyaW5zaWNXaWR0aChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBJbmxpbmVMYXlvdXRV
bml0IGF2YWlsYWJsZVdpZHRoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIG5leHRDb250ZW50Rm9y
TGluZShMaW5lQ2FuZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5l
SXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBPcHRpb25hbDxzaXplX3Q+IG92ZXJmbG93TGVu
Z3RoLCBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZUxpbmVXaWR0aCwgSW5saW5lTGF5b3V0VW5p
dCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKKyAgICB2b2lkIG5leHRDb250ZW50Rm9yTGluZShMaW5l
Q2FuZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdl
JiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3Qgb3ZlcmZsb3dMZW5ndGgsIElubGluZUxheW91dFVu
aXQgYXZhaWxhYmxlTGluZVdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmln
aHQpOwogICAgIHN0cnVjdCBSZXN1bHQgewogICAgICAgICBJbmxpbmVDb250ZW50QnJlYWtlcjo6
SXNFbmRPZkxpbmUgaXNFbmRPZkxpbmUgeyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxp
bmU6Ok5vIH07CiAgICAgICAgIHN0cnVjdCBDb21taXR0ZWRDb250ZW50Q291bnQgewpAQCAtODUs
NyArODEsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgYm9vbCBpc1JldmVydCB7IGZhbHNlIH07
CiAgICAgICAgIH07CiAgICAgICAgIENvbW1pdHRlZENvbnRlbnRDb3VudCBjb21taXR0ZWRDb3Vu
dCB7IH07Ci0gICAgICAgIE9wdGlvbmFsIDxMaW5lQ29udGVudDo6UGFydGlhbENvbnRlbnQ+IHBh
cnRpYWxDb250ZW50IHsgfTsKKyAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnRM
ZW5ndGggeyAwIH07CiAgICAgfTsKICAgICBlbnVtIGNsYXNzIENvbW1pdEludHJ1c2l2ZUZsb2F0
c09ubHkgeyBObywgWWVzIH07CiAgICAgc3RydWN0IFVzZWRDb25zdHJhaW50cyB7CkBAIC0xMDEs
OSArOTcsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3Ry
YWludHMmKTsKICAgICBzdHJ1Y3QgQ29tbWl0dGVkQ29udGVudCB7CiAgICAgICAgIHNpemVfdCBp
bmxpbmVJdGVtQ291bnQgeyAwIH07Ci0gICAgICAgIE9wdGlvbmFsIDxMaW5lQ29udGVudDo6UGFy
dGlhbENvbnRlbnQ+IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnQ7CisgICAgICAgIHNpemVfdCBwYXJ0
aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoIHsgMCB9OwogICAgIH07Ci0gICAgQ29tbWl0dGVkQ29u
dGVudCBwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgT3B0aW9uYWw8
c2l6ZV90PiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOworICAgIENvbW1pdHRlZENvbnRl
bnQgcGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIHNpemVfdCBwYXJ0
aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOwogICAgIElubGluZUl0ZW1SYW5nZSBjbG9zZShjb25z
dCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IENvbW1pdHRlZENvbnRl
bnQmKTsKIAogICAgIElubGluZUxheW91dFVuaXQgaW5saW5lSXRlbVdpZHRoKGNvbnN0IElubGlu
ZUl0ZW0mLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCkgY29uc3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>