<?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>221874</bug_id>
          
          <creation_ts>2021-02-13 21:50:50 -0800</creation_ts>
          <short_desc>[LFC][IFC] Do not re-measure wrapped content</short_desc>
          <delta_ts>2021-02-15 09:12:14 -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>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1728977</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-02-13 21:50:50 -0800</bug_when>
    <thetext>partial and full</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728997</commentid>
    <comment_count>1</comment_count>
      <attachid>420243</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-14 11:32:06 -0800</bug_when>
    <thetext>Created attachment 420243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728998</commentid>
    <comment_count>2</comment_count>
      <attachid>420244</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-14 11:36:51 -0800</bug_when>
    <thetext>Created attachment 420244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729041</commentid>
    <comment_count>3</comment_count>
      <attachid>420268</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-02-14 21:08:38 -0800</bug_when>
    <thetext>Created attachment 420268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729182</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-15 09:11:55 -0800</bug_when>
    <thetext>Committed r272856: &lt;https://commits.webkit.org/r272856&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420268.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729183</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-15 09:12:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/74352285&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420243</attachid>
            <date>2021-02-14 11:32:06 -0800</date>
            <delta_ts>2021-02-14 11:46:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221874-20210214113206.patch</filename>
            <type>text/plain</type>
            <size>15622</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRlNWY3YmZjZGMwNzky
