<?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>211712</bug_id>
          
          <creation_ts>2020-05-10 21:39:05 -0700</creation_ts>
          <short_desc>[LFC][TFC] Introduce GridSpace</short_desc>
          <delta_ts>2020-05-11 06:41:11 -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>1651178</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-05-10 21:39:05 -0700</bug_when>
    <thetext>This is in preparation for supporting cases when the extra space distribution is based on the maximum width/height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651181</commentid>
    <comment_count>1</comment_count>
      <attachid>398998</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-05-10 21:49:06 -0700</bug_when>
    <thetext>Created attachment 398998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651257</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-11 06:40:26 -0700</bug_when>
    <thetext>Committed r261475: &lt;https://trac.webkit.org/changeset/261475&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398998.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651258</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-11 06:41:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/63087262&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398998</attachid>
            <date>2020-05-10 21:49:06 -0700</date>
            <delta_ts>2020-05-11 06:40:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211712-20200510214905.patch</filename>
            <type>text/plain</type>
            <size>13669</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTMzNjVmMDg5YmFiMGE4
ZGM1NzcyZGEzYmE5ODllNDhjMTQ1MWNiZS4uZWU4ZTYzMmZlNDQwYTNjZDNjYjU2ZmM0MGYxMjM2
MWZlMDk5NjM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA1LTEwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBJbnRyb2R1
Y2UgR3JpZFNwYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTE3MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBOb3JtYWxseSB3ZSB1c2UgdGhlIGluaXRpYWwgd2lkdGgvaGVpZ2h0IChtaW5pbXVtIHdp
ZHRoL2hlaWdodCkgdmFsdWUgdG8gY29tcHV0ZSB0aGUKKyAgICAgICAgZGlzdHJpYnV0aW9uIHJh
dGlvIGZvciB0aGUgZXh0cmEgc3BhY2UgKGUuZyBtaW5pbXVtIHdpZHRocyBhcmUgWyAxIF0gWyAy
IF0gZXh0cmEgc3BhY2U6IDY7IGZpbmFsIHdpZHRocyBbIDEgKyAyIF0gWyAyICsgNCBdKS4KKyAg
ICAgICAgSG93ZXZlciBpcyBzb21lIHJhcmUgY2FzZSwgd2hpbGUgd2UgdXNlIHRoZSBtaW5pbXVt
IHdpZHRocyBhcyB0aGUgaW5pdGlhbCB3aWR0aHMsIHRoZSBkaXN0cmlidXRpb24gcmF0aW8KKyAg
ICAgICAgaXMgY29tcHV0ZWQgdXNpbmcgdGhlIG1heGltdW0gd2lkdGhzLgorICAgICAgICBUaGlz
IHBhdGNoIGludHJvZHVjZXMgR3JpZFNwYWNlIHRvIGJlIGFibGUgdG8gZGlmZmVyZW50aWF0ZSBp
bml0aWFsIGFuZCBkaXN0cmlidXRpb24gd2lkdGhzL2hlaWdodHMgKG5vIGZ1bmN0aW9uYWwgY2hh
bmdlIHlldCkuCisKKyAgICAgICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpHcmlkU3BhY2U6Omlz
RW1wdHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjptYXgpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpvcGVyYXRvci0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0Ojpv
cGVyYXRvcis9KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6b3BlcmF0b3ItPSk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6Om9wZXJhdG9yLyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OmRpc3RyaWJ1dGVBdmFpbGFibGVTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVBbmREaXN0cmlidXRlRXh0cmFIb3Jpem9u
dGFsU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlQW5kRGlzdHJpYnV0ZUV4dHJhVmVydGljYWxTcGFjZSk6CisKIDIwMjAtMDUt
MDcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtURkNd
IFRoZSBmaXhlZCBsb2dpY2FsIHdpZHRoIHNob3VsZCBiZSB1c2VkIGFzIHRoZSBtYXggd2lkdGgg
Zm9yIGEgY2VsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0
dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90
YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggODhmN2FkOTdl
N2VkYTBiMjJkMDk5ZTc1ZjIzMTZjYjc1NTY2N2ExNS4uNzY0ZDRjMjI2ZjY4OGYwZjkzZjgxMzQz
NzBhMDkyNmE1NzUzNGZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxl
Zm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0z
NzgsMzUgKzM3OCw3NSBAQCBzdHJ1Y3QgUm93U3BhbiB7CiAgICAgc3RhdGljIExheW91dFVuaXQg
c3BhY2luZyhjb25zdCBUYWJsZUdyaWQmIGdyaWQsIGNvbnN0IFRhYmxlR3JpZDo6Q2VsbCYgY2Vs
bCkgeyByZXR1cm4gKGNlbGwucm93U3BhbigpIC0gMSkgKiBncmlkLnZlcnRpY2FsU3BhY2luZygp
OyB9CiB9OwogCitzdHJ1Y3QgR3JpZFNwYWNlIHsKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7
IHJldHVybiAhdmFsdWU7IH0KKworICAgIC8vIEluaXRpYWwgd2lkdGgvaGVpZ2h0IGZvciBjb2x1
bW4vcm93IHdlIHN0YXJ0IHRoZSBkaXN0cmlidXRpb24gd2lkdGggKHVzdWFsbHkgYSBtaW51bXVt
IHdpZHRoKS4KKyAgICBmbG9hdCB2YWx1ZSB7IDAgfTsKKyAgICAvLyBUaGUgYmFzZSB0byBjb21w
dXRlIHRoZSBkaXN0cmlidXRpb24gcmF0aW8uIEl0IG5vcm1hbGx5IG1hdGNoZXMgdGhlIFt2YWx1
ZV0gYnV0IGluIHNvbWUgY2FzZXMgd2UgdXNlIHRoZSBtYXhpbXVtIHZhbHVlIHRvIGRpc3RyaWJ1
dGUgdGhlIGV4dHJhIHNwYWNlLiAKKyAgICBmbG9hdCBkaXN0cmlidXRpb25CYXNlIHsgMCB9Owor
fTsKKworaW5saW5lIHN0YXRpYyBHcmlkU3BhY2UgbWF4KGNvbnN0IEdyaWRTcGFjZSYgYSwgY29u
c3QgR3JpZFNwYWNlJiBiKQoreworICAgIHJldHVybiB7IHN0ZDo6bWF4KGEudmFsdWUsIGIudmFs
dWUpLCBzdGQ6Om1heChhLmRpc3RyaWJ1dGlvbkJhc2UsIGIuZGlzdHJpYnV0aW9uQmFzZSkgfTsK
K30KKworaW5saW5lIHN0YXRpYyBHcmlkU3BhY2UmIG9wZXJhdG9yLShHcmlkU3BhY2UmIGEsIGNv
bnN0IEdyaWRTcGFjZSYgYikKK3sKKyAgICBhLnZhbHVlID0gc3RkOjptYXgoMC4wZiwgYS52YWx1
ZSAtIGIudmFsdWUpOworICAgIGEuZGlzdHJpYnV0aW9uQmFzZSA9IHN0ZDo6bWF4KDAuMGYsIGEu
ZGlzdHJpYnV0aW9uQmFzZSAtIGIuZGlzdHJpYnV0aW9uQmFzZSk7CisgICAgcmV0dXJuIGE7Cit9
CisKK2lubGluZSBzdGF0aWMgR3JpZFNwYWNlJiBvcGVyYXRvcis9KEdyaWRTcGFjZSYgYSwgY29u
c3QgR3JpZFNwYWNlJiBiKQoreworICAgIGEudmFsdWUgKz0gYi52YWx1ZTsKKyAgICBhLmRpc3Ry
aWJ1dGlvbkJhc2UgKz0gYi5kaXN0cmlidXRpb25CYXNlOworICAgIHJldHVybiBhOworfQorCitp
bmxpbmUgc3RhdGljIEdyaWRTcGFjZSYgb3BlcmF0b3ItPShHcmlkU3BhY2UmIGEsIGNvbnN0IEdy
aWRTcGFjZSYgYikKK3sKKyAgICByZXR1cm4gYSAtIGI7Cit9CisKK2lubGluZSBzdGF0aWMgR3Jp
ZFNwYWNlJiBvcGVyYXRvci8oR3JpZFNwYWNlJiBhLCB1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBh
LnZhbHVlIC89IHZhbHVlOworICAgIGEuZGlzdHJpYnV0aW9uQmFzZSAvPSB2YWx1ZTsKKyAgICBy
ZXR1cm4gYTsKK30KKwogdXNpbmcgRGlzdHJpYnV0ZWRTcGFjZXMgPSBWZWN0b3I8ZmxvYXQ+Owog
dGVtcGxhdGUgPHR5cGVuYW1lIFNwYW5UeXBlPgotc3RhdGljIERpc3RyaWJ1dGVkU3BhY2VzIGRp
c3RyaWJ1dGVBdmFpbGFibGVTcGFjZShjb25zdCBUYWJsZUdyaWQmIGdyaWQsIGZsb2F0IHNwYWNl
VG9EaXN0cmlidXRlLCBjb25zdCBXVEY6OkZ1bmN0aW9uPExheW91dFVuaXQoY29uc3QgVGFibGVH
cmlkOjpTbG90Jiwgc2l6ZV90KT4mIHNsb3RTcGFjZSkKK3N0YXRpYyBEaXN0cmlidXRlZFNwYWNl
cyBkaXN0cmlidXRlQXZhaWxhYmxlU3BhY2UoY29uc3QgVGFibGVHcmlkJiBncmlkLCBmbG9hdCBz
cGFjZVRvRGlzdHJpYnV0ZSwgY29uc3QgV1RGOjpGdW5jdGlvbjxHcmlkU3BhY2UoY29uc3QgVGFi
bGVHcmlkOjpTbG90Jiwgc2l6ZV90KT4mIHNsb3RTcGFjZSkKIHsKLSAgICBzdHJ1Y3QgUmVzb2x2
ZWRTcGFjZSB7Ci0gICAgICAgIGZsb2F0IHZhbHVlIHsgMCB9OworICAgIHN0cnVjdCBSZXNvbHZl
ZEl0ZW0geworICAgICAgICBHcmlkU3BhY2Ugc2xvdFNwYWNlOwogICAgICAgICBib29sIGlzRml4
ZWQgeyBmYWxzZSB9OwogICAgIH07CiAKICAgICBhdXRvJiBjb2x1bW5zID0gZ3JpZC5jb2x1bW5z
KCk7CiAgICAgYXV0byYgcm93cyA9IGdyaWQucm93cygpOwogICAgIC8vIDEuIENvbGxlY3QgdGhl
IG5vbi1zcGFubmluZyBzcGFjZXMgZmlyc3QuIFRoZXkgYXJlIHVzZWQgZm9yIHRoZSBmaW5hbCBk
aXN0cmlidXRpb24gYXMgd2VsbCBhcyBmb3IgZGlzdHJpYnV0aW5nIHRoZSBzcGFubmluZyBzcGFj
ZS4KLSAgICBWZWN0b3I8T3B0aW9uYWw8UmVzb2x2ZWRTcGFjZT4+IHJlc29sdmVkU3BhY2VzKFNw
YW5UeXBlOjpzaXplKGdyaWQpKTsKKyAgICBWZWN0b3I8T3B0aW9uYWw8UmVzb2x2ZWRJdGVtPj4g
cmVzb2x2ZWRJdGVtcyhTcGFuVHlwZTo6c2l6ZShncmlkKSk7CiAgICAgZm9yIChzaXplX3QgY29s
dW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IGNvbHVtbnMuc2l6ZSgpOyArK2NvbHVtbkluZGV4
KSB7CiAgICAgICAgIGZvciAoc2l6ZV90IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCByb3dzLnNp
emUoKTsgKytyb3dJbmRleCkgewogICAgICAgICAgICAgYXV0byYgc2xvdCA9ICpncmlkLnNsb3Qo
eyBjb2x1bW5JbmRleCwgcm93SW5kZXggfSk7CiAgICAgICAgICAgICBpZiAoU3BhblR5cGU6Omhh
c1NwYW4oc2xvdCkgfHwgU3BhblR5cGU6OmlzU3Bhbm5lZChzbG90KSkKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgIGF1dG8gaW5kZXggPSBTcGFuVHlwZTo6aW5kZXgoY29s
dW1uSW5kZXgsIHJvd0luZGV4KTsKLSAgICAgICAgICAgIGlmICghcmVzb2x2ZWRTcGFjZXNbaW5k
ZXhdKQotICAgICAgICAgICAgICAgIHJlc29sdmVkU3BhY2VzW2luZGV4XSA9IFJlc29sdmVkU3Bh
Y2UgeyB9OwotICAgICAgICAgICAgcmVzb2x2ZWRTcGFjZXNbaW5kZXhdLT52YWx1ZSA9IHN0ZDo6
bWF4PGZsb2F0PihyZXNvbHZlZFNwYWNlc1tpbmRleF0tPnZhbHVlLCBzbG90U3BhY2Uoc2xvdCwg
aW5kZXgpKTsKKyAgICAgICAgICAgIGlmICghcmVzb2x2ZWRJdGVtc1tpbmRleF0pCisgICAgICAg
ICAgICAgICAgcmVzb2x2ZWRJdGVtc1tpbmRleF0gPSBSZXNvbHZlZEl0ZW0geyB9OworICAgICAg
ICAgICAgcmVzb2x2ZWRJdGVtc1tpbmRleF0tPnNsb3RTcGFjZSA9IG1heChyZXNvbHZlZEl0ZW1z
W2luZGV4XS0+c2xvdFNwYWNlLCBzbG90U3BhY2Uoc2xvdCwgaW5kZXgpKTsKICAgICAgICAgfQog
ICAgIH0KIAogICAgIC8vIDIuIENvbGxlY3QgdGhlIHNwYW5uaW5nIGNlbGxzLgogICAgIHN0cnVj
dCBTcGFubmluZ0NlbGwgewogICAgICAgICBTbG90UG9zaXRpb24gcG9zaXRpb247Ci0gICAgICAg
IExheW91dFVuaXQgdW5yZXNvbHZlZFNwYWNlOworICAgICAgICBHcmlkU3BhY2UgdW5yZXNvbHZl
ZFNwYWNlOwogICAgIH07CiAgICAgVmVjdG9yPFNwYW5uaW5nQ2VsbD4gc3Bhbm5pbmdDZWxsczsK
ICAgICBmb3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgcm93cy5zaXplKCk7ICsr
cm93SW5kZXgpIHsKQEAgLTQzMCw4ICs0NzAsOCBAQCBzdGF0aWMgRGlzdHJpYnV0ZWRTcGFjZXMg
ZGlzdHJpYnV0ZUF2YWlsYWJsZVNwYWNlKGNvbnN0IFRhYmxlR3JpZCYgZ3JpZCwgZmxvYXQgcwog
ICAgIC8vIFRoZSBpbml0aWFsIHdpZHRocyBhcmU6IFsgMiBdWyA3IF1bIDEgXQogICAgIGZvciAo
YXV0byBzcGFubmluZ0NlbGwgOiBzcGFubmluZ0NlbGxzKSB7CiAgICAgICAgIGF1dG8mIGNlbGwg
PSBncmlkLnNsb3Qoc3Bhbm5pbmdDZWxsLnBvc2l0aW9uKS0+Y2VsbCgpOwotICAgICAgICBmbG9h
dCB1bnJlc29sdmVkU3Bhbm5pbmdTcGFjZSA9IHNwYW5uaW5nQ2VsbC51bnJlc29sdmVkU3BhY2U7
Ci0gICAgICAgIGlmICghcmVzb2x2ZWRTcGFjZXNbU3BhblR5cGU6OnN0YXJ0U3BhbihjZWxsKV0g
fHwgIXJlc29sdmVkU3BhY2VzW1NwYW5UeXBlOjplbmRTcGFuKGNlbGwpIC0gMV0pIHsKKyAgICAg
ICAgYXV0byB1bnJlc29sdmVkU3Bhbm5pbmdTcGFjZSA9IHNwYW5uaW5nQ2VsbC51bnJlc29sdmVk
U3BhY2U7CisgICAgICAgIGlmICghcmVzb2x2ZWRJdGVtc1tTcGFuVHlwZTo6c3RhcnRTcGFuKGNl
bGwpXSB8fCAhcmVzb2x2ZWRJdGVtc1tTcGFuVHlwZTo6ZW5kU3BhbihjZWxsKSAtIDFdKSB7CiAg
ICAgICAgICAgICAvLyA8dGQgY29sc3Bhbj00PiNhPC90ZD48dGQ+I2I8L3RkPgogICAgICAgICAg
ICAgLy8gPHRkIGNvbHNwYW49Mj4jYzwvdGQ+PHRkIGNvbHNwYW49Mz4jZDwvdGQ+CiAgICAgICAg
ICAgICAvLyBVbnJlc29sdmVkIGNvbHVtbnMgYXJlOiAxIDIgMyA0CkBAIC00NDAsNTggKzQ4MCw2
NCBAQCBzdGF0aWMgRGlzdHJpYnV0ZWRTcGFjZXMgZGlzdHJpYnV0ZUF2YWlsYWJsZVNwYWNlKGNv
bnN0IFRhYmxlR3JpZCYgZ3JpZCwgZmxvYXQgcwogICAgICAgICAgICAgLy8gMy4gY29sc3Bhbj00
IG5lZWRzIG5vIHJlc29sdmluZyBiZWNhdXNlIGFsbCB0aGUgc3Bhbm5lZCBjb2x1bW5zICgxIDIg
MyA0KSBoYXZlIGFscmVhZHkgYmVlbiByZXNvbHZlZC4KICAgICAgICAgICAgIGF1dG8gdW5yZXNv
bHZlZENvbHVtbkNvdW50ID0gY2VsbC5jb2x1bW5TcGFuKCk7CiAgICAgICAgICAgICBmb3IgKGF1
dG8gc3BhbkluZGV4ID0gU3BhblR5cGU6OnN0YXJ0U3BhbihjZWxsKTsgc3BhbkluZGV4IDwgU3Bh
blR5cGU6OmVuZFNwYW4oY2VsbCk7ICsrc3BhbkluZGV4KSB7Ci0gICAgICAgICAgICAgICAgaWYg
KCFyZXNvbHZlZFNwYWNlc1tzcGFuSW5kZXhdKQorICAgICAgICAgICAgICAgIGlmICghcmVzb2x2
ZWRJdGVtc1tzcGFuSW5kZXhdKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgICAgICBBU1NFUlQodW5yZXNvbHZlZENvbHVtbkNvdW50KTsKICAgICAgICAgICAgICAg
ICAtLXVucmVzb2x2ZWRDb2x1bW5Db3VudDsKLSAgICAgICAgICAgICAgICB1bnJlc29sdmVkU3Bh
bm5pbmdTcGFjZSA9IHN0ZDo6bWF4KDAuMGYsIHVucmVzb2x2ZWRTcGFubmluZ1NwYWNlIC0gcmVz
b2x2ZWRTcGFjZXNbc3BhbkluZGV4XS0+dmFsdWUpOworICAgICAgICAgICAgICAgIHVucmVzb2x2
ZWRTcGFubmluZ1NwYWNlIC09IHJlc29sdmVkSXRlbXNbc3BhbkluZGV4XS0+c2xvdFNwYWNlOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgQVNTRVJUKHVucmVzb2x2ZWRDb2x1bW5Db3VudCk7
CisgICAgICAgICAgICBhdXRvIGVxdWFsU3BhY2VGb3JTcGFubmVkQ29sdW1ucyA9IHVucmVzb2x2
ZWRTcGFubmluZ1NwYWNlIC8gdW5yZXNvbHZlZENvbHVtbkNvdW50OwogICAgICAgICAgICAgZm9y
IChhdXRvIHNwYW5JbmRleCA9IFNwYW5UeXBlOjpzdGFydFNwYW4oY2VsbCk7IHNwYW5JbmRleCA8
IFNwYW5UeXBlOjplbmRTcGFuKGNlbGwpOyArK3NwYW5JbmRleCkgewotICAgICAgICAgICAgICAg
IGlmIChyZXNvbHZlZFNwYWNlc1tzcGFuSW5kZXhdKQorICAgICAgICAgICAgICAgIGlmIChyZXNv
bHZlZEl0ZW1zW3NwYW5JbmRleF0pCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgICAgIHJlc29sdmVkU3BhY2VzW3NwYW5JbmRleF0gPSBSZXNvbHZlZFNwYWNlIHsg
dW5yZXNvbHZlZFNwYW5uaW5nU3BhY2UgLyB1bnJlc29sdmVkQ29sdW1uQ291bnQsIGZhbHNlIH07
CisgICAgICAgICAgICAgICAgcmVzb2x2ZWRJdGVtc1tzcGFuSW5kZXhdID0gUmVzb2x2ZWRJdGVt
IHsgZXF1YWxTcGFjZUZvclNwYW5uZWRDb2x1bW5zLCBmYWxzZSB9OwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gMS4gQ29sbGVjdCB0aGUgbm9uLXNwYW5p
bmcgcmVzb2x2ZWQgc3BhY2VzLgogICAgICAgICAgICAgLy8gMi4gRGlzdHJpYnV0ZSB0aGUgZXh0
cmEgc3BhY2UgYW1vbmcgdGhlIHNwYW5uZWQgY29sdW1ucy9yb3dzIGJhc2VkIG9uIHRoZSByZXNv
bHZlZCBzcGFjZSB2YWx1ZXMuCiAgICAgICAgICAgICAvLyBlLmcuIHNwYW5uaW5nIHdpZHRoOiBb
ICAgOSAgIF0uIFJlc29sdmVkIHdpZHRocyBmb3IgdGhlIHNwYW5uZWQgY29sdW1uczogWyAxIF0g
WyAyIF0KICAgICAgICAgICAgIC8vIE5ldyByZXNvbHZlZCB3aWR0aHM6IFsgMyBdIFsgNiBdLgot
ICAgICAgICAgICAgZmxvYXQgcmVzb2x2ZWRTcGFjZSA9IDA7CisgICAgICAgICAgICBhdXRvIHJl
c29sdmVkU3Bhbm5pbmdTcGFjZSA9IEdyaWRTcGFjZSB7IH07CiAgICAgICAgICAgICBmb3IgKGF1
dG8gc3BhbkluZGV4ID0gU3BhblR5cGU6OnN0YXJ0U3BhbihjZWxsKTsgc3BhbkluZGV4IDwgU3Bh
blR5cGU6OmVuZFNwYW4oY2VsbCk7ICsrc3BhbkluZGV4KQotICAgICAgICAgICAgICAgIHJlc29s
dmVkU3BhY2UgKz0gcmVzb2x2ZWRTcGFjZXNbc3BhbkluZGV4XS0+dmFsdWU7Ci0gICAgICAgICAg
ICBpZiAocmVzb2x2ZWRTcGFjZSA+PSB1bnJlc29sdmVkU3Bhbm5pbmdTcGFjZSkgeworICAgICAg
ICAgICAgICAgIHJlc29sdmVkU3Bhbm5pbmdTcGFjZSArPSByZXNvbHZlZEl0ZW1zW3NwYW5JbmRl
eF0tPnNsb3RTcGFjZTsKKyAgICAgICAgICAgIGlmIChyZXNvbHZlZFNwYW5uaW5nU3BhY2UudmFs
dWUgPj0gdW5yZXNvbHZlZFNwYW5uaW5nU3BhY2UudmFsdWUpIHsKICAgICAgICAgICAgICAgICAv
LyBUaGUgc3Bhbm5pbmcgY2VsbCBmaXRzIHRoZSBzcGFubmVkIGNvbHVtbnMvcm93cyBqdXN0IGZp
bmUuIE5vdGhpbmcgdG8gZGlzdHJpYnV0ZS4KICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGF1dG8gc3Bhbm5pbmdTcGFjZVRvRGlzdHJpYnV0ZSA9
IHN0ZDo6bWF4KDAuMGYsIHVucmVzb2x2ZWRTcGFubmluZ1NwYWNlIC0gU3BhblR5cGU6OnNwYWNp
bmcoZ3JpZCwgY2VsbCkgLSByZXNvbHZlZFNwYWNlKTsKLSAgICAgICAgICAgIGlmIChzcGFubmlu
Z1NwYWNlVG9EaXN0cmlidXRlKSB7CisgICAgICAgICAgICBhdXRvIHNwYWNpbmcgPSBTcGFuVHlw
ZTo6c3BhY2luZyhncmlkLCBjZWxsKTsKKyAgICAgICAgICAgIGF1dG8gc3BhY2VUb0Rpc3RyaWJ1
dGUgPSB1bnJlc29sdmVkU3Bhbm5pbmdTcGFjZSAtIEdyaWRTcGFjZSB7IHNwYWNpbmcsIHNwYWNp
bmcgfSAtIHJlc29sdmVkU3Bhbm5pbmdTcGFjZTsgCisgICAgICAgICAgICBpZiAoIXNwYWNlVG9E
aXN0cmlidXRlLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gZGlzdHJpYnV0aW9u
UmF0aW8gPSBzcGFjZVRvRGlzdHJpYnV0ZS5kaXN0cmlidXRpb25CYXNlIC8gcmVzb2x2ZWRTcGFu
bmluZ1NwYWNlLmRpc3RyaWJ1dGlvbkJhc2U7CiAgICAgICAgICAgICAgICAgZm9yIChhdXRvIHNw
YW5JbmRleCA9IFNwYW5UeXBlOjpzdGFydFNwYW4oY2VsbCk7IHNwYW5JbmRleCA8IFNwYW5UeXBl
OjplbmRTcGFuKGNlbGwpOyArK3NwYW5JbmRleCkKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x2
ZWRTcGFjZXNbc3BhbkluZGV4XS0+dmFsdWUgKz0gc3Bhbm5pbmdTcGFjZVRvRGlzdHJpYnV0ZSAv
IHJlc29sdmVkU3BhY2UgKiByZXNvbHZlZFNwYWNlc1tzcGFuSW5kZXhdLT52YWx1ZTsKKyAgICAg
ICAgICAgICAgICAgICAgcmVzb2x2ZWRJdGVtc1tzcGFuSW5kZXhdLT5zbG90U3BhY2UgKz0gR3Jp
ZFNwYWNlIHsgcmVzb2x2ZWRJdGVtc1tzcGFuSW5kZXhdLT5zbG90U3BhY2UudmFsdWUgKiBkaXN0
cmlidXRpb25SYXRpbywgcmVzb2x2ZWRJdGVtc1tzcGFuSW5kZXhdLT5zbG90U3BhY2UuZGlzdHJp
YnV0aW9uQmFzZSAqIGRpc3RyaWJ1dGlvblJhdGlvfTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KICAgICAvLyA0LiBEaXN0cmlidXRlIHRoZSBleHRyYSBzcGFjZSB1c2luZyB0aGUg
ZmluYWwgcmVzb2x2ZWQgd2lkdGhzLgogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgLy8gV2UgaGF2
ZSB0byBoYXZlIGFsbCB0aGUgc3BhY2VzIHJlc29sdmVkIGF0IHRoaXMgcG9pbnQuCi0gICAgZm9y
IChhdXRvJiByZXNvbHZlZFNwYWNlIDogcmVzb2x2ZWRTcGFjZXMpCi0gICAgICAgIEFTU0VSVChy
ZXNvbHZlZFNwYWNlKTsKKyAgICBmb3IgKGF1dG8mIHJlc29sdmVkSXRlbSA6IHJlc29sdmVkSXRl
bXMpCisgICAgICAgIEFTU0VSVChyZXNvbHZlZEl0ZW0pOwogI2VuZGlmCiAgICAgLy8gRml4ZWQg
c2l6ZSBjZWxscyBkb24ndCBwYXJ0aWNpcGF0ZSBpbiBhdmFpbGFibGUgc3BhY2UgZGlzdHJpYnV0
aW9uLgotICAgIGZsb2F0IGFkanVzdGFibGVkU3BhY2UgPSAwOwotICAgIGZvciAoYXV0byYgcmVz
b2x2ZWRTcGFjZSA6IHJlc29sdmVkU3BhY2VzKSB7Ci0gICAgICAgIGlmIChyZXNvbHZlZFNwYWNl
LT5pc0ZpeGVkKQorICAgIGF1dG8gYWRqdXN0YWJsZWRTcGFjZSA9IEdyaWRTcGFjZSB7IH07Cisg
ICAgZm9yIChhdXRvJiByZXNvbHZlZEl0ZW0gOiByZXNvbHZlZEl0ZW1zKSB7CisgICAgICAgIGlm
IChyZXNvbHZlZEl0ZW0tPmlzRml4ZWQpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
YWRqdXN0YWJsZWRTcGFjZSArPSByZXNvbHZlZFNwYWNlLT52YWx1ZTsKKyAgICAgICAgYWRqdXN0
YWJsZWRTcGFjZSArPSByZXNvbHZlZEl0ZW0tPnNsb3RTcGFjZTsKICAgICB9CiAKLSAgICBEaXN0
cmlidXRlZFNwYWNlcyBkaXN0cmlidXRlZFNwYWNlcyhyZXNvbHZlZFNwYWNlcy5zaXplKCkpOwor
ICAgIERpc3RyaWJ1dGVkU3BhY2VzIGRpc3RyaWJ1dGVkU3BhY2VzKHJlc29sdmVkSXRlbXMuc2l6
ZSgpKTsKICAgICAvLyBEaXN0cmlidXRlIHRoZSBleHRyYSBzcGFjZSBiYXNlZCBvbiB0aGUgcmVz
b2x2ZWQgc3BhY2VzLgotICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCByZXNvbHZl
ZFNwYWNlcy5zaXplKCk7ICsraW5kZXgpIHsKLSAgICAgICAgYXV0byYgcmVzb2x2ZWRTcGFjZSA9
IHJlc29sdmVkU3BhY2VzW2luZGV4XTsKLSAgICAgICAgYXV0byBoYXNFeHRyYVNwYWNlVG9EaXN0
cmlidXRlID0gc3BhY2VUb0Rpc3RyaWJ1dGUgJiYgIXJlc29sdmVkU3BhY2UtPmlzRml4ZWQ7Ci0g
ICAgICAgIGF1dG8gcmVzb2x2ZWRWYWx1ZSA9IHJlc29sdmVkU3BhY2UtPnZhbHVlOwotICAgICAg
ICBkaXN0cmlidXRlZFNwYWNlc1tpbmRleF0gPSBoYXNFeHRyYVNwYWNlVG9EaXN0cmlidXRlID8g
cmVzb2x2ZWRWYWx1ZSArIChzcGFjZVRvRGlzdHJpYnV0ZSAvIGFkanVzdGFibGVkU3BhY2UgKiBy
ZXNvbHZlZFZhbHVlKSA6IHJlc29sdmVkVmFsdWU7CisgICAgYXV0byBkaXN0cmlidXRpb25SYXRp
byA9IHNwYWNlVG9EaXN0cmlidXRlIC8gYWRqdXN0YWJsZWRTcGFjZS5kaXN0cmlidXRpb25CYXNl
OworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCByZXNvbHZlZEl0ZW1zLnNpemUo
KTsgKytpbmRleCkgeworICAgICAgICBhdXRvIHNsb3RTcGFjZSA9IHJlc29sdmVkSXRlbXNbaW5k
ZXhdLT5zbG90U3BhY2UudmFsdWU7CisgICAgICAgIGF1dG8gbmVlZHNTcGFjZURpc3RyaWJ1dGlv
biA9IHNwYWNlVG9EaXN0cmlidXRlICYmICFyZXNvbHZlZEl0ZW1zW2luZGV4XS0+aXNGaXhlZDsK
KyAgICAgICAgZGlzdHJpYnV0ZWRTcGFjZXNbaW5kZXhdID0gc2xvdFNwYWNlOworICAgICAgICBp
ZiAoIW5lZWRzU3BhY2VEaXN0cmlidXRpb24pCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgZGlzdHJpYnV0ZWRTcGFjZXNbaW5kZXhdICs9IHNsb3RTcGFjZSAqIGRpc3RyaWJ1dGlvblJh
dGlvOwogICAgIH0KICAgICByZXR1cm4gZGlzdHJpYnV0ZWRTcGFjZXM7CiB9CkBAIC01MDcsOCAr
NTUzLDggQEAgdm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlQW5kRGlzdHJpYnV0
ZUV4dHJhSG9yaXpvbnRhbFNwYWNlKExheW91dFVuaXQKICAgICAgICAgYXV0byBkaXN0cmlidXRl
ZFNwYWNlcyA9IGRpc3RyaWJ1dGVBdmFpbGFibGVTcGFjZTxDb2x1bW5TcGFuPihncmlkLCBleHRy
YUhvcml6b250YWxTcGFjZSwgWyZdIChjb25zdCBUYWJsZUdyaWQ6OlNsb3QmIHNsb3QsIHNpemVf
dCBjb2x1bW5JbmRleCkgewogICAgICAgICAgICAgYXV0byYgY29sdW1uID0gY29sdW1ucy5saXN0
KClbY29sdW1uSW5kZXhdOwogICAgICAgICAgICAgYXV0byBjb2x1bW5GaXhlZFdpZHRoID0gY29s
dW1uLmJveCgpID8gY29sdW1uLmJveCgpLT5jb2x1bW5XaWR0aCgpIDogV1RGOjpudWxsb3B0Owot
ICAgICAgICAgICAgYXV0byBzbG90V2lkdGggPSBjb2x1bW5XaWR0aEJhbGFuY2luZ0Jhc2UgPT0g
Q29sdW1uV2lkdGhCYWxhbmNpbmdCYXNlOjpNaW5pbXVtV2lkdGggPyBzbG90LndpZHRoQ29uc3Ry
YWludHMoKS5taW5pbXVtIDogc2xvdC53aWR0aENvbnN0cmFpbnRzKCkubWF4aW11bTsKLSAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om1heChzbG90V2lkdGgsIGNvbHVtbkZpeGVkV2lkdGgudmFsdWVP
cigwX2x1KSk7CisgICAgICAgICAgICBhdXRvIHNsb3RXaWR0aCA9IHN0ZDo6bWF4PGZsb2F0Pihj
b2x1bW5XaWR0aEJhbGFuY2luZ0Jhc2UgPT0gQ29sdW1uV2lkdGhCYWxhbmNpbmdCYXNlOjpNaW5p
bXVtV2lkdGggPyBzbG90LndpZHRoQ29uc3RyYWludHMoKS5taW5pbXVtIDogc2xvdC53aWR0aENv
bnN0cmFpbnRzKCkubWF4aW11bSwgY29sdW1uRml4ZWRXaWR0aC52YWx1ZU9yKDBfbHUpKTsKKyAg
ICAgICAgICAgIHJldHVybiBHcmlkU3BhY2UgeyBzbG90V2lkdGgsIHNsb3RXaWR0aCB9OwogICAg
ICAgICB9KTsKICAgICAgICAgLy8gU2V0IGZpbmlhbCBob3Jpem9udGFsIHBvc2l0aW9uIGFuZCB3
aWR0aC4KICAgICAgICAgYXV0byBjb2x1bW5Mb2dpY2FsTGVmdCA9IGdyaWQuaG9yaXpvbnRhbFNw
YWNpbmcoKTsKQEAgLTU3OSw5ICs2MjUsMTAgQEAgdm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0
Ojpjb21wdXRlQW5kRGlzdHJpYnV0ZUV4dHJhVmVydGljYWxTcGFjZShMYXlvdXRVbml0IGEKICAg
ICAgICAgc3BhY2VUb0Rpc3RyaWJ1dGUgPSBzdGQ6Om1heCgwLjBmLCAqYXZhaWxhYmxlVmVydGlj
YWxTcGFjZSAtICgocm93cy5zaXplKCkgKyAxKSAqIGdyaWQudmVydGljYWxTcGFjaW5nKCkpIC0g
dGFibGVVc2VkSGVpZ2h0KTsKICAgICBhdXRvIGRpc3RyaWJ1dGVkU3BhY2VzID0gZGlzdHJpYnV0
ZUF2YWlsYWJsZVNwYWNlPFJvd1NwYW4+KGdyaWQsIHNwYWNlVG9EaXN0cmlidXRlLCBbJl0gKGNv
bnN0IFRhYmxlR3JpZDo6U2xvdCYgc2xvdCwgc2l6ZV90IHJvd0luZGV4KSB7CiAgICAgICAgIGlm
IChzbG90Lmhhc1Jvd1NwYW4oKSkKLSAgICAgICAgICAgIHJldHVybiBnZW9tZXRyeUZvckJveChz
bG90LmNlbGwoKS5ib3goKSkuaGVpZ2h0KCk7CisgICAgICAgICAgICByZXR1cm4gR3JpZFNwYWNl
IHsgZ2VvbWV0cnlGb3JCb3goc2xvdC5jZWxsKCkuYm94KCkpLmhlaWdodCgpLCBnZW9tZXRyeUZv
ckJveChzbG90LmNlbGwoKS5ib3goKSkuaGVpZ2h0KCkgfTsKICAgICAgICAgYXV0byBjb21wdXRl
ZFJvd0hlaWdodCA9IGdlb21ldHJ5KCkuY29tcHV0ZWRIZWlnaHQocm93cy5saXN0KClbcm93SW5k
ZXhdLmJveCgpLCB7IH0pOwotICAgICAgICByZXR1cm4gc3RkOjptYXgoTGF5b3V0VW5pdCB7IHJv
d0hlaWdodFtyb3dJbmRleF0uaGVpZ2h0KCkgfSwgY29tcHV0ZWRSb3dIZWlnaHQudmFsdWVPcigw
X2x1KSk7CisgICAgICAgIGF1dG8gaGVpZ2h0ID0gc3RkOjptYXg8ZmxvYXQ+KHJvd0hlaWdodFty
b3dJbmRleF0uaGVpZ2h0KCksIGNvbXB1dGVkUm93SGVpZ2h0LnZhbHVlT3IoMF9sdSkpOworICAg
ICAgICByZXR1cm4gR3JpZFNwYWNlIHsgaGVpZ2h0LCBoZWlnaHQgfTsKICAgICB9KTsKIAogICAg
IGF1dG8gcm93TG9naWNhbFRvcCA9IGdyaWQudmVydGljYWxTcGFjaW5nKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>