<?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>275209</bug_id>
          
          <creation_ts>2024-06-06 06:48:06 -0700</creation_ts>
          <short_desc>REGRESSION (Safari 17.5): Can&apos;t scroll flexbox container</short_desc>
          <delta_ts>2024-07-08 00:38:17 -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>Safari 17</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 17</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=267849</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitris">xjimdim</reporter>
          <assigned_to name="fantasai">fantasai.bugs</assigned_to>
          <cc>a_protyasha</cc>
    
    <cc>bfulgham</cc>
    
    <cc>fantasai.bugs</cc>
    
    <cc>sgill26</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xjimdim</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2040085</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitris">xjimdim</who>
    <bug_when>2024-06-06 06:48:06 -0700</bug_when>
    <thetext>It seems like with the latest update for mobile Safari (17.5) scrolling inside of flexbox containers has stopped working!

Here is an example I have created: https://codepen.io/xjimdim/pen/KKLqwOr

In all other browsers the .container element has a scrollbar and you can scroll through its children but on Safari 17.5 it seems like the .container has overflow hidden and no scrolling is allowed.
All other versions of Safari work fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2040098</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2024-06-06 08:52:10 -0700</bug_when>
    <thetext>Steps to reproduce: move the pointer over the box with &quot;1&quot; in it, try scrolling (I reproduced with two-finger scroll on a trackpad).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2040099</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-06-06 08:52:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/129343181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2040152</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2024-06-06 14:05:08 -0700</bug_when>
    <thetext>We&apos;re failing to compete that we should have any layout overflow on the container. This is a layout bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2040159</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2024-06-06 14:44:48 -0700</bug_when>
    <thetext>Broke at https://commits.webkit.org/273737@main</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2040544</commentid>
    <comment_count>5</comment_count>
      <attachid>471631</attachid>
    <who name="fantasai">fantasai.bugs</who>
    <bug_when>2024-06-09 13:35:16 -0700</bug_when>
    <thetext>Created attachment 471631
reduced testcase

Caused by clipping content overflowing a flex container&apos;s child when that flex container has end alignment.

If the content were in-flow, we would measure and align it, and allow scrolling up to see any excess; but since it&apos;s overflowing down, we need to scroll down and since we flipped the scrolling direction for end-aligned flex containers we can&apos;t scroll down from the origin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2040545</commentid>
    <comment_count>6</comment_count>
      <attachid>471632</attachid>
    <who name="fantasai">fantasai.bugs</who>
    <bug_when>2024-06-09 13:39:27 -0700</bug_when>
    <thetext>Created attachment 471632
patch (rough draft)

This switches us back to a &quot;allow scrolling downward only&quot; model in general, but measures in-flow flex items that flow upward due to end alignment and allows scrolling up just enough to see *those* (similar to what Block and Grid currently do). It needs more testing to make sure it handles all the various coordinate systems, but it seems to fix the testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2040639</commentid>
    <comment_count>7</comment_count>
    <who name="fantasai">fantasai.bugs</who>
    <bug_when>2024-06-10 11:14:02 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/29679</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2041243</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-06-13 17:34:58 -0700</bug_when>
    <thetext>Committed 279992@main (ce08f3245391): &lt;https://commits.webkit.org/279992@main&gt;

Reviewed commits have been landed. Closing PR #29679 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2041294</commentid>
    <comment_count>9</comment_count>
    <who name="Dimitris">xjimdim</who>
    <bug_when>2024-06-14 00:07:29 -0700</bug_when>
    <thetext>Any clue about when this is gonna be rolled out to production (safari mobile)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2041917</commentid>
    <comment_count>10</comment_count>
    <who name="fantasai">fantasai.bugs</who>
    <bug_when>2024-06-18 11:23:46 -0700</bug_when>
    <thetext>I can&apos;t comment on release schedules, but you can work around the issue by using `safe flex-end` instead of `flex-end`.