NWQyZjJkZDA3ZTJlODM0MjQ0NmUyNjk4Mi4uOWI4MDAxM2YyZWIzNDY1N2M5YmM3ZjZkNGIzNDI4
M2IwZWVmMjE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAyLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBEbyBub3Qg
cmUtbWVhc3VyZSB3cmFwcGVkIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTg3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdJUC4KKworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQpOgorICAgICAgICAqIGxheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Y2FuZGlkYXRlQ29udGVu
dEZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aGFuZGxl
SW5saW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuaDoKKwogMjAyMS0wMi0xMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtMRkNdIFVwZGF0ZSB0aGUgYmxvY2sgYm94L2NvbnRhaW5lciBsaXN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggYTExOWMzYzNiZDlhOWFi
N2I4MTIwNTEwMDQwYTI5N2EzOTM3MDhjOC4uM2E0YjBmZDk3Y2EwOTEyMWU1OTg0MGRhY2YwM2Ix
MDA5NGEwMDcwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTgw
LDYgKzE4MCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoSW5s
aW5lSXRlbXMmIGlubGluZUl0ZW1zLCBMaW5lQnVpbGRlcjo6CiAgICAgc3RydWN0IFByZXZpb3Vz
TGluZSB7CiAgICAgICAgIExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUmFuZ2UgcmFuZ2U7CiAgICAg
ICAgIHNpemVfdCBvdmVyZmxvd0NvbnRlbnRMZW5ndGggeyAwIH07CisgICAgICAgIE9wdGlvbmFs
PElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRoOwogICAgIH07CiAgICAgT3B0
aW9uYWw8UHJldmlvdXNMaW5lPiBwcmV2aW91c0xpbmU7CiAgICAgYXV0byYgZmxvYXRpbmdTdGF0
ZSA9IGZvcm1hdHRpbmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCk7CkBAIC0xOTEsOCArMTkyLDkgQEAg
dm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5s
aW5lSXRlbXMsIExpbmVCdWlsZGVyOjoKICAgICAgICAgLy8gVHVybiBwcmV2aW91cyBsaW5lJ3Mg
b3ZlcmZsb3cgY29udGVudCBsZW5ndGggaW50byB0aGUgbmV4dCBsaW5lJ3MgbGVhZGluZyBjb250
ZW50IHBhcnRpYWwgbGVuZ3RoLgogICAgICAgICAvLyAic3BbPC1saW5lIGJyZWFrLT5dbGl0X2Nv
bnRlbnQiIC0+IG92ZXJmbG93IGxlbmd0aDogMTEgLT4gbGVhZGluZyBwYXJ0aWFsIGNvbnRlbnQg
bGVuZ3RoOiAxMS4KICAgICAgICAgYXV0byBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSBw
cmV2aW91c0xpbmUgPyBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudExlbmd0aCA6IDA7Cisg
ICAgICAgIGF1dG8gb3ZlcmZsb3dMb2dpY2FsV2lkdGggPSBwcmV2aW91c0xpbmUgPyBwcmV2aW91
c0xpbmUtPm92ZXJmbG93TG9naWNhbFdpZHRoIDogV1RGOjpudWxsb3B0OwogICAgICAgICBhdXRv
IGluaXRpYWxMaW5lQ29uc3RyYWludHMgPSBJbmxpbmVSZWN0IHsgbGluZUxvZ2ljYWxUb3AsIGNv
bnN0cmFpbnRzLmhvcml6b250YWwubG9naWNhbExlZnQsIGNvbnN0cmFpbnRzLmhvcml6b250YWwu
bG9naWNhbFdpZHRoLCBxdWlya3MoKS5pbml0aWFsTGluZUhlaWdodCgpIH07Ci0gICAgICAgIGF1
dG8gbGluZUNvbnRlbnQgPSBsaW5lQnVpbGRlci5sYXlvdXRJbmxpbmVDb250ZW50KG5lZWRzTGF5
b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgaW5pdGlhbExpbmVDb25zdHJh
aW50cywgaXNGaXJzdExpbmUpOworICAgICAgICBhdXRvIGxpbmVDb250ZW50ID0gbGluZUJ1aWxk
ZXIubGF5b3V0SW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0Nv
bnRlbnRMZW5ndGgsIG92ZXJmbG93TG9naWNhbFdpZHRoLCBpbml0aWFsTGluZUNvbnN0cmFpbnRz
LCBpc0ZpcnN0TGluZSk7CiAgICAgICAgIGF1dG8gbGluZUxvZ2ljYWxSZWN0ID0gY29tcHV0ZUdl
b21ldHJ5Rm9yTGluZUNvbnRlbnQobGluZUNvbnRlbnQsIGNvbnN0cmFpbnRzLmhvcml6b250YWwp
OwogCiAgICAgICAgIGF1dG8gbGluZUNvbnRlbnRSYW5nZSA9IGxpbmVDb250ZW50LmlubGluZUl0
ZW1SYW5nZTsKQEAgLTIxOCw3ICsyMjAsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpsaW5lTGF5b3V0KElubGluZUl0ZW1zJiBpbmxpbmVJdGVtcywgTGluZUJ1aWxkZXI6OgogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5lZWRzTGF5b3V0UmFu
Z2Uuc3RhcnQgPSBsYXN0SW5saW5lSXRlbU5lZWRzUGFydGlhbExheW91dCA/IGxpbmVDb250ZW50
UmFuZ2UuZW5kIC0gMSA6IGxpbmVDb250ZW50UmFuZ2UuZW5kOwotICAgICAgICAgICAgcHJldmlv
dXNMaW5lID0gUHJldmlvdXNMaW5lIHsgbGluZUNvbnRlbnRSYW5nZSwgbGluZUNvbnRlbnQucGFy
dGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCB9OworICAgICAgICAgICAgcHJldmlvdXNMaW5lID0g
UHJldmlvdXNMaW5lIHsgbGluZUNvbnRlbnRSYW5nZSwgbGluZUNvbnRlbnQucGFydGlhbFRyYWls
aW5nQ29udGVudExlbmd0aCwgbGluZUNvbnRlbnQub3ZlcmZsb3dMb2dpY2FsV2lkdGggfTsKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIC8vIEZsb2F0cyBwcmV2ZW50
ZWQgdXMgcGxhY2luZyBhbnkgY29udGVudCBvbiB0aGUgbGluZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVy
LmNwcAppbmRleCBkNzdlMTNhNjg1ZjU2NDdlZDc0ZTVmMmQxNTVkYWQ2ZmQxNzhkNzVhLi43ODI0
M2NiYjAzZjk2MDA4NGQ2M2I5OGQ5MGU1NTgxNjAzNDA1YmIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxk
ZXIuY3BwCkBAIC0yNTYsMTUgKzI1NiwxNSBAQCBMaW5lQnVpbGRlcjo6TGluZUJ1aWxkZXIoY29u
c3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LAogewog
fQogCi1MaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNv
bnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFy
dGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxv
Z2ljYWxSZWN0LCBib29sIGlzRmlyc3RMaW5lKQorTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExp
bmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVl
ZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgT3B0aW9u
YWw8SW5saW5lTGF5b3V0VW5pdD4gb3ZlcmZsb3dMb2dpY2FsV2lkdGgsIGNvbnN0IElubGluZVJl
Y3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpCiB7CiAgICAgaW5p
dGlhbGl6ZShpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGluaXRpYWxMaW5lTG9naWNhbFJlY3Qs
IGlzRmlyc3RMaW5lKSk7CiAKLSAgICBhdXRvIGNvbW1pdHRlZENvbnRlbnQgPSBwbGFjZUlubGlu
ZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSwgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKTsK
KyAgICBhdXRvIGNvbW1pdHRlZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlv
dXRSYW5nZSwgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBvdmVyZmxvd0xvZ2ljYWxXaWR0
aCk7CiAgICAgYXV0byBjb21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0UmFuZ2UsIGNv
bW1pdHRlZENvbnRlbnQpOwogCiAgICAgYXV0byBpc0xhc3RMaW5lID0gaXNMYXN0TGluZVdpdGhJ
bmxpbmVDb250ZW50KGNvbW1pdHRlZFJhbmdlLCBuZWVkc0xheW91dFJhbmdlLmVuZCwgY29tbWl0
dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoKTsKLSAgICByZXR1cm4gTGlu
ZUNvbnRlbnQgeyBjb21taXR0ZWRSYW5nZSwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxp
bmdDb250ZW50TGVuZ3RoLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQK
KyAgICByZXR1cm4gTGluZUNvbnRlbnQgeyBjb21taXR0ZWRSYW5nZSwgY29tbWl0dGVkQ29udGVu
dC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoLCBjb21taXR0ZWRDb250ZW50Lm92ZXJmbG93
TG9naWNhbFdpZHRoLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQKICAg
ICAgICAgLCBtX2xpbmVMb2dpY2FsUmVjdC50b3BMZWZ0KCkKICAgICAgICAgLCBtX2xpbmVMb2dp
Y2FsUmVjdC53aWR0aCgpCiAgICAgICAgICwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKQpA
QCAtMjc1LDcgKzI3NSw3IEBAIExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6
bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiBMaW5lQnVpbGRlcjo6
SW50cmluc2ljQ29udGVudCBMaW5lQnVpbGRlcjo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aChjb25z
dCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIElubGluZUxheW91dFVuaXQgYXZh
aWxhYmxlV2lkdGgpCiB7CiAgICAgaW5pdGlhbGl6ZSh7IHsgeyB9LCB7IGF2YWlsYWJsZVdpZHRo
LCBtYXhJbmxpbmVMYXlvdXRVbml0KCkgfSB9LCBmYWxzZSB9KTsKLSAgICBhdXRvIGNvbW1pdHRl
ZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSwgeyB9KTsKKyAg
ICBhdXRvIGNvbW1pdHRlZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlvdXRS
YW5nZSwgeyB9LCB7IH0pOwogICAgIGF1dG8gY29tbWl0dGVkUmFuZ2UgPSBjbG9zZShuZWVkc0xh
eW91dFJhbmdlLCBjb21taXR0ZWRDb250ZW50KTsKICAgICByZXR1cm4geyBjb21taXR0ZWRSYW5n
ZSwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSwgbV9mbG9hdHMgfTsKIH0KQEAgLTI5MSw3
ICsyOTEsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJh
aW50cyYgbGluZUNvbnN0cmFpbnRzKQogICAgIG1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0
ID0gbGluZUNvbnN0cmFpbnRzLmlzQ29uc3RyYWluZWRCeUZsb2F0OwogfQogCi1MaW5lQnVpbGRl
cjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0
IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5n
Q29udGVudExlbmd0aCkKK0xpbmVCdWlsZGVyOjpDb21taXR0ZWRDb250ZW50IExpbmVCdWlsZGVy
OjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJh
bmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBPcHRpb25hbDxJbmxpbmVM
YXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCkKIHsKICAgICBhdXRvIGxpbmVDYW5kaWRh
dGUgPSBMaW5lQ2FuZGlkYXRlIHsgbGF5b3V0U3RhdGUoKS5zaG91bGRJZ25vcmVUcmFpbGluZ0xl
dHRlclNwYWNpbmcoKSB9OwogICAgIGF1dG8gaW5saW5lQ29udGVudEJyZWFrZXIgPSBJbmxpbmVD
b250ZW50QnJlYWtlciB7IH07CkBAIC0zMDMsNyArMzAzLDcgQEAgTGluZUJ1aWxkZXI6OkNvbW1p
dHRlZENvbnRlbnQgTGluZUJ1aWxkZXI6OnBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtUmEKICAgICAgICAgLy8gMi4gQXBwbHkgZmxvYXRzIGFuZCBzaHJpbmsgdGhlIGF2YWlsYWJs
ZSBob3Jpem9udGFsIHNwYWNlIGUuZy4gPHNwYW4+aW50cnVfPGRpdiBzdHlsZT0iZmxvYXQ6IGxl
ZnQiPjwvZGl2PnNpdmVfZmxvYXQ8L3NwYW4+LgogICAgICAgICAvLyAzLiBDaGVjayBpZiB0aGUg
Y29udGVudCBmaXRzIHRoZSBsaW5lIGFuZCBjb21taXQgdGhlIGNvbnRlbnQgYWNjb3JkaW5nbHkg
KGZ1bGwsIHBhcnRpYWwgb3Igbm90IGNvbW1pdCBhdCBhbGwpLgogICAgICAgICAvLyA0LiBSZXR1
cm4gaWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUgZWl0aGVyIGJ5IG5vdCBiZWluZyBh
YmxlIHRvIGZpdCBtb3JlIGNvbnRlbnQgb3IgYmVjYXVzZSBvZiBhbiBleHBsaWNpdCBsaW5lIGJy
ZWFrLgotICAgICAgICBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShsaW5lQ2FuZGlkYXRlLCBjdXJy
ZW50SXRlbUluZGV4LCBuZWVkc0xheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5n
dGgsIG1fbGluZS5jb250ZW50TG9naWNhbFJpZ2h0KCkpOworICAgICAgICBjYW5kaWRhdGVDb250
ZW50Rm9yTGluZShsaW5lQ2FuZGlkYXRlLCBjdXJyZW50SXRlbUluZGV4LCBuZWVkc0xheW91dFJh
bmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIG92ZXJmbG93TG9naWNhbFdpZHRoLCBt
X2xpbmUuY29udGVudExvZ2ljYWxSaWdodCgpKTsKICAgICAgICAgLy8gTm93IGNoZWNrIGlmIHdl
IGNhbiBwdXQgdGhpcyBjb250ZW50IG9uIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgIGF1dG8g
cmVzdWx0ID0gUmVzdWx0IHsgfTsKICAgICAgICAgaWYgKGxpbmVDYW5kaWRhdGUuZmxvYXRJdGVt
KSB7CkBAIC0zMzUsMTAgKzMzNSwxMSBAQCBMaW5lQnVpbGRlcjo6Q29tbWl0dGVkQ29udGVudCBM
aW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYQogICAgICAg
ICB9CiAgICAgICAgIGlmIChpc0VuZE9mTGluZSkgewogICAgICAgICAgICAgLy8gV2UgY2FuJ3Qg
cGxhY2UgYW55IG1vcmUgaXRlbXMgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIHJl
dHVybiB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0Nv
bnRlbnRMZW5ndGggfTsKKyAgICAgICAgICAgIHJldHVybiB7IGNvbW1pdHRlZElubGluZUl0ZW1D
b3VudCwgcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsIHJlc3VsdC5vdmVyZmxv
d0xvZ2ljYWxXaWR0aCB9OwogICAgICAgICB9CiAgICAgICAgIGN1cnJlbnRJdGVtSW5kZXggPSBu
ZWVkc0xheW91dFJhbmdlLnN0YXJ0ICsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICsgbV9mbG9h
dHMuc2l6ZSgpOwogICAgICAgICBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSB7IH07Cisg
ICAgICAgIG92ZXJmbG93TG9naWNhbFdpZHRoID0geyB9OwogICAgIH0KICAgICAvLyBMb29rcyBs
aWtlIHdlJ3ZlIHJ1biBvdXQgb2YgcnVucy4KICAgICByZXR1cm4geyBjb21taXR0ZWRJbmxpbmVJ
dGVtQ291bnQsIHsgfSB9OwpAQCAtNDU3LDcgKzQ1OCw3IEBAIExpbmVCdWlsZGVyOjpVc2VkQ29u
c3RyYWludHMgTGluZUJ1aWxkZXI6OmluaXRpYWxDb25zdHJhaW50c0ZvckxpbmUoY29uc3QgSW5s
aW5lCiAgICAgcmV0dXJuIFVzZWRDb25zdHJhaW50cyB7IHsgaW5pdGlhbExpbmVMb2dpY2FsUmVj
dC50b3AoKSwgbGluZUxvZ2ljYWxMZWZ0LCBsaW5lTG9naWNhbFJpZ2h0IC0gbGluZUxvZ2ljYWxM
ZWZ0LCBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LmhlaWdodCgpIH0sIGxpbmVJc0NvbnN0cmFpbmVk
QnlGbG9hdCB9OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjpjYW5kaWRhdGVDb250ZW50Rm9yTGlu
ZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzaXplX3QgY3VycmVudElubGluZUl0ZW1J
bmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxM
ZWFkaW5nQ29udGVudExlbmd0aCwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0
KQordm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlkYXRlQ29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0
ZSYgbGluZUNhbmRpZGF0ZSwgc2l6ZV90IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElu
bGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2UsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRM
ZW5ndGgsIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRoLCBJ
bmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpCiB7CiAgICAgQVNTRVJUKGN1cnJl
bnRJbmxpbmVJdGVtSW5kZXggPCBsYXlvdXRSYW5nZS5lbmQpOwogICAgIGxpbmVDYW5kaWRhdGUu
cmVzZXQoKTsKQEAgLTQ3MiwxMCArNDczLDExIEBAIHZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0
ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjCiAg
ICAgICAgIC8vIEhhbmRsZSBsZWFkaW5nIHBhcnRpYWwgY29udGVudCBmaXJzdCAob3ZlcmZsb3dp
bmcgdGV4dCBmcm9tIHRoZSBwcmV2aW91cyBsaW5lKS4KICAgICAgICAgLy8gQ29uc3RydWN0IGEg
cGFydGlhbCBsZWFkaW5nIGlubGluZSBpdGVtLgogICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4
dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4obV9pbmxpbmVJdGVtc1tjdXJyZW50SW5s
aW5lSXRlbUluZGV4XSkucmlnaHQocGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKTsKLSAgICAg
ICAgYXV0byBpdGVtV2lkdGggPSBpbmxpbmVJdGVtV2lkdGgoKm1fcGFydGlhbExlYWRpbmdUZXh0
SXRlbSwgY3VycmVudExvZ2ljYWxSaWdodCk7CisgICAgICAgIGF1dG8gaXRlbVdpZHRoID0gb3Zl
cmZsb3dMb2dpY2FsV2lkdGggPyAqb3ZlcmZsb3dMb2dpY2FsV2lkdGggOiBpbmxpbmVJdGVtV2lk
dGgoKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgY3VycmVudExvZ2ljYWxSaWdodCk7CiAgICAg
ICAgIGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5hcHBlbmRJbmxpbmVJdGVtKCptX3BhcnRp
YWxMZWFkaW5nVGV4dEl0ZW0sIGl0ZW1XaWR0aCk7CiAgICAgICAgIGN1cnJlbnRMb2dpY2FsUmln
aHQgKz0gaXRlbVdpZHRoOwogICAgICAgICArK2N1cnJlbnRJbmxpbmVJdGVtSW5kZXg7CisgICAg
ICAgIG92ZXJmbG93TG9naWNhbFdpZHRoID0geyB9OwogICAgIH0KIAogICAgIGZvciAoYXV0byBp
bmRleCA9IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXg7IGluZGV4IDwgc29mdFdyYXBPcHBvcnR1bml0
eUluZGV4OyArK2luZGV4KSB7CkBAIC00ODcsOSArNDg5LDExIEBAIHZvaWQgTGluZUJ1aWxkZXI6
OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNp
emVfdCBjCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoaW5s
aW5lSXRlbS5pc1RleHQoKSB8fCBpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSB8fCBpbmxp
bmVJdGVtLmlzSW5saW5lQm94RW5kKCkgfHwgaW5saW5lSXRlbS5pc0JveCgpKSB7Ci0gICAgICAg
ICAgICBhdXRvIGxvZ2ljYWxXaWR0aCA9IGlubGluZUl0ZW1XaWR0aChpbmxpbmVJdGVtLCBjdXJy
ZW50TG9naWNhbFJpZ2h0KTsKKyAgICAgICAgICAgIEFTU0VSVCghb3ZlcmZsb3dMb2dpY2FsV2lk
dGggfHwgaW5saW5lSXRlbS5pc1RleHQoKSk7CisgICAgICAgICAgICBhdXRvIGxvZ2ljYWxXaWR0
aCA9IG92ZXJmbG93TG9naWNhbFdpZHRoID8gKm92ZXJmbG93TG9naWNhbFdpZHRoIDogaW5saW5l
SXRlbVdpZHRoKGlubGluZUl0ZW0sIGN1cnJlbnRMb2dpY2FsUmlnaHQpOwogICAgICAgICAgICAg
bGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmFwcGVuZElubGluZUl0ZW0oaW5saW5lSXRlbSwg
bG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIGN1cnJlbnRMb2dpY2FsUmlnaHQgKz0gbG9naWNh
bFdpZHRoOworICAgICAgICAgICAgb3ZlcmZsb3dMb2dpY2FsV2lkdGggPSB7IH07CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoaW5saW5lSXRlbS5pc0xpbmVC
cmVhaygpIHx8IGlubGluZUl0ZW0uaXNXb3JkQnJlYWtPcHBvcnR1bml0eSgpKSB7CkBAIC02OTEs
NiArNjk1LDEwIEBAIExpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGlu
ZUNvbnRlbnQoSW5saW5lQ29udGVudEJyZWFrZXImIGlubGluCiAgICAgaWYgKHJlc3VsdC5hY3Rp
b24gPT0gSW5saW5lQ29udGVudEJyZWFrZXI6OlJlc3VsdDo6QWN0aW9uOjpXcmFwKSB7CiAgICAg
ICAgIEFTU0VSVChyZXN1bHQuaXNFbmRPZkxpbmUgPT0gSW5saW5lQ29udGVudEJyZWFrZXI6Oklz
RW5kT2ZMaW5lOjpZZXMpOwogICAgICAgICAvLyBUaGlzIGNvbnRpbnVvdXMgY29udGVudCBjYW4n
dCBiZSBwbGFjZWQgb24gdGhlIGN1cnJlbnQgbGluZS4gTm90aGluZyB0byBjb21taXQgYXQgdGhp
cyB0aW1lLgorICAgICAgICBpZiAoY2FuZGlkYXRlUnVucy5zaXplKCkgPT0gMSAmJiBjYW5kaWRh
dGVSdW5zLmZpcnN0KCkuaW5saW5lSXRlbS5pc1RleHQoKSkgeworICAgICAgICAgICAgLy8gRklY
TUU6IEFkZCBzdXBwb3J0IGZvciBvdGhlciB0eXBlcyBvZiBjb250aW51b3VzIGNvbnRlbnQuCisg
ICAgICAgICAgICByZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6Olll
cywgeyB9LCB7IH0sIGNhbmRpZGF0ZVJ1bnMuZmlyc3QoKS5sb2dpY2FsV2lkdGggfTsKKyAgICAg
ICAgfQogICAgICAgICByZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6
OlllcyB9OwogICAgIH0KICAgICBpZiAocmVzdWx0LmFjdGlvbiA9PSBJbmxpbmVDb250ZW50QnJl
YWtlcjo6UmVzdWx0OjpBY3Rpb246OldyYXBXaXRoSHlwaGVuKSB7CkBAIC03MjgsNiArNzM2LDEx
IEBAIExpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQo
SW5saW5lQ29udGVudEJyZWFrZXImIGlubGluCiAgICAgICAgIGF1dG8mIHRyYWlsaW5nSW5saW5l
VGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oY2FuZGlkYXRlUnVuc1t0cmFpbGlu
Z1J1bkluZGV4XS5pbmxpbmVJdGVtKTsKICAgICAgICAgQVNTRVJUKHBhcnRpYWxSdW4ubGVuZ3Ro
IDwgdHJhaWxpbmdJbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSk7CiAgICAgICAgIGF1dG8gb3ZlcmZs
b3dMZW5ndGggPSB0cmFpbGluZ0lubGluZVRleHRJdGVtLmxlbmd0aCgpIC0gcGFydGlhbFJ1bi5s
ZW5ndGg7CisgICAgICAgIGlmIChjYW5kaWRhdGVSdW5zLnNpemUoKSA9PSAxICYmIGNhbmRpZGF0
ZVJ1bnMuZmlyc3QoKS5pbmxpbmVJdGVtLmlzVGV4dCgpKSB7CisgICAgICAgICAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIG90aGVyIHR5cGVzIG9mIGNvbnRpbnVvdXMgY29udGVudC4KKyAg
ICAgICAgICAgIGF1dG8gb3ZlcmZsb3dMb2dpY2FsV2lkdGggPSBjYW5kaWRhdGVSdW5zLmZpcnN0
KCkubG9naWNhbFdpZHRoIC0gcGFydGlhbFJ1bi5sb2dpY2FsV2lkdGg7CisgICAgICAgICAgICBy
ZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcywgeyBjb21taXR0
ZWRJbmxpbmVJdGVtQ291bnQsIGZhbHNlIH0sIG92ZXJmbG93TGVuZ3RoLCBvdmVyZmxvd0xvZ2lj
YWxXaWR0aCB9OworICAgICAgICB9CiAgICAgICAgIHJldHVybiB7IElubGluZUNvbnRlbnRCcmVh
a2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgZmFsc2Ug
fSwgb3ZlcmZsb3dMZW5ndGggfTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJ1aWxkZXIuaAppbmRleCAxNmZjMzhlZjRjN2I3ZmNjMTU0ZWZmZWE3ZTNjNzJjMTk4
ZjEwNWJiLi4yZGY1ODE0MTcxYjdkMmJlYTI4MmRjYWFkMjRjZGZmZWViODgxOWIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVp
bGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmVCdWlsZGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHN0cnVjdCBMaW5l
Q29udGVudCB7CiAgICAgICAgIElubGluZUl0ZW1SYW5nZSBpbmxpbmVJdGVtUmFuZ2U7CiAgICAg
ICAgIHNpemVfdCBwYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoIHsgMCB9OworICAgICAgICBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aDsKICAgICAgICAg
Y29uc3QgRmxvYXRMaXN0JiBmbG9hdHM7CiAgICAgICAgIGJvb2wgaGFzSW50cnVzaXZlRmxvYXQg
eyBmYWxzZSB9OwogICAgICAgICBJbmxpbmVMYXlvdXRQb2ludCBsb2dpY2FsVG9wTGVmdDsKQEAg
LTYwLDcgKzYxLDcgQEAgcHVibGljOgogICAgICAgICBib29sIGlzTGFzdExpbmVXaXRoSW5saW5l
Q29udGVudCB7IHRydWUgfTsKICAgICAgICAgY29uc3QgTGluZTo6UnVuTGlzdCYgcnVuczsKICAg
ICB9OwotICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRl
bVJhbmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgY29uc3QgSW5saW5l
UmVjdCYgaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSk7CisgICAgTGlu
ZUNvbnRlbnQgbGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBzaXpl
X3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCwgY29uc3QgSW5saW5lUmVjdCYgaW5pdGlhbExpbmVMb2dp
Y2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSk7CiAKICAgICBzdHJ1Y3QgSW50cmluc2ljQ29udGVu
dCB7CiAgICAgICAgIElubGluZUl0ZW1SYW5nZSBpbmxpbmVJdGVtUmFuZ2U7CkBAIC03MCw3ICs3
MSw3IEBAIHB1YmxpYzoKICAgICBJbnRyaW5zaWNDb250ZW50IGNvbXB1dGVkSW50cmluc2ljV2lk
dGgoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0
aCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2Fu
ZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBu
ZWVkc0xheW91dFJhbmdlLCBzaXplX3Qgb3ZlcmZsb3dMZW5ndGgsIElubGluZUxheW91dFVuaXQg
Y3VycmVudExvZ2ljYWxSaWdodCk7CisgICAgdm9pZCBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShM
aW5lQ2FuZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJh
bmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3Qgb3ZlcmZsb3dMZW5ndGgsIE9wdGlvbmFsPElu
bGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGN1
cnJlbnRMb2dpY2FsUmlnaHQpOwogICAgIHNpemVfdCBuZXh0V3JhcE9wcG9ydHVuaXR5KHNpemVf
dCBzdGFydEluZGV4LCBjb25zdCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlJiBsYXlvdXRS
YW5nZSkgY29uc3Q7CiAKICAgICBzdHJ1Y3QgUmVzdWx0IHsKQEAgLTgxLDYgKzgyLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgfTsKICAgICAgICAgQ29tbWl0dGVkQ29udGVudENvdW50IGNvbW1pdHRl
ZENvdW50IHsgfTsKICAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgg
eyAwIH07CisgICAgICAgIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNh
bFdpZHRoOwogICAgIH07CiAgICAgc3RydWN0IFVzZWRDb25zdHJhaW50cyB7CiAgICAgICAgIElu
bGluZVJlY3QgbG9naWNhbFJlY3Q7CkBAIC05OCw4ICsxMDAsOSBAQCBwcml2YXRlOgogICAgIHN0
cnVjdCBDb21taXR0ZWRDb250ZW50IHsKICAgICAgICAgc2l6ZV90IGlubGluZUl0ZW1Db3VudCB7
IDAgfTsKICAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGggeyAwIH07
CisgICAgICAgIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRo
OwogICAgIH07Ci0gICAgQ29tbWl0dGVkQ29udGVudCBwbGFjZUlubGluZUNvbnRlbnQoY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7Cisg
ICAgQ29tbWl0dGVkQ29udGVudCBwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJh
bmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgT3B0aW9uYWw8SW5saW5l
TGF5b3V0VW5pdD4gb3ZlcmZsb3dMb2dpY2FsV2lkdGgpOwogICAgIElubGluZUl0ZW1SYW5nZSBj
bG9zZShjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IENvbW1p
dHRlZENvbnRlbnQmKTsKIAogICAgIElubGluZUxheW91dFVuaXQgaW5saW5lSXRlbVdpZHRoKGNv
bnN0IElubGluZUl0ZW0mLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCkgY29u
c3Q7Cg==
</data>
<flag name="commit-queue"
          id="438692"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420244</attachid>
            <date>2021-02-14 11:36:51 -0800</date>
            <delta_ts>2021-02-14 21:08:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221874-20210214113650.patch</filename>
            <type>text/plain</type>
            <size>15630</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRlNWY3YmZjZGMwNzky
