<?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>173887</bug_id>
          
          <creation_ts>2017-06-27 14:20:57 -0700</creation_ts>
          <short_desc>[css-scroll-snap] Triggering a layout during scroll causes jittery scrolling on iOS</short_desc>
          <delta_ts>2021-10-20 08:47:43 -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 10</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 10.3</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=214159</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=214627</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=227478</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=232014</see_also>
          <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="Jürg Lehni">lists</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>mjs</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1323245</commentid>
    <comment_count>0</comment_count>
    <who name="Jürg Lehni">lists</who>
    <bug_when>2017-06-27 14:20:57 -0700</bug_when>
    <thetext>I am trying to get scroll-snap to work on the body element in iOS, so that the navigation bar is allowed to disappear when the user scrolls the website, all while supporting scroll-snapping to snap to full pages.

This works well as long as I don&apos;t add an overlay element with changing content that is always visible using `position: fixed;` styling.

Here a test-case that illustrates the faulty behavior on iOS:

https://safari-scroll-snap-bug.netlify.com

On Safari / macOS and on other browsers, this behaves as it should. On iOS, I see this faulty behavior that leads to an uncontrollable website and excessive flickering sometimes:

https://safari-scroll-snap-bug.netlify.com/video.mp4

It looks as if the changes in the `#overlay` element are triggering a reflow in the `body`, which then confused the scroll snap behavior. This is surprising, as it has `position: fixed;` set and changes in it should not affect the layout underneath.

Another possible factor could be the changing view height due to the disappearing navigation bars. 

But once I add the `display: none;` to the `#overlay` element, the scroll behaves as it should.

The only workaround I could find so far is setting `overflow: hidden` on `body` and having `.pages` scroll instead, but this in turn breaks the hiding of navigation bars on iOS, which is not desirable.

I am hopeful that this information will assist with a timely fix of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323289</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-27 15:22:27 -0700</bug_when>
    <thetext>It&apos;s trying to scroll to its last active snap offset, which is updated after performing layout. I think we need to heavily refactor this code -- it&apos;s the cause of a lot of other similar bugs too, such as mainframe programmatic scrolling broken on iOS when scroll snapping is active.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323925</commentid>
    <comment_count>2</comment_count>
    <who name="Jürg Lehni">lists</who>
    <bug_when>2017-06-29 06:32:52 -0700</bug_when>
    <thetext>Could anybody confirm that this is still the case in iOS 11?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680652</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-15 15:21:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/67153673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680705</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-16 18:34:25 -0700</bug_when>
    <thetext>Possibly fixed by bug 214159.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680706</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-16 18:34:49 -0700</bug_when>
    <thetext>Or bug 214627, the iOS equivalent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772233</commentid>
    <comment_count>6</comment_count>
      <attachid>432146</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-06-24 02:48:11 -0700</bug_when>
    <thetext>Created attachment 432146
Test case

It seems this is still an issue and also an issue on MacOS if you drag the scrollbar. I think we need to do two things here:
 * Wait to do reshaping until all the mouse buttons are up in the scrollbar.
 * Ensure that ScrollableArea::isUserScrollInProgress returns true when dragging the scroll view in iOS. This seems to work properly on MacOS when using the wheel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773352</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-06-29 01:49:29 -0700</bug_when>
    <thetext>I have filed bug 227478 for the MacOS version of this issue. The issues are related, but the fixes will be different for each.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774811</commentid>
    <comment_count>8</comment_count>
      <attachid>432886</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-07-05 08:00:46 -0700</bug_when>
    <thetext>Created attachment 432886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805470</commentid>
    <comment_count>9</comment_count>
      <attachid>441563</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-10-18 00:08:24 -0700</bug_when>
    <thetext>Created attachment 441563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805974</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-19 06:46:47 -0700</bug_when>
    <thetext>Committed r284448 (243208@main): &lt;https://commits.webkit.org/243208@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441563.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>432146</attachid>
            <date>2021-06-24 02:48:11 -0700</date>
            <delta_ts>2021-06-24 02:48:11 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>snap-relayout.html</filename>
            <type>text/html</type>
            <size>1180</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9J2VuJz4KPGhlYWQ+CiAgPHRpdGxlPjwvdGl0bGU+
CiAgPG1ldGEgY2hhcnNldD0nVVRGLTgnPgogIDxtZXRhIG5hbWU9J3ZpZXdwb3J0JyBjb250ZW50
PSd3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgbWluaW11bS1zY2FsZT0xLCBt
YXhpbXVtLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8nPgogIDxtZXRhIG5hbWU9J2FwcGxlLW1v
YmlsZS13ZWItYXBwLWNhcGFibGUnIGNvbnRlbnQ9J3llcyc+CiAgPG1ldGEgbmFtZT0nYXBwbGUt
dG91Y2gtZnVsbHNjcmVlbicgY29udGVudD0neWVzJz4KICA8bWV0YSBuYW1lPSdtc2FwcGxpY2F0
aW9uLXRhcC1oaWdobGlnaHQnIGNvbnRlbnQ9J25vJz4KICA8c3R5bGU+CiAgICBodG1sIHsKICAg
ICAgbWFyZ2luOiAwOwogICAgICBzY3JvbGwtc25hcC10eXBlOiBib3RoIG1hbmRhdG9yeTsKICAg
IH0KCiAgICAjb3ZlcmxheSB7CiAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgdG9wOiAxZW07
CiAgICAgIGxlZnQ6IDFlbTsKICAgIH0KCiAgICAucGFnZSB7CiAgICAgIGhlaWdodDogMTAwdmg7
CiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDsKICAgIH0KICA8L3N0eWxlPgo8L2hlYWQ+
Cjxib2R5PgogIDxkaXYgaWQ9Im92ZXJsYXkiPjwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VzIj4K
ICAgIDxkaXYgY2xhc3M9InBhZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kOiByZWQiPjwvZGl2PgogICAg
PGRpdiBjbGFzcz0icGFnZSIgc3R5bGU9ImJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KICAgIDxk
aXYgY2xhc3M9InBhZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kOiBibHVlIj48L2Rpdj4KICAgIDxkaXYg
Y2xhc3M9InBhZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kOiBncmF5Ij48L2Rpdj4KICA8L2Rpdj4KICA8
c2NyaXB0PgogICAgdmFyIG92ZXJsYXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3Zlcmxh
eScpCiAgICBmdW5jdGlvbiBzY3JvbGwoKSB7CiAgICAgIG92ZXJsYXkuaW5uZXJIVE1MID0gZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRv
cAogICAgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNjcm9sbCkKICAg
IHNjcm9sbCgpCiAgPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgoKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432886</attachid>
            <date>2021-07-05 08:00:46 -0700</date>
            <delta_ts>2021-10-18 00:08:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173887-20210705170045.patch</filename>
            <type>text/plain</type>
            <size>12885</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlmNDQ4NTRkNmM4ODRkOWRl