https://developer.mozilla.org/en-US/docs/Web/CSS/align-content
https://www.w3.org/TR/css-align-3/#overflow-values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2045031</commentid>
    <comment_count>11</comment_count>
    <who name="Dimitris">xjimdim</who>
    <bug_when>2024-07-08 00:38:17 -0700</bug_when>
    <thetext>Just tested using &quot;safe flex-end&quot; instead of &quot;flex-end&quot; and it still does not work :/ Updated in the example link too https://codepen.io/xjimdim/pen/KKLqwOr</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>471631</attachid>
            <date>2024-06-09 13:35:16 -0700</date>
            <delta_ts>2024-06-09 13:35:16 -0700</delta_ts>
            <desc>reduced testcase</desc>
            <filename>flexbox-error.html</filename>
            <type>text/html</type>
            <size>584</size>
            <attacher name="fantasai">fantasai.bugs</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiA+CjxzdHlsZT4KCiAgLmNvbnRhaW5lciB7
CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIGRpc3Bs
YXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGp1c3RpZnktY29u
dGVudDogZmxleC1lbmQ7CiAgICAgIGJvcmRlcjogc29saWQgYmx1ZTsKICB9CgogIC5jaGlsZCB7
CiAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgIGJvcmRlcjogc29saWQgZ3JlZW47CiAgfQoKICAu
Z3JhbmRjaGlsZCB7CiAgICAgIGhlaWdodDogMjAwJTsKICAgICAgZGlzcGxheTogZmxleDsKICAg
ICAgYm9yZGVyOiB0aGljayBkb3VibGUgb3JhbmdlOwogICAgICBtYXJnaW46IDFyZW07CiAgfQo8
L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iY2hpbGQi
PgogICAgICA8ZGl2IGNsYXNzPSJncmFuZGNoaWxkIj5UaGlzIGVudGlyZSBib3ggc2hvdWxkIGJl
IHZpc2libGUgYmVjYXVzZSB0aGUgYmx1ZSBib3ggaXMgYSBzY3JvbGxlci48L2Rpdj4KICAgIDwv
ZGl2PgogIDwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>471632</attachid>
            <date>2024-06-09 13:39:27 -0700</date>
            <delta_ts>2024-06-09 13:39:27 -0700</delta_ts>
            <desc>patch (rough draft)</desc>
            <filename>flexfix.diff</filename>
            <type>text/plain</type>
            <size>9720</size>
            <attacher name="fantasai">fantasai.bugs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4