NWQyZjJkZDA3ZTJlODM0MjQ0NmUyNjk4Mi4uOWI4MDAxM2YyZWIzNDY1N2M5YmM3ZjZkNGIzNDI4
M2IwZWVmMjE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAyLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBEbyBub3Qg
cmUtbWVhc3VyZSB3cmFwcGVkIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTg3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdJUC4KKworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQpOgorICAgICAgICAqIGxheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6Y2FuZGlkYXRlQ29udGVu
dEZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6aGFuZGxl
SW5saW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuaDoKKwogMjAyMS0wMi0xMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtMRkNdIFVwZGF0ZSB0aGUgYmxvY2sgYm94L2NvbnRhaW5lciBsaXN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggYTExOWMzYzNiZDlhOWFi
N2I4MTIwNTEwMDQwYTI5N2EzOTM3MDhjOC4uM2E0YjBmZDk3Y2EwOTEyMWU1OTg0MGRhY2YwM2Ix
MDA5NGEwMDcwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTgw
LDYgKzE4MCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoSW5s
aW5lSXRlbXMmIGlubGluZUl0ZW1zLCBMaW5lQnVpbGRlcjo6CiAgICAgc3RydWN0IFByZXZpb3Vz
TGluZSB7CiAgICAgICAgIExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUmFuZ2UgcmFuZ2U7CiAgICAg
ICAgIHNpemVfdCBvdmVyZmxvd0NvbnRlbnRMZW5ndGggeyAwIH07CisgICAgICAgIE9wdGlvbmFs
PElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRoOwogICAgIH07CiAgICAgT3B0
aW9uYWw8UHJldmlvdXNMaW5lPiBwcmV2aW91c0xpbmU7CiAgICAgYXV0byYgZmxvYXRpbmdTdGF0
ZSA9IGZvcm1hdHRpbmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCk7CkBAIC0xOTEsOCArMTkyLDkgQEAg
dm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5s
aW5lSXRlbXMsIExpbmVCdWlsZGVyOjoKICAgICAgICAgLy8gVHVybiBwcmV2aW91cyBsaW5lJ3Mg
b3ZlcmZsb3cgY29udGVudCBsZW5ndGggaW50byB0aGUgbmV4dCBsaW5lJ3MgbGVhZGluZyBjb250
ZW50IHBhcnRpYWwgbGVuZ3RoLgogICAgICAgICAvLyAic3BbPC1saW5lIGJyZWFrLT5dbGl0X2Nv
bnRlbnQiIC0+IG92ZXJmbG93IGxlbmd0aDogMTEgLT4gbGVhZGluZyBwYXJ0aWFsIGNvbnRlbnQg
bGVuZ3RoOiAxMS4KICAgICAgICAgYXV0byBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSBw
cmV2aW91c0xpbmUgPyBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudExlbmd0aCA6IDA7Cisg
ICAgICAgIGF1dG8gb3ZlcmZsb3dMb2dpY2FsV2lkdGggPSBwcmV2aW91c0xpbmUgPyBwcmV2aW91
c0xpbmUtPm92ZXJmbG93TG9naWNhbFdpZHRoIDogV1RGOjpudWxsb3B0OwogICAgICAgICBhdXRv
IGluaXRpYWxMaW5lQ29uc3RyYWludHMgPSBJbmxpbmVSZWN0IHsgbGluZUxvZ2ljYWxUb3AsIGNv
bnN0cmFpbnRzLmhvcml6b250YWwubG9naWNhbExlZnQsIGNvbnN0cmFpbnRzLmhvcml6b250YWwu
bG9naWNhbFdpZHRoLCBxdWlya3MoKS5pbml0aWFsTGluZUhlaWdodCgpIH07Ci0gICAgICAgIGF1
dG8gbGluZUNvbnRlbnQgPSBsaW5lQnVpbGRlci5sYXlvdXRJbmxpbmVDb250ZW50KG5lZWRzTGF5
b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgaW5pdGlhbExpbmVDb25zdHJh
aW50cywgaXNGaXJzdExpbmUpOworICAgICAgICBhdXRvIGxpbmVDb250ZW50ID0gbGluZUJ1aWxk
ZXIubGF5b3V0SW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0Nv
bnRlbnRMZW5ndGgsIG92ZXJmbG93TG9naWNhbFdpZHRoLCBpbml0aWFsTGluZUNvbnN0cmFpbnRz
LCBpc0ZpcnN0TGluZSk7CiAgICAgICAgIGF1dG8gbGluZUxvZ2ljYWxSZWN0ID0gY29tcHV0ZUdl
b21ldHJ5Rm9yTGluZUNvbnRlbnQobGluZUNvbnRlbnQsIGNvbnN0cmFpbnRzLmhvcml6b250YWwp
OwogCiAgICAgICAgIGF1dG8gbGluZUNvbnRlbnRSYW5nZSA9IGxpbmVDb250ZW50LmlubGluZUl0
ZW1SYW5nZTsKQEAgLTIxOCw3ICsyMjAsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpsaW5lTGF5b3V0KElubGluZUl0ZW1zJiBpbmxpbmVJdGVtcywgTGluZUJ1aWxkZXI6OgogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5lZWRzTGF5b3V0UmFu
Z2Uuc3RhcnQgPSBsYXN0SW5saW5lSXRlbU5lZWRzUGFydGlhbExheW91dCA/IGxpbmVDb250ZW50
UmFuZ2UuZW5kIC0gMSA6IGxpbmVDb250ZW50UmFuZ2UuZW5kOwotICAgICAgICAgICAgcHJldmlv
dXNMaW5lID0gUHJldmlvdXNMaW5lIHsgbGluZUNvbnRlbnRSYW5nZSwgbGluZUNvbnRlbnQucGFy
dGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCB9OworICAgICAgICAgICAgcHJldmlvdXNMaW5lID0g
UHJldmlvdXNMaW5lIHsgbGluZUNvbnRlbnRSYW5nZSwgbGluZUNvbnRlbnQucGFydGlhbFRyYWls
aW5nQ29udGVudExlbmd0aCwgbGluZUNvbnRlbnQub3ZlcmZsb3dMb2dpY2FsV2lkdGggfTsKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIC8vIEZsb2F0cyBwcmV2ZW50
ZWQgdXMgcGxhY2luZyBhbnkgY29udGVudCBvbiB0aGUgbGluZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVy
LmNwcAppbmRleCBkNzdlMTNhNjg1ZjU2NDdlZDc0ZTVmMmQxNTVkYWQ2ZmQxNzhkNzVhLi43ODI0
M2NiYjAzZjk2MDA4NGQ2M2I5OGQ5MGU1NTgxNjAzNDA1YmIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxk
ZXIuY3BwCkBAIC0yNTYsMTUgKzI1NiwxNSBAQCBMaW5lQnVpbGRlcjo6TGluZUJ1aWxkZXIoY29u
c3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LAogewog
fQogCi1MaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNv
bnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFy
dGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxv
Z2ljYWxSZWN0LCBib29sIGlzRmlyc3RMaW5lKQorTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExp
bmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVl
ZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgT3B0aW9u
YWw8SW5saW5lTGF5b3V0VW5pdD4gb3ZlcmZsb3dMb2dpY2FsV2lkdGgsIGNvbnN0IElubGluZVJl
Y3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpCiB7CiAgICAgaW5p
dGlhbGl6ZShpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGluaXRpYWxMaW5lTG9naWNhbFJlY3Qs
IGlzRmlyc3RMaW5lKSk7CiAKLSAgICBhdXRvIGNvbW1pdHRlZENvbnRlbnQgPSBwbGFjZUlubGlu
ZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSwgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKTsK
KyAgICBhdXRvIGNvbW1pdHRlZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlv
dXRSYW5nZSwgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBvdmVyZmxvd0xvZ2ljYWxXaWR0
aCk7CiAgICAgYXV0byBjb21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0UmFuZ2UsIGNv
bW1pdHRlZENvbnRlbnQpOwogCiAgICAgYXV0byBpc0xhc3RMaW5lID0gaXNMYXN0TGluZVdpdGhJ
bmxpbmVDb250ZW50KGNvbW1pdHRlZFJhbmdlLCBuZWVkc0xheW91dFJhbmdlLmVuZCwgY29tbWl0
dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoKTsKLSAgICByZXR1cm4gTGlu
ZUNvbnRlbnQgeyBjb21taXR0ZWRSYW5nZSwgY29tbWl0dGVkQ29udGVudC5wYXJ0aWFsVHJhaWxp
bmdDb250ZW50TGVuZ3RoLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQK
KyAgICByZXR1cm4gTGluZUNvbnRlbnQgeyBjb21taXR0ZWRSYW5nZSwgY29tbWl0dGVkQ29udGVu
dC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoLCBjb21taXR0ZWRDb250ZW50Lm92ZXJmbG93
TG9naWNhbFdpZHRoLCBtX2Zsb2F0cywgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQKICAg
ICAgICAgLCBtX2xpbmVMb2dpY2FsUmVjdC50b3BMZWZ0KCkKICAgICAgICAgLCBtX2xpbmVMb2dp
Y2FsUmVjdC53aWR0aCgpCiAgICAgICAgICwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKQpA
QCAtMjc1LDcgKzI3NSw3IEBAIExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6
bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiBMaW5lQnVpbGRlcjo6
SW50cmluc2ljQ29udGVudCBMaW5lQnVpbGRlcjo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aChjb25z
dCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIElubGluZUxheW91dFVuaXQgYXZh
aWxhYmxlV2lkdGgpCiB7CiAgICAgaW5pdGlhbGl6ZSh7IHsgeyB9LCB7IGF2YWlsYWJsZVdpZHRo
LCBtYXhJbmxpbmVMYXlvdXRVbml0KCkgfSB9LCBmYWxzZSB9KTsKLSAgICBhdXRvIGNvbW1pdHRl
ZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSwgeyB9KTsKKyAg
ICBhdXRvIGNvbW1pdHRlZENvbnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlvdXRS
YW5nZSwgeyB9LCB7IH0pOwogICAgIGF1dG8gY29tbWl0dGVkUmFuZ2UgPSBjbG9zZShuZWVkc0xh
eW91dFJhbmdlLCBjb21taXR0ZWRDb250ZW50KTsKICAgICByZXR1cm4geyBjb21taXR0ZWRSYW5n
ZSwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSwgbV9mbG9hdHMgfTsKIH0KQEAgLTI5MSw3
ICsyOTEsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJh
aW50cyYgbGluZUNvbnN0cmFpbnRzKQogICAgIG1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0
ID0gbGluZUNvbnN0cmFpbnRzLmlzQ29uc3RyYWluZWRCeUZsb2F0OwogfQogCi1MaW5lQnVpbGRl
cjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0
IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5n
Q29udGVudExlbmd0aCkKK0xpbmVCdWlsZGVyOjpDb21taXR0ZWRDb250ZW50IExpbmVCdWlsZGVy
OjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJh
bmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBPcHRpb25hbDxJbmxpbmVM
YXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCkKIHsKICAgICBhdXRvIGxpbmVDYW5kaWRh
dGUgPSBMaW5lQ2FuZGlkYXRlIHsgbGF5b3V0U3RhdGUoKS5zaG91bGRJZ25vcmVUcmFpbGluZ0xl
dHRlclNwYWNpbmcoKSB9OwogICAgIGF1dG8gaW5saW5lQ29udGVudEJyZWFrZXIgPSBJbmxpbmVD
b250ZW50QnJlYWtlciB7IH07CkBAIC0zMDMsNyArMzAzLDcgQEAgTGluZUJ1aWxkZXI6OkNvbW1p
dHRlZENvbnRlbnQgTGluZUJ1aWxkZXI6OnBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtUmEKICAgICAgICAgLy8gMi4gQXBwbHkgZmxvYXRzIGFuZCBzaHJpbmsgdGhlIGF2YWlsYWJs
ZSBob3Jpem9udGFsIHNwYWNlIGUuZy4gPHNwYW4+aW50cnVfPGRpdiBzdHlsZT0iZmxvYXQ6IGxl
ZnQiPjwvZGl2PnNpdmVfZmxvYXQ8L3NwYW4+LgogICAgICAgICAvLyAzLiBDaGVjayBpZiB0aGUg
Y29udGVudCBmaXRzIHRoZSBsaW5lIGFuZCBjb21taXQgdGhlIGNvbnRlbnQgYWNjb3JkaW5nbHkg
KGZ1bGwsIHBhcnRpYWwgb3Igbm90IGNvbW1pdCBhdCBhbGwpLgogICAgICAgICAvLyA0LiBSZXR1
cm4gaWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUgZWl0aGVyIGJ5IG5vdCBiZWluZyBh
YmxlIHRvIGZpdCBtb3JlIGNvbnRlbnQgb3IgYmVjYXVzZSBvZiBhbiBleHBsaWNpdCBsaW5lIGJy
ZWFrLgotICAgICAgICBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShsaW5lQ2FuZGlkYXRlLCBjdXJy
ZW50SXRlbUluZGV4LCBuZWVkc0xheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5n
dGgsIG1fbGluZS5jb250ZW50TG9naWNhbFJpZ2h0KCkpOworICAgICAgICBjYW5kaWRhdGVDb250
ZW50Rm9yTGluZShsaW5lQ2FuZGlkYXRlLCBjdXJyZW50SXRlbUluZGV4LCBuZWVkc0xheW91dFJh
bmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIG92ZXJmbG93TG9naWNhbFdpZHRoLCBt
X2xpbmUuY29udGVudExvZ2ljYWxSaWdodCgpKTsKICAgICAgICAgLy8gTm93IGNoZWNrIGlmIHdl
IGNhbiBwdXQgdGhpcyBjb250ZW50IG9uIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgIGF1dG8g
cmVzdWx0ID0gUmVzdWx0IHsgfTsKICAgICAgICAgaWYgKGxpbmVDYW5kaWRhdGUuZmxvYXRJdGVt
KSB7CkBAIC0zMzUsMTAgKzMzNSwxMSBAQCBMaW5lQnVpbGRlcjo6Q29tbWl0dGVkQ29udGVudCBM
aW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYQogICAgICAg
ICB9CiAgICAgICAgIGlmIChpc0VuZE9mTGluZSkgewogICAgICAgICAgICAgLy8gV2UgY2FuJ3Qg
cGxhY2UgYW55IG1vcmUgaXRlbXMgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIHJl
dHVybiB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0Nv
bnRlbnRMZW5ndGggfTsKKyAgICAgICAgICAgIHJldHVybiB7IGNvbW1pdHRlZElubGluZUl0ZW1D
b3VudCwgcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsIHJlc3VsdC5vdmVyZmxv
d0xvZ2ljYWxXaWR0aCB9OwogICAgICAgICB9CiAgICAgICAgIGN1cnJlbnRJdGVtSW5kZXggPSBu
ZWVkc0xheW91dFJhbmdlLnN0YXJ0ICsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICsgbV9mbG9h
dHMuc2l6ZSgpOwogICAgICAgICBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSB7IH07Cisg
ICAgICAgIG92ZXJmbG93TG9naWNhbFdpZHRoID0geyB9OwogICAgIH0KICAgICAvLyBMb29rcyBs
aWtlIHdlJ3ZlIHJ1biBvdXQgb2YgcnVucy4KICAgICByZXR1cm4geyBjb21taXR0ZWRJbmxpbmVJ
dGVtQ291bnQsIHsgfSB9OwpAQCAtNDU3LDcgKzQ1OCw3IEBAIExpbmVCdWlsZGVyOjpVc2VkQ29u
c3RyYWludHMgTGluZUJ1aWxkZXI6OmluaXRpYWxDb25zdHJhaW50c0ZvckxpbmUoY29uc3QgSW5s
aW5lCiAgICAgcmV0dXJuIFVzZWRDb25zdHJhaW50cyB7IHsgaW5pdGlhbExpbmVMb2dpY2FsUmVj
dC50b3AoKSwgbGluZUxvZ2ljYWxMZWZ0LCBsaW5lTG9naWNhbFJpZ2h0IC0gbGluZUxvZ2ljYWxM
ZWZ0LCBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LmhlaWdodCgpIH0sIGxpbmVJc0NvbnN0cmFpbmVk
QnlGbG9hdCB9OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjpjYW5kaWRhdGVDb250ZW50Rm9yTGlu
ZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzaXplX3QgY3VycmVudElubGluZUl0ZW1J
bmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxM
ZWFkaW5nQ29udGVudExlbmd0aCwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0
KQordm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlkYXRlQ29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0
ZSYgbGluZUNhbmRpZGF0ZSwgc2l6ZV90IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElu
bGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2UsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRM
ZW5ndGgsIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRoLCBJ
bmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpCiB7CiAgICAgQVNTRVJUKGN1cnJl
bnRJbmxpbmVJdGVtSW5kZXggPCBsYXlvdXRSYW5nZS5lbmQpOwogICAgIGxpbmVDYW5kaWRhdGUu
cmVzZXQoKTsKQEAgLTQ3MiwxMCArNDczLDExIEBAIHZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0
ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjCiAg
ICAgICAgIC8vIEhhbmRsZSBsZWFkaW5nIHBhcnRpYWwgY29udGVudCBmaXJzdCAob3ZlcmZsb3dp
bmcgdGV4dCBmcm9tIHRoZSBwcmV2aW91cyBsaW5lKS4KICAgICAgICAgLy8gQ29uc3RydWN0IGEg
cGFydGlhbCBsZWFkaW5nIGlubGluZSBpdGVtLgogICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4
dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4obV9pbmxpbmVJdGVtc1tjdXJyZW50SW5s
aW5lSXRlbUluZGV4XSkucmlnaHQocGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKTsKLSAgICAg
ICAgYXV0byBpdGVtV2lkdGggPSBpbmxpbmVJdGVtV2lkdGgoKm1fcGFydGlhbExlYWRpbmdUZXh0
SXRlbSwgY3VycmVudExvZ2ljYWxSaWdodCk7CisgICAgICAgIGF1dG8gaXRlbVdpZHRoID0gb3Zl
cmZsb3dMb2dpY2FsV2lkdGggPyAqb3ZlcmZsb3dMb2dpY2FsV2lkdGggOiBpbmxpbmVJdGVtV2lk
dGgoKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgY3VycmVudExvZ2ljYWxSaWdodCk7CiAgICAg
ICAgIGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5hcHBlbmRJbmxpbmVJdGVtKCptX3BhcnRp
YWxMZWFkaW5nVGV4dEl0ZW0sIGl0ZW1XaWR0aCk7CiAgICAgICAgIGN1cnJlbnRMb2dpY2FsUmln
aHQgKz0gaXRlbVdpZHRoOwogICAgICAgICArK2N1cnJlbnRJbmxpbmVJdGVtSW5kZXg7CisgICAg
ICAgIG92ZXJmbG93TG9naWNhbFdpZHRoID0geyB9OwogICAgIH0KIAogICAgIGZvciAoYXV0byBp
bmRleCA9IGN1cnJlbnRJbmxpbmVJdGVtSW5kZXg7IGluZGV4IDwgc29mdFdyYXBPcHBvcnR1bml0
eUluZGV4OyArK2luZGV4KSB7CkBAIC00ODcsOSArNDg5LDExIEBAIHZvaWQgTGluZUJ1aWxkZXI6
OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNp
emVfdCBjCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoaW5s
aW5lSXRlbS5pc1RleHQoKSB8fCBpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSB8fCBpbmxp
bmVJdGVtLmlzSW5saW5lQm94RW5kKCkgfHwgaW5saW5lSXRlbS5pc0JveCgpKSB7Ci0gICAgICAg
ICAgICBhdXRvIGxvZ2ljYWxXaWR0aCA9IGlubGluZUl0ZW1XaWR0aChpbmxpbmVJdGVtLCBjdXJy
ZW50TG9naWNhbFJpZ2h0KTsKKyAgICAgICAgICAgIEFTU0VSVCghb3ZlcmZsb3dMb2dpY2FsV2lk
dGggfHwgaW5saW5lSXRlbS5pc1RleHQoKSk7CisgICAgICAgICAgICBhdXRvIGxvZ2ljYWxXaWR0
aCA9IG92ZXJmbG93TG9naWNhbFdpZHRoID8gKm92ZXJmbG93TG9naWNhbFdpZHRoIDogaW5saW5l
SXRlbVdpZHRoKGlubGluZUl0ZW0sIGN1cnJlbnRMb2dpY2FsUmlnaHQpOwogICAgICAgICAgICAg
bGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmFwcGVuZElubGluZUl0ZW0oaW5saW5lSXRlbSwg
bG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIGN1cnJlbnRMb2dpY2FsUmlnaHQgKz0gbG9naWNh
bFdpZHRoOworICAgICAgICAgICAgb3ZlcmZsb3dMb2dpY2FsV2lkdGggPSB7IH07CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoaW5saW5lSXRlbS5pc0xpbmVC
cmVhaygpIHx8IGlubGluZUl0ZW0uaXNXb3JkQnJlYWtPcHBvcnR1bml0eSgpKSB7CkBAIC02OTEs
NiArNjk1LDEwIEBAIExpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGlu
ZUNvbnRlbnQoSW5saW5lQ29udGVudEJyZWFrZXImIGlubGluCiAgICAgaWYgKHJlc3VsdC5hY3Rp
b24gPT0gSW5saW5lQ29udGVudEJyZWFrZXI6OlJlc3VsdDo6QWN0aW9uOjpXcmFwKSB7CiAgICAg
ICAgIEFTU0VSVChyZXN1bHQuaXNFbmRPZkxpbmUgPT0gSW5saW5lQ29udGVudEJyZWFrZXI6Oklz
RW5kT2ZMaW5lOjpZZXMpOwogICAgICAgICAvLyBUaGlzIGNvbnRpbnVvdXMgY29udGVudCBjYW4n
dCBiZSBwbGFjZWQgb24gdGhlIGN1cnJlbnQgbGluZS4gTm90aGluZyB0byBjb21taXQgYXQgdGhp
cyB0aW1lLgorICAgICAgICBpZiAoY2FuZGlkYXRlUnVucy5zaXplKCkgPT0gMSAmJiBjYW5kaWRh
dGVSdW5zLmZpcnN0KCkuaW5saW5lSXRlbS5pc1RleHQoKSkgeworICAgICAgICAgICAgLy8gRklY
TUU6IEFkZCBzdXBwb3J0IGZvciBvdGhlciB0eXBlcyBvZiBjb250aW51b3VzIGNvbnRlbnQuCisg
ICAgICAgICAgICByZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6Olll
cywgeyB9LCB7IH0sIGNhbmRpZGF0ZVJ1bnMuZmlyc3QoKS5sb2dpY2FsV2lkdGggfTsKKyAgICAg
ICAgfQogICAgICAgICByZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6
OlllcyB9OwogICAgIH0KICAgICBpZiAocmVzdWx0LmFjdGlvbiA9PSBJbmxpbmVDb250ZW50QnJl
YWtlcjo6UmVzdWx0OjpBY3Rpb246OldyYXBXaXRoSHlwaGVuKSB7CkBAIC03MjgsNiArNzM2LDEx
IEBAIExpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxkZXI6OmhhbmRsZUlubGluZUNvbnRlbnQo
SW5saW5lQ29udGVudEJyZWFrZXImIGlubGluCiAgICAgICAgIGF1dG8mIHRyYWlsaW5nSW5saW5l
VGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oY2FuZGlkYXRlUnVuc1t0cmFpbGlu
Z1J1bkluZGV4XS5pbmxpbmVJdGVtKTsKICAgICAgICAgQVNTRVJUKHBhcnRpYWxSdW4ubGVuZ3Ro
IDwgdHJhaWxpbmdJbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSk7CiAgICAgICAgIGF1dG8gb3ZlcmZs
b3dMZW5ndGggPSB0cmFpbGluZ0lubGluZVRleHRJdGVtLmxlbmd0aCgpIC0gcGFydGlhbFJ1bi5s
ZW5ndGg7CisgICAgICAgIGlmIChjYW5kaWRhdGVSdW5zLnNpemUoKSA9PSAxICYmIGNhbmRpZGF0
ZVJ1bnMuZmlyc3QoKS5pbmxpbmVJdGVtLmlzVGV4dCgpKSB7CisgICAgICAgICAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIG90aGVyIHR5cGVzIG9mIGNvbnRpbnVvdXMgY29udGVudC4KKyAg
ICAgICAgICAgIGF1dG8gb3ZlcmZsb3dMb2dpY2FsV2lkdGggPSBjYW5kaWRhdGVSdW5zLmZpcnN0
KCkubG9naWNhbFdpZHRoIC0gcGFydGlhbFJ1bi5sb2dpY2FsV2lkdGg7CisgICAgICAgICAgICBy
ZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcywgeyBjb21taXR0
ZWRJbmxpbmVJdGVtQ291bnQsIGZhbHNlIH0sIG92ZXJmbG93TGVuZ3RoLCBvdmVyZmxvd0xvZ2lj
YWxXaWR0aCB9OworICAgICAgICB9CiAgICAgICAgIHJldHVybiB7IElubGluZUNvbnRlbnRCcmVh
a2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgZmFsc2Ug
fSwgb3ZlcmZsb3dMZW5ndGggfTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJ1aWxkZXIuaAppbmRleCAxNmZjMzhlZjRjN2I3ZmNjMTU0ZWZmZWE3ZTNjNzJjMTk4
ZjEwNWJiLi40ZjkwNWE2Y2ExY2FkYjFiYTU0N2E5NWY0NWU4Y2JkYzNiYTY3Y2Y3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVp
bGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmVCdWlsZGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHN0cnVjdCBMaW5l
Q29udGVudCB7CiAgICAgICAgIElubGluZUl0ZW1SYW5nZSBpbmxpbmVJdGVtUmFuZ2U7CiAgICAg
ICAgIHNpemVfdCBwYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoIHsgMCB9OworICAgICAgICBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aDsKICAgICAgICAg
Y29uc3QgRmxvYXRMaXN0JiBmbG9hdHM7CiAgICAgICAgIGJvb2wgaGFzSW50cnVzaXZlRmxvYXQg
eyBmYWxzZSB9OwogICAgICAgICBJbmxpbmVMYXlvdXRQb2ludCBsb2dpY2FsVG9wTGVmdDsKQEAg
LTYwLDcgKzYxLDcgQEAgcHVibGljOgogICAgICAgICBib29sIGlzTGFzdExpbmVXaXRoSW5saW5l
Q29udGVudCB7IHRydWUgfTsKICAgICAgICAgY29uc3QgTGluZTo6UnVuTGlzdCYgcnVuczsKICAg
ICB9OwotICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRl
bVJhbmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgY29uc3QgSW5saW5l
UmVjdCYgaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSk7CisgICAgTGlu
ZUNvbnRlbnQgbGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBzaXpl
X3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCwgY29uc3QgSW5saW5lUmVjdCYgaW5pdGlhbExpbmVMb2dp
Y2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSk7CiAKICAgICBzdHJ1Y3QgSW50cmluc2ljQ29udGVu
dCB7CiAgICAgICAgIElubGluZUl0ZW1SYW5nZSBpbmxpbmVJdGVtUmFuZ2U7CkBAIC03MCw3ICs3
MSw3IEBAIHB1YmxpYzoKICAgICBJbnRyaW5zaWNDb250ZW50IGNvbXB1dGVkSW50cmluc2ljV2lk
dGgoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0
aCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2Fu
ZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBu
ZWVkc0xheW91dFJhbmdlLCBzaXplX3Qgb3ZlcmZsb3dMZW5ndGgsIElubGluZUxheW91dFVuaXQg
Y3VycmVudExvZ2ljYWxSaWdodCk7CisgICAgdm9pZCBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShM
aW5lQ2FuZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJh
bmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3Qgb3ZlcmZsb3dMZW5ndGgsIE9wdGlvbmFsPElu
bGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGN1
cnJlbnRMb2dpY2FsUmlnaHQpOwogICAgIHNpemVfdCBuZXh0V3JhcE9wcG9ydHVuaXR5KHNpemVf
dCBzdGFydEluZGV4LCBjb25zdCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlJiBsYXlvdXRS
YW5nZSkgY29uc3Q7CiAKICAgICBzdHJ1Y3QgUmVzdWx0IHsKQEAgLTgxLDYgKzgyLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgfTsKICAgICAgICAgQ29tbWl0dGVkQ29udGVudENvdW50IGNvbW1pdHRl
ZENvdW50IHsgfTsKICAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgg
eyAwIH07CisgICAgICAgIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNh
bFdpZHRoIHsgfTsKICAgICB9OwogICAgIHN0cnVjdCBVc2VkQ29uc3RyYWludHMgewogICAgICAg
ICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0OwpAQCAtOTgsOCArMTAwLDkgQEAgcHJpdmF0ZToKICAg
ICBzdHJ1Y3QgQ29tbWl0dGVkQ29udGVudCB7CiAgICAgICAgIHNpemVfdCBpbmxpbmVJdGVtQ291
bnQgeyAwIH07CiAgICAgICAgIHNpemVfdCBwYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoIHsg
MCB9OworICAgICAgICBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxX
aWR0aCB7IH07CiAgICAgfTsKLSAgICBDb21taXR0ZWRDb250ZW50IHBsYWNlSW5saW5lQ29udGVu
dChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVu
Z3RoKTsKKyAgICBDb21taXR0ZWRDb250ZW50IHBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBPcHRpb25h
bDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCk7CiAgICAgSW5saW5lSXRl
bVJhbmdlIGNsb3NlKGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgY29u
c3QgQ29tbWl0dGVkQ29udGVudCYpOwogCiAgICAgSW5saW5lTGF5b3V0VW5pdCBpbmxpbmVJdGVt
V2lkdGgoY29uc3QgSW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxM
ZWZ0KSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420268</attachid>
            <date>2021-02-14 21:08:38 -0800</date>
            <delta_ts>2021-02-15 09:11:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221874-20210214210838.patch</filename>
            <type>text/plain</type>
            <size>17064</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRlNWY3YmZjZGMwNzky