ODc2MWZiNzM5NjNlZjY4ZWUyZjFhN2QuLmNhMjU2MzI4NWJhOWI0NjRiZGZhZmNlNjVjMTExNjgw
M2FjMTVkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMDctMDUgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3Mtc2Nyb2xsLXNu
YXBdIFRyaWdnZXJpbmcgYSBsYXlvdXQgZHVyaW5nIHNjcm9sbCBjYXVzZXMgaml0dGVyeSBzY3Jv
bGxpbmcgb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzM4ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY3MTUzNjczPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3Njcm9s
bGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMt
dmVydGljYWwuaHRtbAorCisgICAgICAgIEVuc3VyZSB0aGF0IHdoZW4gdGhlIHJvb3Qgbm9kZSBp
cyBzY3JvbGxpbmcsIGl0IGlzIGFkZGVkIHRvIHRoZSBsaXN0IG9mIG5vZGVzCisgICAgICAgIHdp
dGggYW4gYWN0aXZlIHVzZXIgc2Nyb2xsLiBUaGlzIHByZXZlbnRzIHRoZSB3ZWIgcHJvY2VzcyBm
cm9tIHJlc25hcHBpbmcgZHVyaW5nCisgICAgICAgIGxheW91dCB3aGVuIHRoZSB1c2VyIGlzIGFj
dGl2ZWx5IHNjcm9sbGluZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmll
d0lPUy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNjcm9sbFZpZXdXaWxsQmVnaW5EcmFnZ2lu
ZzpdKTogQ2FsbCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzZXRSb290Tm9kZUlz
SW5Vc2VyU2Nyb2xsCisgICAgICAgIHdoZW4gYSBzY2Ryb2xsIHN0YXJ0cyBhbmQgZW5kcy4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuaDogQWRkZWQgbWV0aG9kIGRlY2xhcmF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNl
dFJvb3ROb2RlSXNJblVzZXJTY3JvbGwpOiBBZGRlZCBzZXRSb290Tm9kZUlzSW5Vc2VyU2Nyb2xs
IG1ldGhvZC4KKwogMjAyMS0wNy0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBBdWdtZW50IC1fd2ViVmlldzpkaWROb3RIYW5kbGVUYXBB
c01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6IHRvIGluY2x1ZGUgbWVhbmluZ2Z1bCB0YXBzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCmluZGV4IGY0
NDg0MDg0YTE4NDM0ZDRmY2UzZjJlYmU0NGI0NjkzNWNiYzI0MzEuLmIxNTc4OThhZjA2YWM2NTc4
YTg5YTFiZDYzZTYzMGZjYjlkODE4OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCkBAIC0xNTcwLDYgKzE1NzAsOCBAQCAtICh2b2lkKXNj
cm9sbFZpZXdXaWxsQmVnaW5EcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwogICAg
IENHRmxvYXQgc2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yID0gKGNvb3JkaW5hdG9yICYmIGNvb3Jk
aW5hdG9yLT5zaG91bGRTZXRTY3JvbGxWaWV3RGVjZWxlcmF0aW9uUmF0ZUZhc3QoKSkgPyBVSVNj
cm9sbFZpZXdEZWNlbGVyYXRpb25SYXRlRmFzdCA6IFVJU2Nyb2xsVmlld0RlY2VsZXJhdGlvblJh
dGVOb3JtYWw7CiAgICAgc2Nyb2xsVmlldy5ob3Jpem9udGFsU2Nyb2xsRGVjZWxlcmF0aW9uRmFj
dG9yID0gc2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yOwogICAgIHNjcm9sbFZpZXcudmVydGljYWxT
Y3JvbGxEZWNlbGVyYXRpb25GYWN0b3IgPSBzY3JvbGxEZWNlbGVyYXRpb25GYWN0b3I7CisKKyAg
ICBjb29yZGluYXRvci0+c2V0Um9vdE5vZGVJc0luVXNlclNjcm9sbCh0cnVlKTsKICNlbmRpZgog
fQogCkBAIC0xNTgwLDYgKzE1ODIsMTAgQEAgLSAodm9pZClfZGlkRmluaXNoU2Nyb2xsaW5nCiAK
ICAgICBbc2VsZiBfc2NoZWR1bGVWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVdOwogICAgIFtfY29u
dGVudFZpZXcgZGlkRmluaXNoU2Nyb2xsaW5nXTsKKworI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJ
TkcpCisgICAgX3BhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkoKS0+c2V0Um9vdE5vZGVJ
c0luVXNlclNjcm9sbChmYWxzZSk7CisjZW5kaWYKIH0KIAogLSAodm9pZClzY3JvbGxWaWV3V2ls
bEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQ
b2ludCl2ZWxvY2l0eSB0YXJnZXRDb250ZW50T2Zmc2V0Oihpbm91dCBDR1BvaW50ICopdGFyZ2V0
Q29udGVudE9mZnNldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclBy
b3h5LmgKaW5kZXggMDBkMGQ0YWY4M2EzM2FlNzU5M2E3NDJkNDc3NmNjNzY2MGE3NTc1NC4uMDMy
OTViZWI2YzU1NGVlNjY5MDcwMTZhNWE1NjlmMzBkMDBmN2E1YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oCkBAIC0xMDMsNiArMTAzLDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaGFzQWN0aXZlU25hcFBvaW50KCkgY29uc3Q7CiAgICAgQ0dQb2ludCBu
ZWFyZXN0QWN0aXZlQ29udGVudEluc2V0QWRqdXN0ZWRTbmFwT2Zmc2V0KENHRmxvYXQgdG9wSW5z
ZXQsIGNvbnN0IENHUG9pbnQmKSBjb25zdDsKICAgICBib29sIHNob3VsZFNldFNjcm9sbFZpZXdE
ZWNlbGVyYXRpb25SYXRlRmFzdCgpIGNvbnN0OworICAgIHZvaWQgc2V0Um9vdE5vZGVJc0luVXNl
clNjcm9sbChib29sKTsKICNlbmRpZgogCiAgICAgU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JQcm94eUlPUy5tbQppbmRleCBmYjY0ZWVjM2ExN2RlMmM2NDhlODA0OGY3NGQwZTNiNjQ0
NDVjOTgwLi4wMDNhNGM4YWY0MWRlM2Q4ZDAxZWM4YTdiNDk4YzkzMTdlYWNlNmFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9T
Lm1tCkBAIC0yMTgsNiArMjE4LDIwIEBAIGJvb2wgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eTo6c2hvdWxkU2V0U2Nyb2xsVmlld0RlY2VsZXJhdGlvblJhdGVGYXN0KCkKICAgICByZXR1
cm4gc2hvdWxkU25hcEZvck1haW5GcmFtZVNjcm9sbGluZyhTY3JvbGxFdmVudEF4aXM6Okhvcml6
b250YWwpIHx8IHNob3VsZFNuYXBGb3JNYWluRnJhbWVTY3JvbGxpbmcoU2Nyb2xsRXZlbnRBeGlz
OjpWZXJ0aWNhbCk7CiB9CiAKK3ZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6
c2V0Um9vdE5vZGVJc0luVXNlclNjcm9sbChib29sIHZhbHVlKQoreworICAgIFNjcm9sbGluZ1Ry
ZWVOb2RlKiByb290ID0gbV9zY3JvbGxpbmdUcmVlLT5yb290Tm9kZSgpOworICAgIGlmICghcm9v
dCB8fCAhcm9vdC0+aXNGcmFtZVNjcm9sbGluZ05vZGUoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaWYgKHZhbHVlKQorICAgICAgICBtX3VpU3RhdGUuYWRkTm9kZVdpdGhBY3RpdmVVc2VyU2Ny
b2xsKHJvb3QtPnNjcm9sbGluZ05vZGVJRCgpKTsKKyAgICBlbHNlCisgICAgICAgIG1fdWlTdGF0
ZS5yZW1vdmVOb2RlV2l0aEFjdGl2ZVVzZXJTY3JvbGwocm9vdC0+c2Nyb2xsaW5nTm9kZUlEKCkp
OworCisgICAgc2VuZFVJU3RhdGVDaGFuZ2VkSWZOZWNlc3NhcnkoKTsKK30KKwogYm9vbCBSZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzaG91bGRTbmFwRm9yTWFpbkZyYW1lU2Nyb2xs
aW5nKFNjcm9sbEV2ZW50QXhpcyBheGlzKSBjb25zdAogewogICAgIFNjcm9sbGluZ1RyZWVOb2Rl
KiByb290ID0gbV9zY3JvbGxpbmdUcmVlLT5yb290Tm9kZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE3NTk3NTM2ZTk3
YWE2OThiMTllOWI5ZWNhMmFmM2NlNGEwMjIzMWQuLjBkMTEyNjcxM2ZhNGE0NzMyNzkxMTJlZTlm
ZTk3NDE1MWYyYjQyNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNy0wNSAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1zY3JvbGwt
c25hcF0gVHJpZ2dlcmluZyBhIGxheW91dCBkdXJpbmcgc2Nyb2xsIGNhdXNlcyBqaXR0ZXJ5IHNj
cm9sbGluZyBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3Mzg4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjcxNTM2NzM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtc25hcC13aXRoLXJl
bGF5b3V0cy1ob3Jpem9udGFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L2lvcy9zY3JvbGwtc25hcC13aXRoLXJlbGF5b3V0cy12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtc25hcC13aXRoLXJlbGF5
b3V0cy12ZXJ0aWNhbC5odG1sOiBBZGRlZC4KKwogMjAyMS0wNy0wNSAgUGhpbGlwcGUgTm9ybWFu
ZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01lZGlhXSB0ZXN0LXdlYnZ0dC5t
M3U4IGlzIGludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lv
cy9zY3JvbGwtc25hcC13aXRoLXJlbGF5b3V0cy1ob3Jpem9udGFsLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtc25hcC13aXRoLXJlbGF5b3V0cy1o
b3Jpem9udGFsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzZmNzllM2ViZWNjMzRhMDE1NjI4
MGNlMTc0NzFlNTA0ZWE2YzdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLWhvcml6b250YWwtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorUEFTUyBob3Jpem9udGFsIGRyYWcgc25hcHBlZCB0byBu
ZXh0IHNuYXAgcG9pbnQKK1BBU1MgcmVsYXlvdXRzIHNob3VsZCBub3QgY2F1c2VkIHRoZSBzY3Jv
bGwgYXJlYSB0byBzbmFwIGJhY2sKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorOTgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLWhvcml6
b250YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjYwYjNmNGRhYzNlMTU5OTMzNDQ1MzM5Yjk0Yzc4YmZm
ZGE0NzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9z
L3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLWhvcml6b250YWwuaHRtbApAQCAtMCwwICsxLDc0
IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgQXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBBc3luY0Zy
YW1lU2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPHRpdGxlPkRyYWdnaW5nIGEgdmlldyBzaG91bGQgbm90IHNuYXAgYmFjayB3aGVuIHRoZSBz
Y3JvbGwgZXZlbnQgdHJpZ2dlcnMgYSByZWxheW91dDwvdGl0bGU+CisgICAgICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgICAgICBodG1sIHsKKyAgICAgICAgICAgICAgICBzY3Jv
bGwtc25hcC10eXBlOiBib3RoIG1hbmRhdG9yeQorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBodG1sLCBib2R5IHsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDAlOworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAuaG9yaXpvbnRhbC1kcmF3ZXIgeworICAgICAgICAgICAgICAg
IHdpZHRoOiA1MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgLmJsb2NrIHsKKyAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsK
KyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDIw
JTsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICNjb25zb2xlLCAjb3V0cHV0IHsKKyAgICAgICAgICAgICAgICBw
b3NpdGlvbjogZml4ZWQ7CisgICAgICAgICAgICAgICAgdG9wOiAwcHg7CisgICAgICAgICAgICAg
ICAgbGVmdDogMHB4OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBvbkxvYWQoKQorICAgICAgICB7CisgICAgICAg
ICAgICBsZXQgc2F3WmVybyA9IGZhbHNlOworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ3Njcm9sbCcsICgpID0+IHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnb3V0cHV0JykuaW5uZXJUZXh0ID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5z
Y3JvbGxMZWZ0OworICAgICAgICAgICAgICAgIHNhd1plcm8gfHw9IGRvY3VtZW50LnNjcm9sbGlu
Z0VsZW1lbnQuc2Nyb2xsTGVmdCA9PSAwOworICAgICAgICAgICAgfSkKKworICAgICAgICAgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlciA9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmlubmVyVGV4dCA9ICJBIHNjcm9sbCBk
cmFnIHNob3VsZCBub3Qgc25hcCB1bnRpbCB1c2VyIGludGVyYWN0aW9uIGlzIGZpbmlzaGVkLiI7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmRyYWdGcm9tUG9pbnRUb1BvaW50
KDE1MCwgMTUwLCA1MCwgMTUwLCAwLjEpOworICAgICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LndhaXRGb3JUYXJnZXRTY3JvbGxBbmltYXRpb25Ub1NldHRsZShkb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50KTsKKyAgICAgICAgICAgICAgICBleHBlY3RUcnVlKGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsTGVmdCA9PSB3aW5kb3cuaW5uZXJXaWR0aCwgImhvcml6b250YWwgZHJhZyBz
bmFwcGVkIHRvIG5leHQgc25hcCBwb2ludCIpOworICAgICAgICAgICAgICAgIGV4cGVjdFRydWUo
c2F3WmVybyA9PT0gZmFsc2UsICJyZWxheW91dHMgc2hvdWxkIG5vdCBjYXVzZWQgdGhlIHNjcm9s
bCBhcmVhIHRvIHNuYXAgYmFjayIpOworICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAg
ICAgICAgICAgIGNvbnNvbGUubG9nKGUpOworICAgICAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKTsi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWRyYXdlciI+CisgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJibG9jayIgc3R5bGU9ImJhY2tncm91bmQ6ICM4MDQ3NUUiPjwvZGl2PgorICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2siIHN0eWxlPSJiYWNrZ3JvdW5kOiAjQ0M1QTcxIj48
L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrIiBzdHlsZT0iYmFja2dyb3VuZDog
IzgwNDc1RSI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8cCBpZD0iY29uc29sZSI+
PC9wPgorICAgICAgICA8cCBpZD0ib3V0cHV0Ij48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdp
dGgtcmVsYXlvdXRzLXZlcnRpY2FsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL2lvcy9zY3JvbGwtc25hcC13aXRoLXJlbGF5b3V0cy12ZXJ0aWNhbC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNWE4YjUwMGM3NzkxNjliMTBkNGIxMWFhZjJjOWNjMjk0MjkxMTEwOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwt
c25hcC13aXRoLXJlbGF5b3V0cy12ZXJ0aWNhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBA
CitQQVNTIHZlcnRpY2FsIGRyYWcgc25hcHBlZCB0byBuZXh0IHNuYXAgcG9pbnQKK1BBU1MgcmVs
YXlvdXRzIHNob3VsZCBub3QgaGF2ZSBzbmFwcGVkIGJhY2sKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorMTY3OApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLXZlcnRpY2Fs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1y
ZWxheW91dHMtdmVydGljYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmNlNzM4NTRmM2EzZmU2OWFjZGZl
NjM5OWVmNTVjNjdiNDA5NTA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLXZlcnRpY2FsLmh0bWwKQEAg
LTAsMCArMSw3MSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIEFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRy
dWUgQXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDx0aXRsZT5EcmFnZ2luZyBhIHZpZXcgc2hvdWxkIG5vdCBzbmFwIGJhY2sg
d2hlbiB0aGUgc2Nyb2xsIGV2ZW50IHRyaWdnZXJzIGEgcmVsYXlvdXQ8L3RpdGxlPgorICAgICAg
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgICAgICAgaHRtbCB7CisgICAgICAgICAg
ICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogYm90aCBtYW5kYXRvcnkKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgaHRtbCwgYm9keSB7CisgICAgICAgICAgICAgICAgbWFyZ2luOiAwOworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLmhvcml6b250YWwtZHJhd2VyIHsKKyAgICAg
ICAgICAgICAgICB3aWR0aDogNTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC5ibG9jayB7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDAlOworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAg
IHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
I2NvbnNvbGUsICNvdXRwdXQgeworICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKKyAg
ICAgICAgICAgICAgICB0b3A6IDBweDsKKyAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7CisgICAg
ICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxldCBzYXdaZXJvID0g
ZmFsc2U7CisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkg
PT4geworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvdXRwdXQnKS5p
bm5lclRleHQgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAg
ICAgICAgICBzYXdaZXJvIHx8PSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9
PSAwOworICAgICAgICAgICAgfSkKKworICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRl
ciA9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29uc29sZScpLmlubmVyVGV4dCA9ICJBIHNjcm9sbCBkcmFnIHNob3VsZCBub3Qgc25hcCB1
bnRpbCB1c2VyIGludGVyYWN0aW9uIGlzIGZpbmlzaGVkLiI7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmRyYWdGcm9tUG9pbnRUb1BvaW50KDE1MCwgMTUwLCAxNTAsIDUwLCAw
LjEpOworICAgICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JUYXJnZXRTY3JvbGxB
bmltYXRpb25Ub1NldHRsZShkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50KTsKKyAgICAgICAgICAg
ICAgICBleHBlY3RUcnVlKGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID09IHdp
bmRvdy5pbm5lckhlaWdodCwgInZlcnRpY2FsIGRyYWcgc25hcHBlZCB0byBuZXh0IHNuYXAgcG9p
bnQiKTsKKyAgICAgICAgICAgICAgICBleHBlY3RUcnVlKHNhd1plcm8gPT09IGZhbHNlLCAicmVs
YXlvdXRzIHNob3VsZCBub3QgaGF2ZSBzbmFwcGVkIGJhY2siKTsKKyAgICAgICAgICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlKTsKKyAgICAgICAgICAgIH0g
ZmluYWxseSB7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9u
bG9hZD0ib25Mb2FkKCk7Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2siIHN0eWxlPSJiYWNr
Z3JvdW5kOiAjQ0M1QTcxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2siIHN0eWxl
PSJiYWNrZ3JvdW5kOiAjODA0NzVFIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2si
IHN0eWxlPSJiYWNrZ3JvdW5kOiAjQ0M1QTcxIj48L2Rpdj4KKyAgICAgICAgPHAgaWQ9ImNvbnNv
bGUiPjwvcD4KKyAgICAgICAgPHAgaWQ9Im91dHB1dCI+PC9wPgorICAgIDwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441563</attachid>
            <date>2021-10-18 00:08:24 -0700</date>
            <delta_ts>2021-10-19 06:46:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173887-20211018090822.patch</filename>
            <type>text/plain</type>
            <size>12878</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIwMWMwNDliM2IxODMwZTc4