IDUwYjY5ZmQ3OWJlZC4uMjY1ZjBhOTA2MmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTE4MDUsNiArMTgwNSwxNiBAQCBib29sIFJl
bmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduIGZsZXhTaWdu
LCBGbGV4SXRlbXMmIGZsZQogICAgIHJldHVybiAhdG90YWxWaW9sYXRpb247CiB9CiAKK2lubGlu
ZSBDb250ZW50UG9zaXRpb24gcmVzb2x2ZUxlZnRSaWdodEFsaWdubWVudChDb250ZW50UG9zaXRp
b24gcG9zaXRpb24sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgYm9vbCBpc1JldmVyc2VkKQor
eworICAgIGlmIChwb3NpdGlvbiA9PSBDb250ZW50UG9zaXRpb246OkxlZnQgfHwgcG9zaXRpb24g
PT0gQ29udGVudFBvc2l0aW9uOjpSaWdodCkgeworICAgICAgICBhdXRvIGxlZnRSaWdodEF4aXNE
aXJlY3Rpb24gPSBSZW5kZXJGbGV4aWJsZUJveDo6bGVmdFJpZ2h0QXhpc0RpcmVjdGlvbkZyb21T
dHlsZShzdHlsZSk7CisgICAgICAgIHBvc2l0aW9uID0gKHN0eWxlLmp1c3RpZnlDb250ZW50KCku
aXNFbmR3YXJkKGxlZnRSaWdodEF4aXNEaXJlY3Rpb24sIGlzUmV2ZXJzZWQpKQorICAgICAgICAg
ICAgPyBDb250ZW50UG9zaXRpb246OkVuZCA6IENvbnRlbnRQb3NpdGlvbjo6U3RhcnQ7CisgICAg
fQorICAgIHJldHVybiBwb3NpdGlvbjsKK30KKwogc3RhdGljIExheW91dFVuaXQgaW5pdGlhbEp1
c3RpZnlDb250ZW50T2Zmc2V0KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgTGF5b3V0VW5pdCBh
dmFpbGFibGVGcmVlU3BhY2UsIHVuc2lnbmVkIG51bWJlck9mQ2hpbGRyZW4sIGJvb2wgaXNSZXZl
cnNlZCkKIHsKICAgICBDb250ZW50UG9zaXRpb24ganVzdGlmeUNvbnRlbnQgPSBzdHlsZS5yZXNv
bHZlZEp1c3RpZnlDb250ZW50UG9zaXRpb24oY29udGVudEFsaWdubWVudE5vcm1hbEJlaGF2aW9y
KCkpOwpAQCAtMTgxOSwxMSArMTgyOSw3IEBAIHN0YXRpYyBMYXlvdXRVbml0IGluaXRpYWxKdXN0
aWZ5Q29udGVudE9mZnNldChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIExheW91dFVuCiAgICAg
Ly8gSWYgdGhlIHByb3BlcnR5J3MgYXhpcyBpcyBub3QgcGFyYWxsZWwgd2l0aCBlaXRoZXIgbGVm
dDwtPnJpZ2h0IGF4aXMsIHRoaXMgdmFsdWUgYmVoYXZlcyBhcyBzdGFydC4gQ3VycmVudGx5LAog
ICAgIC8vIHRoZSBvbmx5IGNhc2Ugd2hlcmUgdGhlIHByb3BlcnR5J3MgYXhpcyBpcyBub3QgcGFy
YWxsZWwgd2l0aCBlaXRoZXIgbGVmdDwtPnJpZ2h0IGF4aXMgaXMgaW4gYSBjb2x1bW4gZmxleGJv
eC4KICAgICAvLyBodHRwczogLy93d3cudzMub3JnL1RSL2Nzcy1hbGlnbi0zLyN2YWxkZWYtanVz
dGlmeS1jb250ZW50LWxlZnQKLSAgICBpZiAoanVzdGlmeUNvbnRlbnQgPT0gQ29udGVudFBvc2l0
aW9uOjpMZWZ0IHx8IGp1c3RpZnlDb250ZW50ID09IENvbnRlbnRQb3NpdGlvbjo6UmlnaHQpIHsK
LSAgICAgICAgYXV0byBsZWZ0UmlnaHRBeGlzRGlyZWN0aW9uID0gUmVuZGVyRmxleGlibGVCb3g6
OmxlZnRSaWdodEF4aXNEaXJlY3Rpb25Gcm9tU3R5bGUoc3R5bGUpOwotICAgICAgICBqdXN0aWZ5
Q29udGVudCA9IChzdHlsZS5qdXN0aWZ5Q29udGVudCgpLmlzRW5kd2FyZChsZWZ0UmlnaHRBeGlz
RGlyZWN0aW9uLCBpc1JldmVyc2VkKSkKLSAgICAgICAgICAgID8gQ29udGVudFBvc2l0aW9uOjpF
bmQgOiBDb250ZW50UG9zaXRpb246OlN0YXJ0OwotICAgIH0KKyAgICBqdXN0aWZ5Q29udGVudCA9
IHJlc29sdmVMZWZ0UmlnaHRBbGlnbm1lbnQoanVzdGlmeUNvbnRlbnQsIHN0eWxlLCBpc1JldmVy
c2VkKTsKICAgICBBU1NFUlQoanVzdGlmeUNvbnRlbnQgIT0gQ29udGVudFBvc2l0aW9uOjpMZWZ0
KTsKICAgICBBU1NFUlQoanVzdGlmeUNvbnRlbnQgIT0gQ29udGVudFBvc2l0aW9uOjpSaWdodCk7
CiAKQEAgLTIxODEsNiArMjE4NywzOCBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhh
c1BlcmNlbnRIZWlnaHREZXNjZW5kYW50cyhjb25zdCBSZW5kZXJCb3gmIHJlbmRlcgogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAorc3RhdGljIExheW91dFVuaXQgY29udGVudEFsaWdubWVudFN0YXJ0
T3ZlcmZsb3coTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3BhY2UsIENvbnRlbnRQb3NpdGlvbiBw
b3NpdGlvbiwgQ29udGVudERpc3RyaWJ1dGlvbiBkaXN0cmlidXRpb24sIE92ZXJmbG93QWxpZ25t
ZW50IHNhZmV0eSwgYm9vbCBpc1JldmVyc2VkKQoreworCisgICAgaWYgKGF2YWlsYWJsZUZyZWVT
cGFjZSA+PSAwIHx8IHNhZmV0eSA9PSBPdmVyZmxvd0FsaWdubWVudDo6U2FmZSB8fCBkaXN0cmli
dXRpb24gPT0gQ29udGVudERpc3RyaWJ1dGlvbjo6U3RyZXRjaCkKKyAgICAgICAgcmV0dXJuIDBf
bHU7CisKKyAgICBpZiAoZGlzdHJpYnV0aW9uID09IENvbnRlbnREaXN0cmlidXRpb246OlNwYWNl
QXJvdW5kCisgICAgICAgIHx8IGRpc3RyaWJ1dGlvbiA9PSBDb250ZW50RGlzdHJpYnV0aW9uOjpT
cGFjZUV2ZW5seSkKKyAgICAgICAgcmV0dXJuIC1hdmFpbGFibGVGcmVlU3BhY2UvMjsKKworICAg
IHN3aXRjaCAocG9zaXRpb24pIHsKKyAgICAgICAgY2FzZSBDb250ZW50UG9zaXRpb246Ok5vcm1h
bDoKKyAgICAgICAgY2FzZSBDb250ZW50UG9zaXRpb246OlN0YXJ0OgorICAgICAgICBjYXNlIENv
bnRlbnRQb3NpdGlvbjo6QmFzZWxpbmU6CisgICAgICAgIGNhc2UgQ29udGVudFBvc2l0aW9uOjpM
YXN0QmFzZWxpbmU6CisgICAgICAgICAgICByZXR1cm4gMF9sdTsKKyAgICAgICAgY2FzZSBDb250
ZW50UG9zaXRpb246OkNlbnRlcjoKKyAgICAgICAgICAgIHJldHVybiAtYXZhaWxhYmxlRnJlZVNw
YWNlLzI7CisgICAgICAgIGNhc2UgQ29udGVudFBvc2l0aW9uOjpFbmQ6CisgICAgICAgICAgICBy
ZXR1cm4gLWF2YWlsYWJsZUZyZWVTcGFjZTsKKyAgICAgICAgY2FzZSBDb250ZW50UG9zaXRpb246
OkZsZXhTdGFydDoKKyAgICAgICAgICAgIHJldHVybiBpc1JldmVyc2VkID8gMF9sdSA6IC1hdmFp
bGFibGVGcmVlU3BhY2U7CisgICAgICAgIGNhc2UgQ29udGVudFBvc2l0aW9uOjpGbGV4RW5kOgor
ICAgICAgICAgICAgcmV0dXJuIGlzUmV2ZXJzZWQgPyAtYXZhaWxhYmxlRnJlZVNwYWNlIDogMF9s
dTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlmIChkaXN0cmlidXRpb24gPT0gQ29u
dGVudERpc3RyaWJ1dGlvbjo6U3BhY2VCZXR3ZWVuKQorICAgICAgICAgICAgICAgIHJldHVybiBp
c1JldmVyc2VkID8gMF9sdSA6IC1hdmFpbGFibGVGcmVlU3BhY2U7CisgICAgICAgICAgICBBU1NF
UlQodHJ1ZSk7IC8vIEZhaWxlZCB0byBoYW5kbGUgc29tZXRoaW5nPworICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorfQorCiB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRBbmRQbGFj
ZUNoaWxkcmVuKExheW91dFVuaXQmIGNyb3NzQXhpc09mZnNldCwgRmxleEl0ZW1zJiBmbGV4SXRl
bXMsIExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlLCBib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IEZsZXhMaW5lU3RhdGVzJiBsaW5lU3RhdGVzLCBMYXlvdXRVbml0IGdhcEJldHdlZW5JdGVtcykK
IHsKICAgICBMYXlvdXRVbml0IGF1dG9NYXJnaW5PZmZzZXQgPSBhdXRvTWFyZ2luT2Zmc2V0SW5N
YWluQXhpcyhmbGV4SXRlbXMsIGF2YWlsYWJsZUZyZWVTcGFjZSk7CkBAIC0yMTg5LDYgKzIyMjcs
MTUgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QW5kUGxhY2VDaGlsZHJlbihMYXlv
dXRVbml0JiBjcm9zc0F4aXNPZmZzZXQsIEZsZXgKICAgICBpZiAoc3R5bGUoKS5mbGV4RGlyZWN0
aW9uKCkgPT0gRmxleERpcmVjdGlvbjo6Um93UmV2ZXJzZSkKICAgICAgICAgbWFpbkF4aXNPZmZz
ZXQgKz0gaXNIb3Jpem9udGFsRmxvdygpID8gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpIDogaG9y
aXpvbnRhbFNjcm9sbGJhckhlaWdodCgpOwogCisgICAgbV9qdXN0aWZ5Q29udGVudFN0YXJ0T3Zl
cmZsb3cgPSAwOworICAgIGlmIChhdmFpbGFibGVGcmVlU3BhY2UgPCAwKSB7CisgICAgICAgIENv
bnRlbnRQb3NpdGlvbiBwb3NpdGlvbiA9IHN0eWxlKCkucmVzb2x2ZWRKdXN0aWZ5Q29udGVudFBv
c2l0aW9uKGNvbnRlbnRBbGlnbm1lbnROb3JtYWxCZWhhdmlvcigpKTsKKyAgICAgICAgQ29udGVu
dERpc3RyaWJ1dGlvbiBkaXN0cmlidXRpb24gPSBzdHlsZSgpLnJlc29sdmVkSnVzdGlmeUNvbnRl
bnREaXN0cmlidXRpb24oY29udGVudEFsaWdubWVudE5vcm1hbEJlaGF2aW9yKCkpOworICAgICAg
ICBPdmVyZmxvd0FsaWdubWVudCBzYWZldHkgPSBzdHlsZSgpLmp1c3RpZnlDb250ZW50KCkub3Zl
cmZsb3coKTsKKyAgICAgICAgcG9zaXRpb24gPSByZXNvbHZlTGVmdFJpZ2h0QWxpZ25tZW50KHBv
c2l0aW9uLCBzdHlsZSgpLCBpc0NvbHVtbk9yUm93UmV2ZXJzZSgpKTsKKyAgICAgICAgbV9qdXN0
aWZ5Q29udGVudFN0YXJ0T3ZlcmZsb3cgPSBjb250ZW50QWxpZ25tZW50U3RhcnRPdmVyZmxvdyhh
dmFpbGFibGVGcmVlU3BhY2UsIHBvc2l0aW9uLCBkaXN0cmlidXRpb24sIHNhZmV0eSwgaXNDb2x1
bW5PclJvd1JldmVyc2UoKSk7CisgICAgfQorCiAgICAgTGF5b3V0VW5pdCB0b3RhbE1haW5FeHRl
bnQgPSBtYWluQXhpc0V4dGVudCgpOwogICAgIExheW91dFVuaXQgbWF4QXNjZW50LCBtYXhEZXNj
ZW50LCBsYXN0QmFzZWxpbmVNYXhBc2NlbnQ7IC8vIFVzZWQgd2hlbiBhbGlnbi1pdGVtczogYmFz
ZWxpbmUuCiAgICAgc3RkOjpvcHRpb25hbDxCYXNlbGluZUFsaWdubWVudFN0YXRlPiBiYXNlbGlu
ZUFsaWdubWVudFN0YXRlOwpAQCAtMjMyMyw3ICsyMzcwLDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJs
ZUJveDo6bGF5b3V0Q29sdW1uUmV2ZXJzZShjb25zdCBGbGV4SXRlbXMmIGZsZXhJdGVtcywgTGF5
b3V0VW4KICAgICAgICAgfQogICAgIH0KIH0KLSAgICAKKwogc3RhdGljIExheW91dFVuaXQgaW5p
dGlhbEFsaWduQ29udGVudE9mZnNldChMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcGFjZSwgQ29u
dGVudFBvc2l0aW9uIGFsaWduQ29udGVudCwgQ29udGVudERpc3RyaWJ1dGlvbiBhbGlnbkNvbnRl
bnREaXN0cmlidXRpb24sIE92ZXJmbG93QWxpZ25tZW50IHNhZmV0eSwgdW5zaWduZWQgbnVtYmVy
T2ZMaW5lcywgYm9vbCBpc1JldmVyc2VkKQogewogICAgIGlmIChhdmFpbGFibGVGcmVlU3BhY2Ug
PCAwICYmIHNhZmV0eSA9PSBPdmVyZmxvd0FsaWdubWVudDo6U2FmZSkgewpAQCAtMjM4Miw2ICsy
NDI5LDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6YWxpZ25GbGV4TGluZXMoRmxleExpbmVT
dGF0ZXMmIGxpbmVTdGF0ZXMsIExheW91dFVuaXQgZ2EKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG51bUxpbmVzOyArK2kpCiAgICAgICAgIGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlIC09IGxp
bmVTdGF0ZXNbaV0uY3Jvc3NBeGlzRXh0ZW50OwogCisgICAgbV9hbGlnbkNvbnRlbnRTdGFydE92
ZXJmbG93ID0gY29udGVudEFsaWdubWVudFN0YXJ0T3ZlcmZsb3coYXZhaWxhYmxlQ3Jvc3NBeGlz
U3BhY2UsIHBvc2l0aW9uLCBkaXN0cmlidXRpb24sIHNhZmV0eSwgc3R5bGUoKS5mbGV4V3JhcCgp
ID09IEZsZXhXcmFwOjpSZXZlcnNlKTsKICAgICBMYXlvdXRVbml0IGxpbmVPZmZzZXQgPSBpbml0
aWFsQWxpZ25Db250ZW50T2Zmc2V0KGF2YWlsYWJsZUNyb3NzQXhpc1NwYWNlLCBwb3NpdGlvbiwg
ZGlzdHJpYnV0aW9uLCBzYWZldHksIG51bUxpbmVzLCBzdHlsZSgpLmZsZXhXcmFwKCkgPT0gRmxl
eFdyYXA6OlJldmVyc2UpOwogICAgIGZvciAodW5zaWduZWQgbGluZU51bWJlciA9IDA7IGxpbmVO
dW1iZXIgPCBudW1MaW5lczsgKytsaW5lTnVtYmVyKSB7CiAgICAgICAgIExpbmVTdGF0ZSYgbGlu
ZVN0YXRlID0gbGluZVN0YXRlc1tsaW5lTnVtYmVyXTsKQEAgLTI2MDcsNDcgKzI2NTUsMTkgQEAg
TGF5b3V0T3B0aW9uYWxPdXRzZXRzIFJlbmRlckZsZXhpYmxlQm94OjphbGxvd2VkTGF5b3V0T3Zl
cmZsb3coKSBjb25zdAogewogICAgIExheW91dE9wdGlvbmFsT3V0c2V0cyBhbGxvd2FuY2UgPSBS
ZW5kZXJCb3g6OmFsbG93ZWRMYXlvdXRPdmVyZmxvdygpOwogCi0gICAgYXV0byBsZWZ0UmlnaHRB
eGlzRGlyZWN0aW9uID0gbGVmdFJpZ2h0QXhpc0RpcmVjdGlvbkZyb21TdHlsZShzdHlsZSgpKTsK
LQotICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpIHsKLSAgICAgICAgaWYgKHN0eWxlKCkuanVz
dGlmeUNvbnRlbnQoKS5vdmVyZmxvdygpICE9IE92ZXJmbG93QWxpZ25tZW50OjpTYWZlKSB7Ci0g
ICAgICAgICAgICBpZiAoc3R5bGUoKS5qdXN0aWZ5Q29udGVudCgpLmlzQ2VudGVyZWQoKSkgewot
ICAgICAgICAgICAgICAgIGFsbG93YW5jZS5zZXRMZWZ0KHN0ZDo6bnVsbG9wdCk7Ci0gICAgICAg
ICAgICAgICAgYWxsb3dhbmNlLnNldFJpZ2h0KHN0ZDo6bnVsbG9wdCk7Ci0gICAgICAgICAgICB9
IGVsc2UgaWYgKHN0eWxlKCkuanVzdGlmeUNvbnRlbnQoKS5pc0VuZHdhcmQobGVmdFJpZ2h0QXhp
c0RpcmVjdGlvbiwgaXNDb2x1bW5PclJvd1JldmVyc2UoKSkpCi0gICAgICAgICAgICAgICAgYWxs
b3dhbmNlID0gYWxsb3dhbmNlLnhGbGlwcGVkQ29weSgpOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKCFpc011bHRpbGluZSgpKSAvLyBJZ25vcmUgYWxpZ24tY29udGVudCBmb3Igc2luZ2xlLWxp
bmUgZmxleC4KLSAgICAgICAgICAgIHJldHVybiBhbGxvd2FuY2U7Ci0KLSAgICAgICAgaWYgKHN0
eWxlKCkuYWxpZ25Db250ZW50KCkub3ZlcmZsb3coKSAhPSBPdmVyZmxvd0FsaWdubWVudDo6U2Fm
ZSkgewotICAgICAgICAgICAgaWYgKHN0eWxlKCkuYWxpZ25Db250ZW50KCkuaXNDZW50ZXJlZCgp
KSB7Ci0gICAgICAgICAgICAgICAgYWxsb3dhbmNlLnNldFRvcChzdGQ6Om51bGxvcHQpOwotICAg
ICAgICAgICAgICAgIGFsbG93YW5jZS5zZXRCb3R0b20oc3RkOjpudWxsb3B0KTsKLSAgICAgICAg
ICAgIH0gZWxzZSBpZiAoc3R5bGUoKS5hbGlnbkNvbnRlbnQoKS5pc0VuZHdhcmQoc3RkOjpudWxs
b3B0LCBzdHlsZSgpLmZsZXhXcmFwKCkgPT0gRmxleFdyYXA6OlJldmVyc2UpKQotICAgICAgICAg
ICAgICAgIGFsbG93YW5jZSA9IGFsbG93YW5jZS55RmxpcHBlZENvcHkoKTsKLSAgICAgICAgfQor
ICAgIGJvb2wgaXNDb2x1bW5hciA9IHN0eWxlKCkuaXNDb2x1bW5GbGV4RGlyZWN0aW9uKCk7Cisg
ICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKKyAgICAgICAgYWxsb3dhbmNlLnRv
cCgpID0gaXNDb2x1bW5hciA/IG1fanVzdGlmeUNvbnRlbnRTdGFydE92ZXJmbG93IDogbV9hbGln
bkNvbnRlbnRTdGFydE92ZXJmbG93OworICAgICAgICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkpCisgICAgICAgICAgICBhbGxvd2FuY2UubGVmdCgpID0gaXNDb2x1bW5hciA/
IG1fYWxpZ25Db250ZW50U3RhcnRPdmVyZmxvdyA6IG1fanVzdGlmeUNvbnRlbnRTdGFydE92ZXJm
bG93OworICAgICAgICBlbHNlCisgICAgICAgICAgICBhbGxvd2FuY2UucmlnaHQoKSA9IGlzQ29s
dW1uYXIgPyBtX2FsaWduQ29udGVudFN0YXJ0T3ZlcmZsb3cgOiBtX2p1c3RpZnlDb250ZW50U3Rh
cnRPdmVyZmxvdzsKICAgICB9IGVsc2UgewotICAgICAgICBpZiAoc3R5bGUoKS5qdXN0aWZ5Q29u
dGVudCgpLm92ZXJmbG93KCkgIT0gT3ZlcmZsb3dBbGlnbm1lbnQ6OlNhZmUpIHsKLQotICAgICAg
ICAgICAgaWYgKHN0eWxlKCkuanVzdGlmeUNvbnRlbnQoKS5pc0NlbnRlcmVkKCkpIHsKLSAgICAg
ICAgICAgICAgICBhbGxvd2FuY2Uuc2V0VG9wKHN0ZDo6bnVsbG9wdCk7Ci0gICAgICAgICAgICAg
ICAgYWxsb3dhbmNlLnNldEJvdHRvbShzdGQ6Om51bGxvcHQpOwotICAgICAgICAgICAgfSBlbHNl
IGlmIChzdHlsZSgpLmp1c3RpZnlDb250ZW50KCkuaXNFbmR3YXJkKGxlZnRSaWdodEF4aXNEaXJl
Y3Rpb24sIGlzQ29sdW1uT3JSb3dSZXZlcnNlKCkpKQotICAgICAgICAgICAgICAgIGFsbG93YW5j
ZSA9IGFsbG93YW5jZS55RmxpcHBlZENvcHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICgh
aXNNdWx0aWxpbmUoKSkKLSAgICAgICAgICAgIHJldHVybiBhbGxvd2FuY2U7Ci0KLSAgICAgICAg
aWYgKHN0eWxlKCkuYWxpZ25Db250ZW50KCkub3ZlcmZsb3coKSAhPSBPdmVyZmxvd0FsaWdubWVu
dDo6U2FmZSkgewotICAgICAgICAgICAgaWYgKHN0eWxlKCkuYWxpZ25Db250ZW50KCkuaXNDZW50
ZXJlZCgpKSB7Ci0gICAgICAgICAgICAgICAgYWxsb3dhbmNlLnNldExlZnQoc3RkOjpudWxsb3B0
KTsKLSAgICAgICAgICAgICAgICBhbGxvd2FuY2Uuc2V0UmlnaHQoc3RkOjpudWxsb3B0KTsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAoc3R5bGUoKS5hbGlnbkNvbnRlbnQoKS5pc0VuZHdhcmQoc3Rk
OjpudWxsb3B0LCBzdHlsZSgpLmZsZXhXcmFwKCkgPT0gRmxleFdyYXA6OlJldmVyc2UpKQotICAg
ICAgICAgICAgICAgIGFsbG93YW5jZSA9IGFsbG93YW5jZS54RmxpcHBlZENvcHkoKTsKLSAgICAg
ICAgfQorICAgICAgICBhbGxvd2FuY2UubGVmdCgpID0gaXNDb2x1bW5hciA/IG1fanVzdGlmeUNv
bnRlbnRTdGFydE92ZXJmbG93IDogbV9hbGlnbkNvbnRlbnRTdGFydE92ZXJmbG93OworICAgICAg
ICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgICAgICAgICBhbGxv
d2FuY2UudG9wKCkgPSBpc0NvbHVtbmFyID8gbV9hbGlnbkNvbnRlbnRTdGFydE92ZXJmbG93IDog
bV9qdXN0aWZ5Q29udGVudFN0YXJ0T3ZlcmZsb3c7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGFsbG93YW5jZS5ib3R0b20oKSA9IGlzQ29sdW1uYXIgPyBtX2FsaWduQ29udGVudFN0YXJ0T3Zl
cmZsb3cgOiBtX2p1c3RpZnlDb250ZW50U3RhcnRPdmVyZmxvdzsKICAgICB9CiAKICAgICByZXR1
cm4gYWxsb3dhbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guaAppbmRleCA0OTc4ZDU2ODA4MWYuLmMyYTc4MmRmNGZlZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKQEAgLTI5Miw2ICsyOTIsOSBAQCBwcml2
YXRlOgogICAgICAgICBTaW5nbGVUaHJlYWRXZWFrSGFzaFNldDxjb25zdCBSZW5kZXJCb3g+IG1f
aXRlbXNPbkxhc3RGbGV4TGluZTsKICAgICB9IG1fbWFyZ2luVHJpbUl0ZW1zOwogCisgICAgTGF5
b3V0VW5pdCBtX2FsaWduQ29udGVudFN0YXJ0T3ZlcmZsb3cgeyAwIH07CisgICAgTGF5b3V0VW5p
dCBtX2p1c3RpZnlDb250ZW50U3RhcnRPdmVyZmxvdyB7IDAgfTsKKwogICAgIC8vIFRoaXMgaXMg
U2l6ZUlzVW5rbm93biBvdXRzaWRlIG9mIGxheW91dEJsb2NrKCkKICAgICBTaXplRGVmaW5pdGVu
ZXNzIG1faGFzRGVmaW5pdGVIZWlnaHQgeyBTaXplRGVmaW5pdGVuZXNzOjpVbmtub3duIH07CiAg
ICAgYm9vbCBtX2luTGF5b3V0IHsgZmFsc2UgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>