NWQyZjJkZDA3ZTJlODM0MjQ0NmUyNjk4Mi4uODE5MWZlZGMxZTNmNTlhNDVmNDU1M2NjYWJlODFh
MGYzNmMyZGQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTAyLTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBEbyBub3Qg
cmUtbWVhc3VyZSB3cmFwcGVkIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTg3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcmVzc2VzIHRoZSBwZXJmb3JtYW5jZSBp
c3N1ZSB3aXRoIGV4dHJlbWVseSBsb25nIGNvbnRlbnQgd2hlbgorICAgICAgICB0aGUgY29udGVu
dCBnZXRzIHJlLW1lYXN1cmVkIG1hbnkgdGltZSB3aGlsZSBwZXJmb3JtaW5nIGxpbmUgYnJlYWtp
bmcuCisKKyAgICAgICAgV2hlbiBhIGNlcnRhaW4gdGV4dCBjb250ZW50IGRvZXMgbm90IGZpdCB0
aGUgbGluZSB3ZSBjYW4KKyAgICAgICAgMS4ga2VlcCBpdCBvbiB0aGUgY3VycmVudCBsaW5lIGFu
ZCBsZXQgaXQgb3ZlcmZsb3cgb3IKKyAgICAgICAgMi4gd3JhcCB0aGUgZW50aXJlIGNvbnRlbnQg
dG8gdGhlIG5leHQgbGluZSBvcgorICAgICAgICAzLiBzcGxpdCBpdCBzb21ld2hlcmUgaW4gdGhl
IG1pZGRsZS4KKworICAgICAgICBJbiBjYXNlIG9mIDIgYW5kIDMgdGhpcyBvdmVyZmxvd2luZyBj
b250ZW50IHR1cm5zIGludG8gdGhlIGxlYWRpbmcgY29udGVudCBvbiB0aGUgc3Vic2VxdWVudCBs
aW5lLgorICAgICAgICBOb3cgZHVlIHRvIGxpZ2F0dXJlICgjMykgYW5kIHBvc2l0aW9uIGRlcGVu
ZGVudCBnbHlwaCBzaXppbmcoIzIpIHdlIG5lZWQgdG8gcmVtZWFzdXJlIHRoaXMgbGVhZGluZyBj
b250ZW50IGFnYWluLgorICAgICAgICBIb3dldmVyIHdpdGggdW5yZWFzb25hYmx5IGxvbmcgY29u
dGVudCBhbmQgcmVsYXRpdmVseSBzbWFsbCBob3Jpem9udGFsIGNvbnN0cmFpbnQsIHRoaXMgY291
bGQgbGVhZCB0bworICAgICAgICByZXBlYXRlZCwgY29udGludW91cyB0ZXh0IG1lYXN1cmluZy4K
KyAgICAgICAgSW4gdGhpcyBwYXRjaCB3ZSB0dXJuIHRoZSBvdmVyZmxvdyB3aWR0aCBpbnRvIHRo
ZSBsZWFkaW5nIHdpZHRoIHNvIHRoYXQgd2UgbWVhc3VyZSB0aGUgbG9uZyB0ZXh0IGNvbnRlbnQg
b25seSBvbmNlLgorICAgICAgICAoRklYTUU6IFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGEg
Z2VuZXJpYyAidXNlIHRoZSBvdmVyZmxvdyBjb250ZW50IGFzLWlzIHdoZW4gdHVybmluZyBpdCBp
bnRvIGxlYWRpbmcgY29udGVudCIpCisKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KToKKyAgICAgICAgKiBsYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRG
b3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmhhbmRsZUlu
bGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxp
bmVCdWlsZGVyLmg6CisKIDIwMjEtMDItMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTEZDXSBVcGRhdGUgdGhlIGJsb2NrIGJveC9jb250YWluZXIgbGlzdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGExMTljM2MzYmQ5YTlhYjdi
ODEyMDUxMDA0MGEyOTdhMzkzNzA4YzguLjE5MGI1MDhhN2ZmOTc5MTc0MWJjNmEwNTEyM2Q4MDY4
OGVjZGNkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTE4MCw2
ICsxODAsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KElubGlu
ZUl0ZW1zJiBpbmxpbmVJdGVtcywgTGluZUJ1aWxkZXI6OgogICAgIHN0cnVjdCBQcmV2aW91c0xp
bmUgewogICAgICAgICBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlIHJhbmdlOwogICAgICAg
ICBzaXplX3Qgb3ZlcmZsb3dDb250ZW50TGVuZ3RoIHsgMCB9OworICAgICAgICBPcHRpb25hbDxJ
bmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aDsKICAgICB9OwogICAgIE9wdGlv
bmFsPFByZXZpb3VzTGluZT4gcHJldmlvdXNMaW5lOwogICAgIGF1dG8mIGZsb2F0aW5nU3RhdGUg
PSBmb3JtYXR0aW5nU3RhdGUuZmxvYXRpbmdTdGF0ZSgpOwpAQCAtMTkxLDggKzE5Miw5IEBAIHZv
aWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoSW5saW5lSXRlbXMmIGlubGlu
ZUl0ZW1zLCBMaW5lQnVpbGRlcjo6CiAgICAgICAgIC8vIFR1cm4gcHJldmlvdXMgbGluZSdzIG92
ZXJmbG93IGNvbnRlbnQgbGVuZ3RoIGludG8gdGhlIG5leHQgbGluZSdzIGxlYWRpbmcgY29udGVu
dCBwYXJ0aWFsIGxlbmd0aC4KICAgICAgICAgLy8gInNwWzwtbGluZSBicmVhay0+XWxpdF9jb250
ZW50IiAtPiBvdmVyZmxvdyBsZW5ndGg6IDExIC0+IGxlYWRpbmcgcGFydGlhbCBjb250ZW50IGxl
bmd0aDogMTEuCiAgICAgICAgIGF1dG8gcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoID0gcHJl
dmlvdXNMaW5lID8gcHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRlbnRMZW5ndGggOiAwOworICAg
ICAgICBhdXRvIGxlYWRpbmdMb2dpY2FsV2lkdGggPSBwcmV2aW91c0xpbmUgPyBwcmV2aW91c0xp
bmUtPm92ZXJmbG93TG9naWNhbFdpZHRoIDogV1RGOjpudWxsb3B0OwogICAgICAgICBhdXRvIGlu
aXRpYWxMaW5lQ29uc3RyYWludHMgPSBJbmxpbmVSZWN0IHsgbGluZUxvZ2ljYWxUb3AsIGNvbnN0
cmFpbnRzLmhvcml6b250YWwubG9naWNhbExlZnQsIGNvbnN0cmFpbnRzLmhvcml6b250YWwubG9n
aWNhbFdpZHRoLCBxdWlya3MoKS5pbml0aWFsTGluZUhlaWdodCgpIH07Ci0gICAgICAgIGF1dG8g
bGluZUNvbnRlbnQgPSBsaW5lQnVpbGRlci5sYXlvdXRJbmxpbmVDb250ZW50KG5lZWRzTGF5b3V0
UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgaW5pdGlhbExpbmVDb25zdHJhaW50
cywgaXNGaXJzdExpbmUpOworICAgICAgICBhdXRvIGxpbmVDb250ZW50ID0gbGluZUJ1aWxkZXIu
bGF5b3V0SW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRl
bnRMZW5ndGgsIGxlYWRpbmdMb2dpY2FsV2lkdGgsIGluaXRpYWxMaW5lQ29uc3RyYWludHMsIGlz
Rmlyc3RMaW5lKTsKICAgICAgICAgYXV0byBsaW5lTG9naWNhbFJlY3QgPSBjb21wdXRlR2VvbWV0
cnlGb3JMaW5lQ29udGVudChsaW5lQ29udGVudCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCk7CiAK
ICAgICAgICAgYXV0byBsaW5lQ29udGVudFJhbmdlID0gbGluZUNvbnRlbnQuaW5saW5lSXRlbVJh
bmdlOwpAQCAtMjE4LDcgKzIyMCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Omxp
bmVMYXlvdXQoSW5saW5lSXRlbXMmIGlubGluZUl0ZW1zLCBMaW5lQnVpbGRlcjo6CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgbmVlZHNMYXlvdXRSYW5nZS5z
dGFydCA9IGxhc3RJbmxpbmVJdGVtTmVlZHNQYXJ0aWFsTGF5b3V0ID8gbGluZUNvbnRlbnRSYW5n
ZS5lbmQgLSAxIDogbGluZUNvbnRlbnRSYW5nZS5lbmQ7Ci0gICAgICAgICAgICBwcmV2aW91c0xp
bmUgPSBQcmV2aW91c0xpbmUgeyBsaW5lQ29udGVudFJhbmdlLCBsaW5lQ29udGVudC5wYXJ0aWFs
VHJhaWxpbmdDb250ZW50TGVuZ3RoIH07CisgICAgICAgICAgICBwcmV2aW91c0xpbmUgPSBQcmV2
aW91c0xpbmUgeyBsaW5lQ29udGVudFJhbmdlLCBsaW5lQ29udGVudC5wYXJ0aWFsVHJhaWxpbmdD
b250ZW50TGVuZ3RoLCBsaW5lQ29udGVudC5vdmVyZmxvd0xvZ2ljYWxXaWR0aCB9OwogICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgLy8gRmxvYXRzIHByZXZlbnRlZCB1
cyBwbGFjaW5nIGFueSBjb250ZW50IG9uIHRoZSBsaW5lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3Bw
CmluZGV4IGQ3N2UxM2E2ODVmNTY0N2VkNzRlNWYyZDE1NWRhZDZmZDE3OGQ3NWEuLmUyMDNlOGUw
NTg0MjRlMTllNGQ5OTQ1MTA3ZjE2MGZlM2IyOThhMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5j
cHAKQEAgLTI1NiwxNSArMjU2LDE1IEBAIExpbmVCdWlsZGVyOjpMaW5lQnVpbGRlcihjb25zdCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsCiB7CiB9CiAK
LUxpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVu
dChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIHNpemVfdCBwYXJ0aWFs
TGVhZGluZ0NvbnRlbnRMZW5ndGgsIGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNh
bFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpCitMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1
aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xh
eW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBPcHRpb25hbDxJ
bmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCwgY29uc3QgSW5saW5lUmVjdCYg
aW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSkKIHsKICAgICBpbml0aWFs
aXplKGluaXRpYWxDb25zdHJhaW50c0ZvckxpbmUoaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgaXNG
aXJzdExpbmUpKTsKIAotICAgIGF1dG8gY29tbWl0dGVkQ29udGVudCA9IHBsYWNlSW5saW5lQ29u
dGVudChuZWVkc0xheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOworICAg
IGF1dG8gY29tbWl0dGVkQ29udGVudCA9IHBsYWNlSW5saW5lQ29udGVudChuZWVkc0xheW91dFJh
bmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIG92ZXJmbG93TG9naWNhbFdpZHRoKTsK
ICAgICBhdXRvIGNvbW1pdHRlZFJhbmdlID0gY2xvc2UobmVlZHNMYXlvdXRSYW5nZSwgY29tbWl0
dGVkQ29udGVudCk7CiAKICAgICBhdXRvIGlzTGFzdExpbmUgPSBpc0xhc3RMaW5lV2l0aElubGlu
ZUNvbnRlbnQoY29tbWl0dGVkUmFuZ2UsIG5lZWRzTGF5b3V0UmFuZ2UuZW5kLCBjb21taXR0ZWRD
b250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOwotICAgIHJldHVybiBMaW5lQ29u
dGVudCB7IGNvbW1pdHRlZFJhbmdlLCBjb21taXR0ZWRDb250ZW50LnBhcnRpYWxUcmFpbGluZ0Nv
bnRlbnRMZW5ndGgsIG1fZmxvYXRzLCBtX2NvbnRlbnRJc0NvbnN0cmFpbmVkQnlGbG9hdAorICAg
IHJldHVybiBMaW5lQ29udGVudCB7IGNvbW1pdHRlZFJhbmdlLCBjb21taXR0ZWRDb250ZW50LnBh
cnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsIGNvbW1pdHRlZENvbnRlbnQub3ZlcmZsb3dMb2dp
Y2FsV2lkdGgsIG1fZmxvYXRzLCBtX2NvbnRlbnRJc0NvbnN0cmFpbmVkQnlGbG9hdAogICAgICAg
ICAsIG1fbGluZUxvZ2ljYWxSZWN0LnRvcExlZnQoKQogICAgICAgICAsIG1fbGluZUxvZ2ljYWxS
ZWN0LndpZHRoKCkKICAgICAgICAgLCBtX2xpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpCkBAIC0y
NzUsNyArMjc1LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlv
dXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYKIExpbmVCdWlsZGVyOjpJbnRy
aW5zaWNDb250ZW50IExpbmVCdWlsZGVyOjpjb21wdXRlZEludHJpbnNpY1dpZHRoKGNvbnN0IElu
bGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFi
bGVXaWR0aCkKIHsKICAgICBpbml0aWFsaXplKHsgeyB7IH0sIHsgYXZhaWxhYmxlV2lkdGgsIG1h
eElubGluZUxheW91dFVuaXQoKSB9IH0sIGZhbHNlIH0pOwotICAgIGF1dG8gY29tbWl0dGVkQ29u
dGVudCA9IHBsYWNlSW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCB7IH0pOworICAgIGF1
dG8gY29tbWl0dGVkQ29udGVudCA9IHBsYWNlSW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdl
LCB7IH0sIHsgfSk7CiAgICAgYXV0byBjb21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0
UmFuZ2UsIGNvbW1pdHRlZENvbnRlbnQpOwogICAgIHJldHVybiB7IGNvbW1pdHRlZFJhbmdlLCBt
X2xpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpLCBtX2Zsb2F0cyB9OwogfQpAQCAtMjkxLDcgKzI5
MSw3IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRz
JiBsaW5lQ29uc3RyYWludHMpCiAgICAgbV9jb250ZW50SXNDb25zdHJhaW5lZEJ5RmxvYXQgPSBs
aW5lQ29uc3RyYWludHMuaXNDb25zdHJhaW5lZEJ5RmxvYXQ7CiB9CiAKLUxpbmVCdWlsZGVyOjpD
b21taXR0ZWRDb250ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5s
aW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250
ZW50TGVuZ3RoKQorTGluZUJ1aWxkZXI6OkNvbW1pdHRlZENvbnRlbnQgTGluZUJ1aWxkZXI6OnBs
YWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2Us
IHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIE9wdGlvbmFsPElubGluZUxheW91
dFVuaXQ+IGxlYWRpbmdMb2dpY2FsV2lkdGgpCiB7CiAgICAgYXV0byBsaW5lQ2FuZGlkYXRlID0g
TGluZUNhbmRpZGF0ZSB7IGxheW91dFN0YXRlKCkuc2hvdWxkSWdub3JlVHJhaWxpbmdMZXR0ZXJT
cGFjaW5nKCkgfTsKICAgICBhdXRvIGlubGluZUNvbnRlbnRCcmVha2VyID0gSW5saW5lQ29udGVu
dEJyZWFrZXIgeyB9OwpAQCAtMzAzLDcgKzMwMyw3IEBAIExpbmVCdWlsZGVyOjpDb21taXR0ZWRD
b250ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJh
CiAgICAgICAgIC8vIDIuIEFwcGx5IGZsb2F0cyBhbmQgc2hyaW5rIHRoZSBhdmFpbGFibGUgaG9y
aXpvbnRhbCBzcGFjZSBlLmcuIDxzcGFuPmludHJ1XzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0Ij48
L2Rpdj5zaXZlX2Zsb2F0PC9zcGFuPi4KICAgICAgICAgLy8gMy4gQ2hlY2sgaWYgdGhlIGNvbnRl
bnQgZml0cyB0aGUgbGluZSBhbmQgY29tbWl0IHRoZSBjb250ZW50IGFjY29yZGluZ2x5IChmdWxs
LCBwYXJ0aWFsIG9yIG5vdCBjb21taXQgYXQgYWxsKS4KICAgICAgICAgLy8gNC4gUmV0dXJuIGlm
IHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lIGVpdGhlciBieSBub3QgYmVpbmcgYWJsZSB0
byBmaXQgbW9yZSBjb250ZW50IG9yIGJlY2F1c2Ugb2YgYW4gZXhwbGljaXQgbGluZSBicmVhay4K
LSAgICAgICAgY2FuZGlkYXRlQ29udGVudEZvckxpbmUobGluZUNhbmRpZGF0ZSwgY3VycmVudEl0
ZW1JbmRleCwgbmVlZHNMYXlvdXRSYW5nZSwgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBt
X2xpbmUuY29udGVudExvZ2ljYWxSaWdodCgpKTsKKyAgICAgICAgY2FuZGlkYXRlQ29udGVudEZv
ckxpbmUobGluZUNhbmRpZGF0ZSwgY3VycmVudEl0ZW1JbmRleCwgbmVlZHNMYXlvdXRSYW5nZSwg
cGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBzdGQ6OmV4Y2hhbmdlKGxlYWRpbmdMb2dpY2Fs
V2lkdGgsIFdURjo6bnVsbG9wdCksIG1fbGluZS5jb250ZW50TG9naWNhbFJpZ2h0KCkpOwogICAg
ICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNvbnRlbnQgb24gdGhlIGN1cnJl
bnQgbGluZS4KICAgICAgICAgYXV0byByZXN1bHQgPSBSZXN1bHQgeyB9OwogICAgICAgICBpZiAo
bGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pIHsKQEAgLTMzNSw3ICszMzUsNyBAQCBMaW5lQnVpbGRl
cjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0
IElubGluZUl0ZW1SYQogICAgICAgICB9CiAgICAgICAgIGlmIChpc0VuZE9mTGluZSkgewogICAg
ICAgICAgICAgLy8gV2UgY2FuJ3QgcGxhY2UgYW55IG1vcmUgaXRlbXMgb24gdGhlIGN1cnJlbnQg
bGluZS4KLSAgICAgICAgICAgIHJldHVybiB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgcmVz
dWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGggfTsKKyAgICAgICAgICAgIHJldHVybiB7
IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRM
ZW5ndGgsIHJlc3VsdC5vdmVyZmxvd0xvZ2ljYWxXaWR0aCB9OwogICAgICAgICB9CiAgICAgICAg
IGN1cnJlbnRJdGVtSW5kZXggPSBuZWVkc0xheW91dFJhbmdlLnN0YXJ0ICsgY29tbWl0dGVkSW5s
aW5lSXRlbUNvdW50ICsgbV9mbG9hdHMuc2l6ZSgpOwogICAgICAgICBwYXJ0aWFsTGVhZGluZ0Nv
bnRlbnRMZW5ndGggPSB7IH07CkBAIC00NTcsNyArNDU3LDcgQEAgTGluZUJ1aWxkZXI6OlVzZWRD
b25zdHJhaW50cyBMaW5lQnVpbGRlcjo6aW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShjb25zdCBJ
bmxpbmUKICAgICByZXR1cm4gVXNlZENvbnN0cmFpbnRzIHsgeyBpbml0aWFsTGluZUxvZ2ljYWxS
ZWN0LnRvcCgpLCBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsUmlnaHQgLSBsaW5lTG9naWNh
bExlZnQsIGluaXRpYWxMaW5lTG9naWNhbFJlY3QuaGVpZ2h0KCkgfSwgbGluZUlzQ29uc3RyYWlu
ZWRCeUZsb2F0IH07CiB9CiAKLXZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JM
aW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjdXJyZW50SW5saW5lSXRl
bUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBzaXplX3QgcGFydGlh
bExlYWRpbmdDb250ZW50TGVuZ3RoLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmln
aHQpCit2b2lkIExpbmVCdWlsZGVyOjpjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlk
YXRlJiBsaW5lQ2FuZGlkYXRlLCBzaXplX3QgY3VycmVudElubGluZUl0ZW1JbmRleCwgY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVu
dExlbmd0aCwgT3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gbGVhZGluZ0xvZ2ljYWxXaWR0aCwg
SW5saW5lTGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0KQogewogICAgIEFTU0VSVChjdXJy
ZW50SW5saW5lSXRlbUluZGV4IDwgbGF5b3V0UmFuZ2UuZW5kKTsKICAgICBsaW5lQ2FuZGlkYXRl
LnJlc2V0KCk7CkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlkYXRl
Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc2l6ZV90IGMKICAg
ICAgICAgLy8gSGFuZGxlIGxlYWRpbmcgcGFydGlhbCBjb250ZW50IGZpcnN0IChvdmVyZmxvd2lu
ZyB0ZXh0IGZyb20gdGhlIHByZXZpb3VzIGxpbmUpLgogICAgICAgICAvLyBDb25zdHJ1Y3QgYSBw
YXJ0aWFsIGxlYWRpbmcgaW5saW5lIGl0ZW0uCiAgICAgICAgIG1fcGFydGlhbExlYWRpbmdUZXh0
SXRlbSA9IGRvd25jYXN0PElubGluZVRleHRJdGVtPihtX2lubGluZUl0ZW1zW2N1cnJlbnRJbmxp
bmVJdGVtSW5kZXhdKS5yaWdodChwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOwotICAgICAg
ICBhdXRvIGl0ZW1XaWR0aCA9IGlubGluZUl0ZW1XaWR0aCgqbV9wYXJ0aWFsTGVhZGluZ1RleHRJ
dGVtLCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKKyAgICAgICAgYXV0byBpdGVtV2lkdGggPSBsZWFk
aW5nTG9naWNhbFdpZHRoID8gKnN0ZDo6ZXhjaGFuZ2UobGVhZGluZ0xvZ2ljYWxXaWR0aCwgV1RG
OjpudWxsb3B0KSA6IGlubGluZUl0ZW1XaWR0aCgqbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtLCBj
dXJyZW50TG9naWNhbFJpZ2h0KTsKICAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50
LmFwcGVuZElubGluZUl0ZW0oKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgaXRlbVdpZHRoKTsK
ICAgICAgICAgY3VycmVudExvZ2ljYWxSaWdodCArPSBpdGVtV2lkdGg7CiAgICAgICAgICsrY3Vy
cmVudElubGluZUl0ZW1JbmRleDsKQEAgLTQ4Nyw3ICs0ODcsOCBAQCB2b2lkIExpbmVCdWlsZGVy
OjpjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBz
aXplX3QgYwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlu
bGluZUl0ZW0uaXNUZXh0KCkgfHwgaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0KCkgfHwgaW5s
aW5lSXRlbS5pc0lubGluZUJveEVuZCgpIHx8IGlubGluZUl0ZW0uaXNCb3goKSkgewotICAgICAg
ICAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBpbmxpbmVJdGVtV2lkdGgoaW5saW5lSXRlbSwgY3Vy
cmVudExvZ2ljYWxSaWdodCk7CisgICAgICAgICAgICBBU1NFUlQoIWxlYWRpbmdMb2dpY2FsV2lk
dGggfHwgaW5saW5lSXRlbS5pc1RleHQoKSk7CisgICAgICAgICAgICBhdXRvIGxvZ2ljYWxXaWR0
aCA9IGxlYWRpbmdMb2dpY2FsV2lkdGggPyAqc3RkOjpleGNoYW5nZShsZWFkaW5nTG9naWNhbFdp
ZHRoLCBXVEY6Om51bGxvcHQpIDogaW5saW5lSXRlbVdpZHRoKGlubGluZUl0ZW0sIGN1cnJlbnRM
b2dpY2FsUmlnaHQpOwogICAgICAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmFw
cGVuZElubGluZUl0ZW0oaW5saW5lSXRlbSwgbG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIGN1
cnJlbnRMb2dpY2FsUmlnaHQgKz0gbG9naWNhbFdpZHRoOwogICAgICAgICAgICAgY29udGludWU7
CkBAIC02ODgsMTAgKzY4OSwyNiBAQCBMaW5lQnVpbGRlcjo6UmVzdWx0IExpbmVCdWlsZGVyOjpo
YW5kbGVJbmxpbmVDb250ZW50KElubGluZUNvbnRlbnRCcmVha2VyJiBpbmxpbgogICAgICAgICB9
CiAgICAgICAgIHJldHVybiB7IHJlc3VsdC5pc0VuZE9mTGluZSwgeyBjYW5kaWRhdGVSdW5zLnNp
emUoKSwgZmFsc2UgfSB9OwogICAgIH0KKworICAgIGF1dG8gZWxpZ2libGVPdmVyZmxvd1dpZHRo
QXNMZWFkaW5nID0gWyZdICgpIC0+IE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHsKKyAgICAg
ICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBvdGhlciB0eXBlcyBvZiBjb250aW51b3VzIGNv
bnRlbnQuCisgICAgICAgIEFTU0VSVChyZXN1bHQuYWN0aW9uID09IElubGluZUNvbnRlbnRCcmVh
a2VyOjpSZXN1bHQ6OkFjdGlvbjo6V3JhcCB8fCByZXN1bHQuYWN0aW9uID09IElubGluZUNvbnRl
bnRCcmVha2VyOjpSZXN1bHQ6OkFjdGlvbjo6QnJlYWspOworICAgICAgICBpZiAoY2FuZGlkYXRl
UnVucy5zaXplKCkgIT0gMSB8fCAhY2FuZGlkYXRlUnVucy5maXJzdCgpLmlubGluZUl0ZW0uaXNU
ZXh0KCkpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBhdXRvJiBpbmxpbmVUZXh0
SXRlbSA9IGRvd25jYXN0PElubGluZVRleHRJdGVtPihjYW5kaWRhdGVSdW5zLmZpcnN0KCkuaW5s
aW5lSXRlbSk7CisgICAgICAgIGlmIChpbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSkKKyAg
ICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGlmIChyZXN1bHQuYWN0aW9uID09IElubGlu
ZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQ6OkFjdGlvbjo6V3JhcCkKKyAgICAgICAgICAgIHJldHVy
biBjYW5kaWRhdGVSdW5zLmZpcnN0KCkubG9naWNhbFdpZHRoOworICAgICAgICBpZiAocmVzdWx0
LmFjdGlvbiA9PSBJbmxpbmVDb250ZW50QnJlYWtlcjo6UmVzdWx0OjpBY3Rpb246OkJyZWFrICYm
IHJlc3VsdC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50LT5wYXJ0aWFsUnVuKQorICAgICAgICAgICAg
cmV0dXJuIGNhbmRpZGF0ZVJ1bnMuZmlyc3QoKS5sb2dpY2FsV2lkdGggLSByZXN1bHQucGFydGlh
bFRyYWlsaW5nQ29udGVudC0+cGFydGlhbFJ1bi0+bG9naWNhbFdpZHRoOworICAgICAgICByZXR1
cm4geyB9OworICAgIH07CisKICAgICBpZiAocmVzdWx0LmFjdGlvbiA9PSBJbmxpbmVDb250ZW50
QnJlYWtlcjo6UmVzdWx0OjpBY3Rpb246OldyYXApIHsKICAgICAgICAgQVNTRVJUKHJlc3VsdC5p
c0VuZE9mTGluZSA9PSBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6Olllcyk7CiAg
ICAgICAgIC8vIFRoaXMgY29udGludW91cyBjb250ZW50IGNhbid0IGJlIHBsYWNlZCBvbiB0aGUg
Y3VycmVudCBsaW5lLiBOb3RoaW5nIHRvIGNvbW1pdCBhdCB0aGlzIHRpbWUuCi0gICAgICAgIHJl
dHVybiB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzIH07CisgICAgICAg
IHJldHVybiB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IH0sIHsg
fSwgZWxpZ2libGVPdmVyZmxvd1dpZHRoQXNMZWFkaW5nKCkgfTsKICAgICB9CiAgICAgaWYgKHJl
c3VsdC5hY3Rpb24gPT0gSW5saW5lQ29udGVudEJyZWFrZXI6OlJlc3VsdDo6QWN0aW9uOjpXcmFw
V2l0aEh5cGhlbikgewogICAgICAgICBBU1NFUlQocmVzdWx0LmlzRW5kT2ZMaW5lID09IElubGlu
ZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzKTsKQEAgLTcyOCw3ICs3NDUsNyBAQCBM
aW5lQnVpbGRlcjo6UmVzdWx0IExpbmVCdWlsZGVyOjpoYW5kbGVJbmxpbmVDb250ZW50KElubGlu
ZUNvbnRlbnRCcmVha2VyJiBpbmxpbgogICAgICAgICBhdXRvJiB0cmFpbGluZ0lubGluZVRleHRJ
dGVtID0gZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KGNhbmRpZGF0ZVJ1bnNbdHJhaWxpbmdSdW5J
bmRleF0uaW5saW5lSXRlbSk7CiAgICAgICAgIEFTU0VSVChwYXJ0aWFsUnVuLmxlbmd0aCA8IHRy
YWlsaW5nSW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkpOwogICAgICAgICBhdXRvIG92ZXJmbG93TGVu
Z3RoID0gdHJhaWxpbmdJbmxpbmVUZXh0SXRlbS5sZW5ndGgoKSAtIHBhcnRpYWxSdW4ubGVuZ3Ro
OwotICAgICAgICByZXR1cm4geyBJbmxpbmVDb250ZW50QnJlYWtlcjo6SXNFbmRPZkxpbmU6Olll
cywgeyBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQsIGZhbHNlIH0sIG92ZXJmbG93TGVuZ3RoIH07
CisgICAgICAgIHJldHVybiB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVz
LCB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgZmFsc2UgfSwgb3ZlcmZsb3dMZW5ndGgsIGVs
aWdpYmxlT3ZlcmZsb3dXaWR0aEFzTGVhZGluZygpIH07CiAgICAgfQogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIHJldHVybiB7IElubGluZUNvbnRlbnRCcmVha2VyOjpJc0VuZE9mTGlu
ZTo6Tm8gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IDE2ZmMzOGVmNGM3YjdmY2MxNTRlZmZl
YTdlM2M3MmMxOThmMTA1YmIuLjUwYmIzZDExNDFjNjFkZDBjNDk4ZDc0OTJjMGQxM2YzOThiOTJl
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAg
c3RydWN0IExpbmVDb250ZW50IHsKICAgICAgICAgSW5saW5lSXRlbVJhbmdlIGlubGluZUl0ZW1S
YW5nZTsKICAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGggeyAwIH07
CisgICAgICAgIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRo
OwogICAgICAgICBjb25zdCBGbG9hdExpc3QmIGZsb2F0czsKICAgICAgICAgYm9vbCBoYXNJbnRy
dXNpdmVGbG9hdCB7IGZhbHNlIH07CiAgICAgICAgIElubGluZUxheW91dFBvaW50IGxvZ2ljYWxU
b3BMZWZ0OwpAQCAtNjAsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaXNMYXN0TGlu
ZVdpdGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9OwogICAgICAgICBjb25zdCBMaW5lOjpSdW5MaXN0
JiBydW5zOwogICAgIH07Ci0gICAgTGluZUNvbnRlbnQgbGF5b3V0SW5saW5lQ29udGVudChjb25z
dCBJbmxpbmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBj
b25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBib29sIGlzRmlyc3RMaW5l
KTsKKyAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1S
YW5nZSYsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIE9wdGlvbmFsPElubGlu
ZUxheW91dFVuaXQ+IGxlYWRpbmdMb2dpY2FsV2lkdGgsIGNvbnN0IElubGluZVJlY3QmIGluaXRp
YWxMaW5lTG9naWNhbFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpOwogCiAgICAgc3RydWN0IEludHJp
bnNpY0NvbnRlbnQgewogICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgaW5saW5lSXRlbVJhbmdlOwpA
QCAtNzAsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgSW50cmluc2ljQ29udGVudCBjb21wdXRlZElu
dHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIElubGluZUxheW91dFVuaXQgYXZh
aWxhYmxlV2lkdGgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgY2FuZGlkYXRlQ29udGVudEZvckxp
bmUoTGluZUNhbmRpZGF0ZSYsIHNpemVfdCBpbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElubGluZUl0
ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IG92ZXJmbG93TGVuZ3RoLCBJbmxpbmVM
YXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpOworICAgIHZvaWQgY2FuZGlkYXRlQ29udGVu
dEZvckxpbmUoTGluZUNhbmRpZGF0ZSYsIHNpemVfdCBpbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElu
bGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IG92ZXJmbG93TGVuZ3RoLCBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBsZWFkaW5nTG9naWNhbFdpZHRoLCBJbmxpbmVMYXlv
dXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpOwogICAgIHNpemVfdCBuZXh0V3JhcE9wcG9ydHVu
aXR5KHNpemVfdCBzdGFydEluZGV4LCBjb25zdCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdl
JiBsYXlvdXRSYW5nZSkgY29uc3Q7CiAKICAgICBzdHJ1Y3QgUmVzdWx0IHsKQEAgLTgxLDYgKzgy
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgfTsKICAgICAgICAgQ29tbWl0dGVkQ29udGVudENvdW50
IGNvbW1pdHRlZENvdW50IHsgfTsKICAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFpbGluZ0NvbnRl
bnRMZW5ndGggeyAwIH07CisgICAgICAgIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJm
bG93TG9naWNhbFdpZHRoIHsgfTsKICAgICB9OwogICAgIHN0cnVjdCBVc2VkQ29uc3RyYWludHMg
ewogICAgICAgICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0OwpAQCAtOTgsOCArMTAwLDkgQEAgcHJp
dmF0ZToKICAgICBzdHJ1Y3QgQ29tbWl0dGVkQ29udGVudCB7CiAgICAgICAgIHNpemVfdCBpbmxp
bmVJdGVtQ291bnQgeyAwIH07CiAgICAgICAgIHNpemVfdCBwYXJ0aWFsVHJhaWxpbmdDb250ZW50
TGVuZ3RoIHsgMCB9OworICAgICAgICBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxv
d0xvZ2ljYWxXaWR0aCB7IH07CiAgICAgfTsKLSAgICBDb21taXR0ZWRDb250ZW50IHBsYWNlSW5s
aW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdD
b250ZW50TGVuZ3RoKTsKKyAgICBDb21taXR0ZWRDb250ZW50IHBsYWNlSW5saW5lQ29udGVudChj
b25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3Ro
LCBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCk7CiAgICAg
SW5saW5lSXRlbVJhbmdlIGNsb3NlKGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRS
YW5nZSwgY29uc3QgQ29tbWl0dGVkQ29udGVudCYpOwogCiAgICAgSW5saW5lTGF5b3V0VW5pdCBp
bmxpbmVJdGVtV2lkdGgoY29uc3QgSW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQgY29udGVu
dExvZ2ljYWxMZWZ0KSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>