YjUwNDg2MDNhYWUyZDE5MjY4MzJhMzMuLjc2YmYzYzQ1OTE4Nzc1ZDdhNGQ0NjliNTUwM2E0OWY0
OTVjNTFmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMTAtMDUgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3Mtc2Nyb2xsLXNu
YXBdIFRyaWdnZXJpbmcgYSBsYXlvdXQgZHVyaW5nIHNjcm9sbCBjYXVzZXMgaml0dGVyeSBzY3Jv
bGxpbmcgb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzM4ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY3MTUzNjczPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3Njcm9s
bGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMt
dmVydGljYWwuaHRtbAorCisgICAgICAgIEVuc3VyZSB0aGF0IHdoZW4gdGhlIHJvb3Qgbm9kZSBp
cyBzY3JvbGxpbmcsIGl0IGlzIGFkZGVkIHRvIHRoZSBsaXN0IG9mIG5vZGVzCisgICAgICAgIHdp
dGggYW4gYWN0aXZlIHVzZXIgc2Nyb2xsLiBUaGlzIHByZXZlbnRzIHRoZSB3ZWIgcHJvY2VzcyBm
cm9tIHJlc25hcHBpbmcgZHVyaW5nCisgICAgICAgIGxheW91dCB3aGVuIHRoZSB1c2VyIGlzIGFj
dGl2ZWx5IHNjcm9sbGluZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmll
d0lPUy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNjcm9sbFZpZXdXaWxsQmVnaW5EcmFnZ2lu
ZzpdKTogQ2FsbCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzZXRSb290Tm9kZUlz
SW5Vc2VyU2Nyb2xsCisgICAgICAgIHdoZW4gYSBzY2Ryb2xsIHN0YXJ0cyBhbmQgZW5kcy4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuaDogQWRkZWQgbWV0aG9kIGRlY2xhcmF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNl
dFJvb3ROb2RlSXNJblVzZXJTY3JvbGwpOiBBZGRlZCBzZXRSb290Tm9kZUlzSW5Vc2VyU2Nyb2xs
IG1ldGhvZC4KKwogMjAyMS0xMC0xNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViS2l0IE1hbmFnZWQgTm90aWZpY2F0aW9uczogU2tlbGV0b24gTm90aWZp
Y2F0aW9uUHJvdmlkZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
aW9zL1dLV2ViVmlld0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tX
ZWJWaWV3SU9TLm1tCmluZGV4IGY5MGFiYTlhZDk5ZGIzNTNiNDQyMzEwMTg2NmZhMWU1OGRkNTRi
OTkuLmQyOWM1ZmZiN2ViNzQ5Y2JmMmU3ZTY4OGMzMjQ5YTMyOTliYWNmN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCkBAIC0xNjMxLDYg
KzE2MzEsOCBAQCAtICh2b2lkKXNjcm9sbFZpZXdXaWxsQmVnaW5EcmFnZ2luZzooVUlTY3JvbGxW
aWV3ICopc2Nyb2xsVmlldwogICAgIENHRmxvYXQgc2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yID0g
KGNvb3JkaW5hdG9yICYmIGNvb3JkaW5hdG9yLT5zaG91bGRTZXRTY3JvbGxWaWV3RGVjZWxlcmF0
aW9uUmF0ZUZhc3QoKSkgPyBVSVNjcm9sbFZpZXdEZWNlbGVyYXRpb25SYXRlRmFzdCA6IFVJU2Ny
b2xsVmlld0RlY2VsZXJhdGlvblJhdGVOb3JtYWw7CiAgICAgc2Nyb2xsVmlldy5ob3Jpem9udGFs
U2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yID0gc2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yOwogICAg
IHNjcm9sbFZpZXcudmVydGljYWxTY3JvbGxEZWNlbGVyYXRpb25GYWN0b3IgPSBzY3JvbGxEZWNl
bGVyYXRpb25GYWN0b3I7CisKKyAgICBjb29yZGluYXRvci0+c2V0Um9vdE5vZGVJc0luVXNlclNj
cm9sbCh0cnVlKTsKICNlbmRpZgogfQogCkBAIC0xNjQxLDYgKzE2NDMsMTAgQEAgLSAodm9pZClf
ZGlkRmluaXNoU2Nyb2xsaW5nCiAKICAgICBbc2VsZiBfc2NoZWR1bGVWaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVdOwogICAgIFtfY29udGVudFZpZXcgZGlkRmluaXNoU2Nyb2xsaW5nXTsKKworI2lm
IEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCisgICAgX3BhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJveHkoKS0+c2V0Um9vdE5vZGVJc0luVXNlclNjcm9sbChmYWxzZSk7CisjZW5kaWYKIH0KIAog
LSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxW
aWV3IHdpdGhWZWxvY2l0eTooQ0dQb2ludCl2ZWxvY2l0eSB0YXJnZXRDb250ZW50T2Zmc2V0Oihp
bm91dCBDR1BvaW50ICopdGFyZ2V0Q29udGVudE9mZnNldApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvclByb3h5LmgKaW5kZXggMzVhYTMyNDUzM2ViNmI0YjViNDRiMzRj
ZjliYmI5ODI5NTgwODRlMi4uMTJiNTBkMGUwMDBiMzA4ZThkNzNiZDMwNzczZDA1NTM2NDA3YTRh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oCkBA
IC05OSw2ICs5OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0FjdGl2ZVNuYXBQb2ludCgpIGNv
bnN0OwogICAgIENHUG9pbnQgbmVhcmVzdEFjdGl2ZUNvbnRlbnRJbnNldEFkanVzdGVkU25hcE9m
ZnNldChDR0Zsb2F0IHRvcEluc2V0LCBjb25zdCBDR1BvaW50JikgY29uc3Q7CiAgICAgYm9vbCBz
aG91bGRTZXRTY3JvbGxWaWV3RGVjZWxlcmF0aW9uUmF0ZUZhc3QoKSBjb25zdDsKKyAgICB2b2lk
IHNldFJvb3ROb2RlSXNJblVzZXJTY3JvbGwoYm9vbCk7CiAjZW5kaWYKIAogICAgIFN0cmluZyBz
Y3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJv
eHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KaW5kZXggZTU2ZjhmMmFmYjkzNTY5
NGM4MWVhMTBmM2FiM2NlYzU3ZjkwZGM0Ni4uYzIwNzg0ZWMzMGEyOTA5NDNhMmY1YjVhZDFjNDcz
ZjY2MzFiYTA2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3JQcm94eUlPUy5tbQpAQCAtMjE4LDYgKzIxOCwyMCBAQCBib29sIFJlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNob3VsZFNldFNjcm9sbFZpZXdEZWNlbGVyYXRpb25S
YXRlRmFzdCgpCiAgICAgcmV0dXJuIHNob3VsZFNuYXBGb3JNYWluRnJhbWVTY3JvbGxpbmcoU2Ny
b2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsKSB8fCBzaG91bGRTbmFwRm9yTWFpbkZyYW1lU2Nyb2xs
aW5nKFNjcm9sbEV2ZW50QXhpczo6VmVydGljYWwpOwogfQogCit2b2lkIFJlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHk6OnNldFJvb3ROb2RlSXNJblVzZXJTY3JvbGwoYm9vbCB2YWx1ZSkK
K3sKKyAgICBTY3JvbGxpbmdUcmVlTm9kZSogcm9vdCA9IG1fc2Nyb2xsaW5nVHJlZS0+cm9vdE5v
ZGUoKTsKKyAgICBpZiAoIXJvb3QgfHwgIXJvb3QtPmlzRnJhbWVTY3JvbGxpbmdOb2RlKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICh2YWx1ZSkKKyAgICAgICAgbV91aVN0YXRlLmFkZE5v
ZGVXaXRoQWN0aXZlVXNlclNjcm9sbChyb290LT5zY3JvbGxpbmdOb2RlSUQoKSk7CisgICAgZWxz
ZQorICAgICAgICBtX3VpU3RhdGUucmVtb3ZlTm9kZVdpdGhBY3RpdmVVc2VyU2Nyb2xsKHJvb3Qt
PnNjcm9sbGluZ05vZGVJRCgpKTsKKworICAgIHNlbmRVSVN0YXRlQ2hhbmdlZElmTmVjZXNzYXJ5
KCk7Cit9CisKIGJvb2wgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6c2hvdWxkU25h
cEZvck1haW5GcmFtZVNjcm9sbGluZyhTY3JvbGxFdmVudEF4aXMgYXhpcykgY29uc3QKIHsKICAg
ICBTY3JvbGxpbmdUcmVlTm9kZSogcm9vdCA9IG1fc2Nyb2xsaW5nVHJlZS0+cm9vdE5vZGUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZTE5MDRiYTQwNzQyYzUzN2JjZTJmNzZjYThlNTM1NDY1NjIxZDNiLi5hYjMzZGJk
MTE0ZGFkYjJkZWE0MjNiMjc2NzE2NmI5ZDI1YzAyMWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjEtMTAtMDUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtjc3Mtc2Nyb2xsLXNuYXBdIFRyaWdnZXJpbmcgYSBsYXlvdXQgZHVyaW5nIHNjcm9s
bCBjYXVzZXMgaml0dGVyeSBzY3JvbGxpbmcgb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM4ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzY3MTUzNjczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLWhvcml6
b250YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9pb3Mv
c2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtdmVydGlj
YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9pb3Mvc2Ny
b2xsLXNuYXAtd2l0aC1yZWxheW91dHMtdmVydGljYWwuaHRtbDogQWRkZWQuCisKIDIwMjEtMTAt
MTUgIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZl
cnQgcjI4NDIzMCwgbXkgbGFzdCBmaXhlcyB0byB0aGUgd2F0Y2ggYnVpbGQgbWFrZSBpdCBicmVh
ayB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9s
bC1zbmFwLXdpdGgtcmVsYXlvdXRzLWhvcml6b250YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLWhvcml6b250
YWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzNmY3OWUzZWJlY2MzNGEwMTU2MjgwY2UxNzQ3
MWU1MDRlYTZjN2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2IEBACitQQVNTIGhvcml6b250YWwgZHJhZyBzbmFwcGVkIHRvIG5leHQgc25h
cCBwb2ludAorUEFTUyByZWxheW91dHMgc2hvdWxkIG5vdCBjYXVzZWQgdGhlIHNjcm9sbCBhcmVh
IHRvIHNuYXAgYmFjaworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCis5ODAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9z
Y3JvbGwtc25hcC13aXRoLXJlbGF5b3V0cy1ob3Jpem9udGFsLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA2NjBiM2Y0ZGFjM2UxNTk5MzM0NDUzMzliOTRjNzhiZmZkYTQ3MTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xs
LXNuYXAtd2l0aC1yZWxheW91dHMtaG9yaXpvbnRhbC5odG1sCkBAIC0wLDAgKzEsNzQgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIEFzeW5jRnJhbWVTY3Jv
bGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0
bGU+RHJhZ2dpbmcgYSB2aWV3IHNob3VsZCBub3Qgc25hcCBiYWNrIHdoZW4gdGhlIHNjcm9sbCBl
dmVudCB0cmlnZ2VycyBhIHJlbGF5b3V0PC90aXRsZT4KKyAgICAgICAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KKyAgICAgICAgICAgIGh0bWwgeworICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFw
LXR5cGU6IGJvdGggbWFuZGF0b3J5CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGh0bWws
IGJvZHkgeworICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgICAgICAgICBoZWln
aHQ6IDEwMCU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIC5ob3Jpem9udGFsLWRyYXdlciB7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDUwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAuYmxvY2sgeworICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgICAgICAgICB3aWR0aDogMjAlOworICAg
ICAgICAgICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgI2NvbnNvbGUsICNvdXRwdXQgeworICAgICAgICAgICAgICAgIHBvc2l0aW9u
OiBmaXhlZDsKKyAgICAgICAgICAgICAgICB0b3A6IDBweDsKKyAgICAgICAgICAgICAgICBsZWZ0
OiAwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxl
dCBzYXdaZXJvID0gZmFsc2U7CisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
c2Nyb2xsJywgKCkgPT4geworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdvdXRwdXQnKS5pbm5lclRleHQgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbExl
ZnQ7CisgICAgICAgICAgICAgICAgc2F3WmVybyB8fD0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVu
dC5zY3JvbGxMZWZ0ID09IDA7CisgICAgICAgICAgICB9KQorCisgICAgICAgICAgICBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyID09IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykuaW5uZXJUZXh0ID0gIkEgc2Nyb2xsIGRyYWcgc2hv
dWxkIG5vdCBzbmFwIHVudGlsIHVzZXIgaW50ZXJhY3Rpb24gaXMgZmluaXNoZWQuIjsKKyAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuZHJhZ0Zyb21Qb2ludFRvUG9pbnQoMTUwLCAx
NTAsIDUwLCAxNTAsIDAuMSk7CisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZv
clRhcmdldFNjcm9sbEFuaW1hdGlvblRvU2V0dGxlKGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQp
OworICAgICAgICAgICAgICAgIGV4cGVjdFRydWUoZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5z
Y3JvbGxMZWZ0ID09IHdpbmRvdy5pbm5lcldpZHRoLCAiaG9yaXpvbnRhbCBkcmFnIHNuYXBwZWQg
dG8gbmV4dCBzbmFwIHBvaW50Iik7CisgICAgICAgICAgICAgICAgZXhwZWN0VHJ1ZShzYXdaZXJv
ID09PSBmYWxzZSwgInJlbGF5b3V0cyBzaG91bGQgbm90IGNhdXNlZCB0aGUgc2Nyb2xsIGFyZWEg
dG8gc25hcCBiYWNrIik7CisgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAg
ICAgY29uc29sZS5sb2coZSk7CisgICAgICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIDwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpOyI+CisgICAg
ICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtZHJhd2VyIj4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImJsb2NrIiBzdHlsZT0iYmFja2dyb3VuZDogIzgwNDc1RSI+PC9kaXY+CisgICAgICAgICAg
ICA8ZGl2IGNsYXNzPSJibG9jayIgc3R5bGU9ImJhY2tncm91bmQ6ICNDQzVBNzEiPjwvZGl2Pgor
ICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2siIHN0eWxlPSJiYWNrZ3JvdW5kOiAjODA0NzVF
Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxwIGlkPSJjb25zb2xlIj48L3A+Cisg
ICAgICAgIDxwIGlkPSJvdXRwdXQiPjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxh
eW91dHMtdmVydGljYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
aW9zL3Njcm9sbC1zbmFwLXdpdGgtcmVsYXlvdXRzLXZlcnRpY2FsLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41YThiNTAwYzc3OTE2OWIxMGQ0YjExYWFmMmM5Y2MyOTQyOTExMTA4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1zbmFwLXdp
dGgtcmVsYXlvdXRzLXZlcnRpY2FsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1BBU1Mg
dmVydGljYWwgZHJhZyBzbmFwcGVkIHRvIG5leHQgc25hcCBwb2ludAorUEFTUyByZWxheW91dHMg
c2hvdWxkIG5vdCBoYXZlIHNuYXBwZWQgYmFjaworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisxNjc4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtdmVydGljYWwuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtc25hcC13aXRoLXJlbGF5b3V0
cy12ZXJ0aWNhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViY2U3Mzg1NGYzYTNmZTY5YWNkZmU2Mzk5ZWY1
NWM2N2I0MDk1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9pb3Mvc2Nyb2xsLXNuYXAtd2l0aC1yZWxheW91dHMtdmVydGljYWwuaHRtbApAQCAtMCwwICsx
LDcxIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4
aWJsZVZpZXdwb3J0PXRydWUgQXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBBc3lu
Y0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHRpdGxlPkRyYWdnaW5nIGEgdmlldyBzaG91bGQgbm90IHNuYXAgYmFjayB3aGVuIHRo
ZSBzY3JvbGwgZXZlbnQgdHJpZ2dlcnMgYSByZWxheW91dDwvdGl0bGU+CisgICAgICAgIDxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgICAgICBodG1sIHsKKyAgICAgICAgICAgICAgICBz
Y3JvbGwtc25hcC10eXBlOiBib3RoIG1hbmRhdG9yeQorICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBodG1sLCBib2R5IHsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxMDAlOworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAuaG9yaXpvbnRhbC1kcmF3ZXIgeworICAgICAgICAgICAg
ICAgIHdpZHRoOiA1MDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgLmJsb2NrIHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MCU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAgc2Nyb2xs
LXNuYXAtYWxpZ246IHN0YXJ0OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjY29uc29s
ZSwgI291dHB1dCB7CisgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOworICAgICAgICAg
ICAgICAgIHRvcDogMHB4OworICAgICAgICAgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gb25Mb2FkKCkKKyAgICAgICAgeworICAgICAgICAgICAgbGV0IHNhd1plcm8gPSBmYWxzZTsK
KyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dCcpLmlubmVyVGV4
dCA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICAgICAgICAg
IHNhd1plcm8gfHw9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID09IDA7Cisg
ICAgICAgICAgICB9KQorCisgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyID09IHVu
ZGVmaW5lZCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25z
b2xlJykuaW5uZXJUZXh0ID0gIkEgc2Nyb2xsIGRyYWcgc2hvdWxkIG5vdCBzbmFwIHVudGlsIHVz
ZXIgaW50ZXJhY3Rpb24gaXMgZmluaXNoZWQuIjsKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIuZHJhZ0Zyb21Qb2ludFRvUG9pbnQoMTUwLCAxNTAsIDE1MCwgNTAsIDAuMSk7Cisg
ICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvclRhcmdldFNjcm9sbEFuaW1hdGlv
blRvU2V0dGxlKGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQpOworICAgICAgICAgICAgICAgIGV4
cGVjdFRydWUoZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPT0gd2luZG93Lmlu
bmVySGVpZ2h0LCAidmVydGljYWwgZHJhZyBzbmFwcGVkIHRvIG5leHQgc25hcCBwb2ludCIpOwor
ICAgICAgICAgICAgICAgIGV4cGVjdFRydWUoc2F3WmVybyA9PT0gZmFsc2UsICJyZWxheW91dHMg
c2hvdWxkIG5vdCBoYXZlIHNuYXBwZWQgYmFjayIpOworICAgICAgICAgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpOworICAgICAgICAgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJv
bkxvYWQoKTsiPgorICAgICAgICA8ZGl2IGNsYXNzPSJibG9jayIgc3R5bGU9ImJhY2tncm91bmQ6
ICNDQzVBNzEiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJibG9jayIgc3R5bGU9ImJhY2tn
cm91bmQ6ICM4MDQ3NUUiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJibG9jayIgc3R5bGU9
ImJhY2tncm91bmQ6ICNDQzVBNzEiPjwvZGl2PgorICAgICAgICA8cCBpZD0iY29uc29sZSI+PC9w
PgorICAgICAgICA8cCBpZD0ib3V0cHV0Ij48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>