<?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>231140</bug_id>
          
          <creation_ts>2021-10-03 11:41:36 -0700</creation_ts>
          <short_desc>Use ScrollClamping in more places in scrolling code</short_desc>
          <delta_ts>2021-10-04 16:39:46 -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>Scrolling</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1799875</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-03 11:41:36 -0700</bug_when>
    <thetext>Use ScrollClamping in more places in scrolling code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799876</commentid>
    <comment_count>1</comment_count>
      <attachid>440010</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-03 11:43:10 -0700</bug_when>
    <thetext>Created attachment 440010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800120</commentid>
    <comment_count>2</comment_count>
      <attachid>440010</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-04 10:42:55 -0700</bug_when>
    <thetext>Comment on attachment 440010
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=440010&amp;action=review

&gt; Source/WebCore/platform/ScrollableArea.h:400
&gt; -    unsigned m_constrainsScrollingToContentEdge : 1;
&gt; +    unsigned m_scrollClamping : 1; // ScrollClamping
&gt;  
&gt;      unsigned m_inLiveResize : 1;

These should be regular typed fields instead of bitfields. We don&apos;t have enough ScrollAreas for its size to matter.

They should then be initialized here instead of constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800290</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-04 16:38:36 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/283524/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800294</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-04 16:39:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/83861580&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440010</attachid>
            <date>2021-10-03 11:43:10 -0700</date>
            <delta_ts>2021-10-04 10:42:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231140-20211003114309.patch</filename>
            <type>text/plain</type>
            <size>20004</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDY1NGY4NmI0MDVkZjJj
MTgxYTRjMzI4YzljODA2YWY1NmZiMDQwNC4uMmQyNGRkODM2MzEzMDVkYjI1NWIwNmVmNzg1YTJl
YjVlYTFlMzZmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTEwLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBTY3JvbGxD
bGFtcGluZyBpbiBtb3JlIHBsYWNlcyBpbiBzY3JvbGxpbmcgY29kZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTQwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sZCB0b2dldGhlciB0d28gZnVuY3Rp
b25zIGluIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyQ2xpZW50IHdpdGggYSBTY3JvbGxDbGFt
cGluZyBhcmd1bWVudC4KKyAgICAgICAgQWxzbyB1c2UgU2Nyb2xsQ2xhbXBpbmcgdG8gcmVwbGFj
ZSBib29sIGNvbnN0cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKCkgb24gU2Nyb2xsYWJsZUFy
ZWEuCisKKyAgICAgICAgSXQncyBzbGlnaHRseSBhbm5veWluZyB0aGF0IFNjcm9sbENsYW1waW5n
IGlzIGEgU2Nyb2xsYWJsZUFyZWEgc3RhdGUsIGJ1dCBSZW5kZXJNYXJxdWVlIGhhcworICAgICAg
ICBubyBjbGFtcGluZyBieSBkZWZhdWx0LgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yOjpyZWNvbmNpbGVTY3JvbGxpbmdTdGF0ZSk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaDoK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVNYWM6OmltbWVkaWF0ZVNjcm9sbEJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmltbWVkaWF0ZVNjcm9sbEJ5V2l0
aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjph
ZGp1c3RTY3JvbGxQb3NpdGlvblRvQm91bmRzSWZOZWNlc3NhcnkpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3I6OmFkanVzdFNjcm9sbFBvc2l0aW9uSWZOZWNlc3NhcnkgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9sbEJ5KToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjppbW1lZGlhdGVTY3JvbGxCeVdpdGhv
dXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6YWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5n
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxPZmZzZXQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGFibGVBcmVhOjpTY3JvbGxhYmxlQXJlYSk6CisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzY3Jv
bGxDbGFtcGluZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2V0
U2Nyb2xsQ2xhbXBpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNvbnN0
cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzZXRDb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OnNj
cm9sbEFuaW1hdGlvbkRpZFVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdFZmZl
Y3RzQ29udHJvbGxlcjo6c2Nyb2xsVG9PZmZzZXRGb3JBbmltYXRpb24pOiBEZWxldGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmFwcGx5U2Nyb2xsRGVsdGFXaXRoU3Ry
ZXRjaGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6
dXBkYXRlUnViYmVyQmFuZEFuaW1hdGluZ1N0YXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJxdWVlOjpSZW5kZXJN
YXJxdWVlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbHM6OnNldFNjcm9sbFZpZXdQb3NpdGlvbik6CisKIDIwMjEtMTAtMDMgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTo6
TGVuZ3RoIGluY29ycmVjdGx5IHVzZXMgbWVtY3B5KCkgZm9yIGNvcHkgY29uc3RydWN0b3JzL29w
ZXJhdG9yIGFuZCBJUEMgZW5jb2RpbmcvZGVjb2RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5k
ZXggZmFlYWMyMzRhZWIyOGE2ZTZiZWNiZTQzODFmZDIyYWY0MGViNWViNC4uY2RkZjM0YmI2YzA5
MGU0MDdhZmMyNzNiZTM0NmVhYzlmNDlmOTYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAg
LTQxMSw5ICs0MTEsOSBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlY29uY2ls
ZVNjcm9sbGluZ1N0YXRlKEZyYW1lVmlldyYgZnJhbWVWaWV3LCBjbwogICAgICAgICB9CiAgICAg
KTsKIAotICAgIGZyYW1lVmlldy5zZXRDb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZShm
YWxzZSk7CisgICAgZnJhbWVWaWV3LnNldFNjcm9sbENsYW1waW5nKFNjcm9sbENsYW1waW5nOjpV
bmNsYW1wZWQpOwogICAgIGZyYW1lVmlldy5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQocm91
bmRlZEludFBvaW50KHNjcm9sbFBvc2l0aW9uKSk7Ci0gICAgZnJhbWVWaWV3LnNldENvbnN0cmFp
bnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKHRydWUpOworICAgIGZyYW1lVmlldy5zZXRTY3JvbGxD
bGFtcGluZyhTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CiAKICAgICBmcmFtZVZpZXcuc2V0Q3Vy
cmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3JvbGxUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLmgKaW5kZXggZjkyZDA4NTM3NTMxOTg5MTU5Y2Jm
OGE4YjUxOWE3OThmYmI0MGU3Yi4uYThiNzM5NWQ3NTJiMWYxMDJjY2YzODM3OGNlZjFlZjk4YTk0
NmEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5o
CkBAIC04NSw4ICs4NSw3IEBAIHByaXZhdGU6CiAgICAgU2Nyb2xsQmVoYXZpb3JTdGF0dXMgc2Ny
b2xsQmVoYXZpb3JTdGF0dXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Njcm9sbEJlaGF2aW9y
U3RhdHVzOyB9CiAKICAgICBib29sIHNob3VsZFJ1YmJlckJhbmRPblNpZGUoQm94U2lkZSkgY29u
c3QgZmluYWw7Ci0gICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxCeShjb25zdCBGbG9hdFNpemUmKSBm
aW5hbDsKLSAgICB2b2lkIGltbWVkaWF0ZVNjcm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3Ry
YWludHMoY29uc3QgRmxvYXRTaXplJikgZmluYWw7CisgICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxC
eShjb25zdCBGbG9hdFNpemUmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFt
cGVkKSBmaW5hbDsKICAgICB2b2lkIGRpZFN0b3BSdWJiZXJiYW5kU25hcEFuaW1hdGlvbigpIGZp
bmFsOwogICAgIHZvaWQgcnViYmVyQmFuZGluZ1N0YXRlQ2hhbmdlZChib29sKSBmaW5hbDsKICAg
ICB2b2lkIGFkanVzdFNjcm9sbFBvc2l0aW9uVG9Cb3VuZHNJZk5lY2Vzc2FyeSgpIGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQppbmRleCA4
ZDU1NGQyN2QwMjcwNjJmMjgyMjIyMDk4ZjI2Nzg3YzM0NjFiNTUxLi4wODhkMzgwNTI4OGJhODg3
YWYyNmYzNzdlMjczOWM0MTY4YjA5NjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQpAQCAtMzIwLDE0ICszMjAsOSBAQCBib29sIFNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OnNob3VsZFJ1YmJlckJhbmRPblNpZGUoQm94
U2lkZSBzaWRlKQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlRGVsZWdhdGVNYWM6OmltbWVkaWF0ZVNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYg
ZGVsdGEpCit2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmltbWVk
aWF0ZVNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIFNjcm9sbENsYW1waW5nIGNsYW1w
aW5nKQogewotICAgIHNjcm9sbGluZ05vZGUoKS5zY3JvbGxCeShkZWx0YSk7Ci19Ci0KLXZvaWQg
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6aW1tZWRpYXRlU2Nyb2xsQnlX
aXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFNpemUmIG9mZnNldCkKLXsK
LSAgICBzY3JvbGxpbmdOb2RlKCkuc2Nyb2xsQnkob2Zmc2V0LCBTY3JvbGxDbGFtcGluZzo6VW5j
bGFtcGVkKTsKKyAgICBzY3JvbGxpbmdOb2RlKCkuc2Nyb2xsQnkoZGVsdGEsIGNsYW1waW5nKTsK
IH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpkaWRTdG9w
UnViYmVyYmFuZFNuYXBBbmltYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuY3BwCmluZGV4IDcyZTE4MmNjYmFjYjc2ODIxMDRmOGVkMzJlNjU4YTA1Njg2NjE4
MWIuLjJmMTkxODFjMTQxMWVkNjcwNDZkODAzODM0NjAyYjk1ODlhNmFhMTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTMxNywzOSArMzE3LDM1IEBA
IGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmlzUGlubmVkT25TaWRlKEJveFNpZGUgc2lkZSkgY29uc3QK
IAogdm9pZCBTY3JvbGxBbmltYXRvcjo6YWRqdXN0U2Nyb2xsUG9zaXRpb25Ub0JvdW5kc0lmTmVj
ZXNzYXJ5KCkKIHsKLSAgICBib29sIGN1cnJlbnRseUNvbnN0cmFpbnNUb0NvbnRlbnRFZGdlID0g
bV9zY3JvbGxhYmxlQXJlYS5jb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZSgpOwotICAg
IG1fc2Nyb2xsYWJsZUFyZWEuc2V0Q29uc3RyYWluc1Njcm9sbGluZ1RvQ29udGVudEVkZ2UodHJ1
ZSk7CisgICAgYXV0byBwcmV2aW91c0NsYW1waW5nID0gbV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxD
bGFtcGluZygpOworICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2V0U2Nyb2xsQ2xhbXBpbmcoU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQpOwogCiAgICAgYXV0byBjdXJyZW50U2Nyb2xsUG9zaXRpb24gPSBt
X3Njcm9sbGFibGVBcmVhLnNjcm9sbFBvc2l0aW9uKCk7CiAgICAgYXV0byBjb25zdHJhaW5lZFBv
c2l0aW9uID0gbV9zY3JvbGxhYmxlQXJlYS5jb25zdHJhaW5TY3JvbGxQb3NpdGlvbihjdXJyZW50
U2Nyb2xsUG9zaXRpb24pOwogICAgIGltbWVkaWF0ZVNjcm9sbEJ5KGNvbnN0cmFpbmVkUG9zaXRp
b24gLSBjdXJyZW50U2Nyb2xsUG9zaXRpb24pOwogCi0gICAgbV9zY3JvbGxhYmxlQXJlYS5zZXRD
b25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZShjdXJyZW50bHlDb25zdHJhaW5zVG9Db250
ZW50RWRnZSk7CisgICAgbV9zY3JvbGxhYmxlQXJlYS5zZXRTY3JvbGxDbGFtcGluZyhwcmV2aW91
c0NsYW1waW5nKTsKIH0KIAogRmxvYXRQb2ludCBTY3JvbGxBbmltYXRvcjo6YWRqdXN0U2Nyb2xs
UG9zaXRpb25JZk5lY2Vzc2FyeShjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbikgY29uc3QKIHsK
LSAgICBpZiAoIW1fc2Nyb2xsYWJsZUFyZWEuY29uc3RyYWluc1Njcm9sbGluZ1RvQ29udGVudEVk
Z2UoKSkKKyAgICBpZiAobV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxDbGFtcGluZygpID09IFNjcm9s
bENsYW1waW5nOjpVbmNsYW1wZWQpCiAgICAgICAgIHJldHVybiBwb3NpdGlvbjsKIAogICAgIHJl
dHVybiBtX3Njcm9sbGFibGVBcmVhLmNvbnN0cmFpblNjcm9sbFBvc2l0aW9uKFNjcm9sbFBvc2l0
aW9uKHBvc2l0aW9uKSk7CiB9CiAKLXZvaWQgU2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9s
bEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRTaXplJiBkZWx0YSkK
K3ZvaWQgU2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYg
ZGVsdGEsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogewotICAgIG1fc2Nyb2xsYWJsZUFyZWEu
c2V0Q29uc3RyYWluc1Njcm9sbGluZ1RvQ29udGVudEVkZ2UoZmFsc2UpOwotICAgIGltbWVkaWF0
ZVNjcm9sbEJ5KGRlbHRhKTsKLSAgICBtX3Njcm9sbGFibGVBcmVhLnNldENvbnN0cmFpbnNTY3Jv
bGxpbmdUb0NvbnRlbnRFZGdlKHRydWUpOwotfQorICAgIGF1dG8gcHJldmlvdXNDbGFtcGluZyA9
IG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsQ2xhbXBpbmcoKTsKKyAgICBtX3Njcm9sbGFibGVBcmVh
LnNldFNjcm9sbENsYW1waW5nKGNsYW1waW5nKTsKIAotdm9pZCBTY3JvbGxBbmltYXRvcjo6aW1t
ZWRpYXRlU2Nyb2xsQnkoY29uc3QgRmxvYXRTaXplJiBkZWx0YSkKLXsKLSAgICBGbG9hdFBvaW50
IGN1cnJlbnRQb3NpdGlvbiA9IHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpOwotICAgIEZsb2F0UG9p
bnQgbmV3UG9zaXRpb24gPSBhZGp1c3RTY3JvbGxQb3NpdGlvbklmTmVjZXNzYXJ5KGN1cnJlbnRQ
b3NpdGlvbiArIGRlbHRhKTsKLSAgICBpZiAobmV3UG9zaXRpb24gPT0gY3VycmVudFBvc2l0aW9u
KQotICAgICAgICByZXR1cm47CisgICAgYXV0byBjdXJyZW50UG9zaXRpb24gPSB0aGlzLT5jdXJy
ZW50UG9zaXRpb24oKTsKKyAgICBhdXRvIG5ld1Bvc2l0aW9uID0gYWRqdXN0U2Nyb2xsUG9zaXRp
b25JZk5lY2Vzc2FyeShjdXJyZW50UG9zaXRpb24gKyBkZWx0YSk7CisgICAgaWYgKG5ld1Bvc2l0
aW9uICE9IGN1cnJlbnRQb3NpdGlvbikKKyAgICAgICAgc2V0Q3VycmVudFBvc2l0aW9uKG5ld1Bv
c2l0aW9uLCBOb3RpZnlTY3JvbGxhYmxlQXJlYTo6WWVzKTsKIAotICAgIHNldEN1cnJlbnRQb3Np
dGlvbihuZXdQb3NpdGlvbiwgTm90aWZ5U2Nyb2xsYWJsZUFyZWE6Olllcyk7CisgICAgbV9zY3Jv
bGxhYmxlQXJlYS5zZXRTY3JvbGxDbGFtcGluZyhwcmV2aW91c0NsYW1waW5nKTsKIH0KIAogU2Ny
b2xsRXh0ZW50cyBTY3JvbGxBbmltYXRvcjo6c2Nyb2xsRXh0ZW50cygpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCBlNmFhZDE1YTQ5ZDI0MjlmMDk5
ZGJlYzI0NWQ4ZWRmNWZmZGZkY2ZjLi5lNWJkZDhiZWI0YWEwM2UxZTI5OTc2NTQ0NzRiNzNkY2Vl
ZDcyMzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTE0
Nyw4ICsxNDcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0U2Nyb2xsQmVoYXZpb3JTdGF0dXMo
U2Nyb2xsQmVoYXZpb3JTdGF0dXMpIGZpbmFsOwogICAgIFNjcm9sbEJlaGF2aW9yU3RhdHVzIHNj
cm9sbEJlaGF2aW9yU3RhdHVzKCkgY29uc3QgZmluYWw7CiAKLSAgICB2b2lkIGltbWVkaWF0ZVNj
cm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRTaXplJikgZmlu
YWw7Ci0gICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxCeShjb25zdCBGbG9hdFNpemUmKSBmaW5hbDsK
KyAgICB2b2lkIGltbWVkaWF0ZVNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYsIFNjcm9sbENsYW1w
aW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIGZpbmFsOwogICAgIHZvaWQgYWRqdXN0U2Ny
b2xsUG9zaXRpb25Ub0JvdW5kc0lmTmVjZXNzYXJ5KCkgZmluYWw7CiAKICNpZiBIQVZFKFJVQkJF
Ul9CQU5ESU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCA0ODNj
MTFlYjQ4OTQ4MGIwNmVjM2FiYTMxZGU0MmY3NGE1MGViNTA3Li4zZDU0MWE3YTRkNWNhMmU5Yzg3
NzE3ODNkNmY5YjQzYzc5NjgxYmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcApAQCAtNDEyLDEyICs0MTIsMTIgQEAgU2Nyb2xsUG9zaXRpb24gU2Nyb2xsVmlldzo6bWF4
aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbWF4aW11bVBvc2l0aW9uOwog
fQogCi1TY3JvbGxQb3NpdGlvbiBTY3JvbGxWaWV3OjphZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhp
blJhbmdlKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBzY3JvbGxQb2ludCkgY29uc3QKK1Njcm9sbFBv
c2l0aW9uIFNjcm9sbFZpZXc6OmFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2UoY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uKSBjb25zdAogewotICAgIGlmICghY29uc3Ry
YWluc1Njcm9sbGluZ1RvQ29udGVudEVkZ2UoKSB8fCBtX2FsbG93c1VuY2xhbXBlZFNjcm9sbFBv
c2l0aW9uKQotICAgICAgICByZXR1cm4gc2Nyb2xsUG9pbnQ7CisgICAgaWYgKHNjcm9sbENsYW1w
aW5nKCkgPT0gU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBlZCB8fCBtX2FsbG93c1VuY2xhbXBlZFNj
cm9sbFBvc2l0aW9uKQorICAgICAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb247CiAKLSAgICByZXR1
cm4gc2Nyb2xsUG9pbnQuY29uc3RyYWluZWRCZXR3ZWVuKG1pbmltdW1TY3JvbGxQb3NpdGlvbigp
LCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uLmNv
bnN0cmFpbmVkQmV0d2VlbihtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSwgbWF4aW11bVNjcm9sbFBv
c2l0aW9uKCkpOwogfQogCiBTY3JvbGxQb3NpdGlvbiBTY3JvbGxWaWV3Ojpkb2N1bWVudFNjcm9s
bFBvc2l0aW9uUmVsYXRpdmVUb1ZpZXdPcmlnaW4oKSBjb25zdApAQCAtNDM0LDEwICs0MzQsMTAg
QEAgU2Nyb2xsUG9zaXRpb24gU2Nyb2xsVmlldzo6ZG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlbGF0
aXZlVG9TY3JvbGxhYmxlQXJlYU9yaWdpbigKIAogdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxP
ZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQpCiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFN
KFNjcm9sbGluZywgc3RyZWFtIDw8ICJcblNjcm9sbFZpZXc6OnNldFNjcm9sbE9mZnNldCAiIDw8
IG9mZnNldCA8PCAiIGNvbnN0cmFpbnMgIiA8PCBjb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50
RWRnZSgpKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlxuU2Ny
b2xsVmlldzo6c2V0U2Nyb2xsT2Zmc2V0ICIgPDwgb2Zmc2V0IDw8ICIgY2xhbXBpbmcgIiA8PCBz
Y3JvbGxDbGFtcGluZygpKTsKIAotICAgIEludFBvaW50IGNvbnN0cmFpbmVkT2Zmc2V0ID0gb2Zm
c2V0OwotICAgIGlmIChjb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZSgpKQorICAgIGF1
dG8gY29uc3RyYWluZWRPZmZzZXQgPSBvZmZzZXQ7CisgICAgaWYgKHNjcm9sbENsYW1waW5nKCkg
PT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpCiAgICAgICAgIGNvbnN0cmFpbmVkT2Zmc2V0ID0g
Y29uc3RyYWluZWRPZmZzZXQuY29uc3RyYWluZWRCZXR3ZWVuKG1pbmltdW1TY3JvbGxPZmZzZXQo
KSwgbWF4aW11bVNjcm9sbE9mZnNldCgpKTsKIAogICAgIHNjcm9sbFRvKHNjcm9sbFBvc2l0aW9u
RnJvbU9mZnNldChjb25zdHJhaW5lZE9mZnNldCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDZkMDNmZWJkMTQ1NDY5ZmUwZjIzNTQyZGJjNTFjNDA0
M2Q0MzU1YzkuLjZkODNmYmU1NDA5OTk3NjIzNmIyOTg0OTZkYjRjOTVkYzhjZTY4MjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTU4LDcgKzU4LDcg
QEAgc3RydWN0IFNhbWVTaXplQXNTY3JvbGxhYmxlQXJlYSB7CiBDT01QSUxFX0FTU0VSVChzaXpl
b2YoU2Nyb2xsYWJsZUFyZWEpID09IHNpemVvZihTYW1lU2l6ZUFzU2Nyb2xsYWJsZUFyZWEpLCBT
Y3JvbGxhYmxlQXJlYV9zaG91bGRfc3RheV9zbWFsbCk7CiAKIFNjcm9sbGFibGVBcmVhOjpTY3Jv
bGxhYmxlQXJlYSgpCi0gICAgOiBtX2NvbnN0cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKHRy
dWUpCisgICAgOiBtX3Njcm9sbENsYW1waW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCkpCiAgICAgLCBtX2luTGl2ZVJlc2l6ZShmYWxzZSkKICAgICAsIG1f
dmVydGljYWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVsYXN0aWNpdHlOb25lKQogICAgICwgbV9o
b3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGljaXR5Tm9uZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDliMTUxZDdiMWYzYWFlMGQ2MTNi
YjUyMzNiODgxMGEwNDkxMDQwNWYuLmQ0NDJmNGY0MzRiYThkMDRhZTNkZDkyNTU3MDYwOThhOWE4
ODRhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMTEx
LDkgKzExMSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlU2Nyb2xsKCkg
eyB9CiAjZW5kaWYKIAotICAgIC8vIEZ1bmN0aW9ucyBmb3IgY29udHJvbGxpbmcgaWYgeW91IGNh
biBzY3JvbGwgcGFzdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudC4KLSAgICBib29sIGNvbnN0cmFp
bnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKCkgY29uc3QgeyByZXR1cm4gbV9jb25zdHJhaW5zU2Ny
b2xsaW5nVG9Db250ZW50RWRnZTsgfQotICAgIHZvaWQgc2V0Q29uc3RyYWluc1Njcm9sbGluZ1Rv
Q29udGVudEVkZ2UoYm9vbCBjb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZSkgeyBtX2Nv
bnN0cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlID0gY29uc3RyYWluc1Njcm9sbGluZ1RvQ29u
dGVudEVkZ2U7IH0KKyAgICBTY3JvbGxDbGFtcGluZyBzY3JvbGxDbGFtcGluZygpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PFNjcm9sbENsYW1waW5nPihtX3Njcm9sbENsYW1waW5nKTsgfQor
ICAgIHZvaWQgc2V0U2Nyb2xsQ2xhbXBpbmcoU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpIHsgbV9z
Y3JvbGxDbGFtcGluZyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihjbGFtcGluZyk7IH0KIAogICAg
IHZvaWQgc2V0VmVydGljYWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVsYXN0aWNpdHkgc2Nyb2xs
RWxhc3RpY2l0eSkgeyBtX3ZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSA9IHNjcm9sbEVsYXN0aWNp
dHk7IH0KICAgICBTY3JvbGxFbGFzdGljaXR5IHZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFNjcm9sbEVsYXN0aWNpdHk+KG1fdmVydGljYWxTY3Jv
bGxFbGFzdGljaXR5KTsgfQpAQCAtMzk2LDcgKzM5NSw3IEBAIHByaXZhdGU6CiAgICAgLy8gdmVy
dGljYWwtcmwgLyBydGwgICAgICAgICAgICBZRVMgICAgICAgICAgICAgICAgICAgICBZRVMKICAg
ICBJbnRQb2ludCBtX3Njcm9sbE9yaWdpbjsKIAotICAgIHVuc2lnbmVkIG1fY29uc3RyYWluc1Nj
cm9sbGluZ1RvQ29udGVudEVkZ2UgOiAxOworICAgIHVuc2lnbmVkIG1fc2Nyb2xsQ2xhbXBpbmcg
OiAxOyAvLyBTY3JvbGxDbGFtcGluZwogCiAgICAgdW5zaWduZWQgbV9pbkxpdmVSZXNpemUgOiAx
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3Rz
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3Rz
Q29udHJvbGxlci5jcHAKaW5kZXggOGIzZGVlN2U0ZTYyNjllOTU2OTNjNDVjNTUxZTM3YTFlOGIx
MmYxYS4uZDBhMDY5ZjIzZjk5ZWNmYjY5MjQ2NGNmZjQ2NTc4ZmNkZDEwNWJkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVy
LmNwcApAQCAtMzA3LDE5ICszMDcsMTQgQEAgdm9pZCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxl
cjo6dXBkYXRlS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRpbmdTdGF0ZShNb25vdG9uaWMKICAgICBt
X2NsaWVudC5rZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yKCktPnVwZGF0ZUtleWJvYXJkU2Nyb2xs
UG9zaXRpb24oY3VycmVudFRpbWUpOwogfQogCi12b2lkIFNjcm9sbGluZ0VmZmVjdHNDb250cm9s
bGVyOjpzY3JvbGxUb09mZnNldEZvckFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxP
ZmZzZXQpCi17Ci0gICAgYXV0byBjdXJyZW50T2Zmc2V0ID0gbV9jbGllbnQuc2Nyb2xsT2Zmc2V0
KCk7Ci0gICAgYXV0byBzY3JvbGxEZWx0YSA9IHNjcm9sbE9mZnNldCAtIGN1cnJlbnRPZmZzZXQ7
Ci0gICAgbV9jbGllbnQuaW1tZWRpYXRlU2Nyb2xsQnkoc2Nyb2xsRGVsdGEpOwotfQotCiB2b2lk
IFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpzY3JvbGxBbmltYXRpb25EaWRVcGRhdGUoU2Ny
b2xsQW5pbWF0aW9uJiBhbmltYXRpb24sIGNvbnN0IEZsb2F0UG9pbnQmIGN1cnJlbnRPZmZzZXQp
CiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbEFuaW1hdGlvbnMsIHN0cmVhbSA8PCAiU2Ny
b2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIgIiA8PCB0aGlzIDw8ICIgc2Nyb2xsQW5pbWF0aW9uRGlk
VXBkYXRlICIgPDwgYW5pbWF0aW9uIDw8ICIgKG1haW4gdGhyZWFkICIgPDwgaXNNYWluVGhyZWFk
KCkgPDwgIikiKTsKKyAgICBhdXRvIHNjcm9sbERlbHRhID0gY3VycmVudE9mZnNldCAtIG1fY2xp
ZW50LnNjcm9sbE9mZnNldCgpOworCisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbEFuaW1hdGlv
bnMsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIgIiA8PCB0aGlzIDw8ICIg
c2Nyb2xsQW5pbWF0aW9uRGlkVXBkYXRlICIgPDwgYW5pbWF0aW9uIDw8ICIgKG1haW4gdGhyZWFk
ICIgPDwgaXNNYWluVGhyZWFkKCkgPDwgIikgc2Nyb2xsaW5nIGJ5ICIgPDwgc2Nyb2xsRGVsdGEp
OwogICAgIFVOVVNFRF9QQVJBTShhbmltYXRpb24pOwogCi0gICAgc2Nyb2xsVG9PZmZzZXRGb3JB
bmltYXRpb24oY3VycmVudE9mZnNldCk7CisgICAgbV9jbGllbnQuaW1tZWRpYXRlU2Nyb2xsQnko
c2Nyb2xsRGVsdGEpOwogfQogCiB2b2lkIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpzY3Jv
bGxBbmltYXRpb25XaWxsU3RhcnQoU2Nyb2xsQW5pbWF0aW9uJiBhbmltYXRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaApp
bmRleCBjM2RkMTYzMDdjYWU0MTUxMWExNzE5YWYwOTQxY2ExYzk1MmJmNjU3Li42Mzc3N2EwMTQ4
NTEzYWI4NjViNjU3N2JhZmNmYWIyMjYxNzAzZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmgKQEAgLTg1LDkgKzg1LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxCZWhhdmlvclN0YXR1cyhTY3Jv
bGxCZWhhdmlvclN0YXR1cykgPSAwOwogICAgIHZpcnR1YWwgU2Nyb2xsQmVoYXZpb3JTdGF0dXMg
c2Nyb2xsQmVoYXZpb3JTdGF0dXMoKSBjb25zdCA9IDA7CiAKLSAgICAvLyBGSVhNRTogdXNlIFNj
cm9sbENsYW1waW5nIHRvIGNvbGxhcHNlIHRoZXNlIHRvIG9uZS4KLSAgICB2aXJ0dWFsIHZvaWQg
aW1tZWRpYXRlU2Nyb2xsQnkoY29uc3QgRmxvYXRTaXplJikgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBpbW1lZGlhdGVTY3JvbGxCeVdpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZs
b2F0U2l6ZSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaW1tZWRpYXRlU2Nyb2xsQnkoY29uc3Qg
RmxvYXRTaXplJiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgPSAw
OwogCiAgICAgLy8gSWYgdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIGlzIHdpdGhpbiB0aGUg
b3ZlcmhhbmcgYXJlYSwgdGhpcyBmdW5jdGlvbiB3aWxsIGNhdXNlCiAgICAgLy8gdGhlIHBhZ2Ug
dG8gc2Nyb2xsIHRvIHRoZSBuZWFyZXN0IGJvdW5kYXJ5IHBvaW50LgpAQCAtMjEyLDcgKzIxMCw2
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIHZvaWQgc3RhcnRPclN0b3BBbmltYXRpb25DYWxs
YmFja3MoKTsKLSAgICB2b2lkIHNjcm9sbFRvT2Zmc2V0Rm9yQW5pbWF0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmIHNjcm9sbE9mZnNldCk7CiAKICAgICAvLyBTY3JvbGxBbmltYXRpb25DbGllbnQKICAg
ICB2b2lkIHNjcm9sbEFuaW1hdGlvbkRpZFVwZGF0ZShTY3JvbGxBbmltYXRpb24mLCBjb25zdCBG
bG9hdFBvaW50JiAvKiBjdXJyZW50T2Zmc2V0ICovKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbQpp
bmRleCBiYWExMzViOTZhN2ViMDExNDFlODdmZGZjMTVlYTcxNjhjOGQ4ZmEzLi41MmI5MWExNjRm
ODViZTA5NDFmNzAyYjU3N2NkMTZmMzYxZDdiNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tCkBAIC0z
MTUsNyArMzE1LDcgQEAgYm9vbCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6YXBwbHlTY3Jv
bGxEZWx0YVdpdGhTdHJldGNoaW5nKGNvbnN0IFBsYXRmb3JtV2gKICAgICB9CiAKICAgICBpZiAo
IWRlbHRhVG9TY3JvbGwuaXNaZXJvKCkpCi0gICAgICAgIG1fY2xpZW50LmltbWVkaWF0ZVNjcm9s
bEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoZGVsdGFUb1Njcm9sbCk7CisgICAgICAg
IG1fY2xpZW50LmltbWVkaWF0ZVNjcm9sbEJ5KGRlbHRhVG9TY3JvbGwsIFNjcm9sbENsYW1waW5n
OjpVbmNsYW1wZWQpOwogCiAgICAgYm9vbCBjYW5TdGFydEFuaW1hdGlvbiA9IGZhbHNlOwogICAg
IGlmIChtX21vbWVudHVtU2Nyb2xsSW5Qcm9ncmVzcykgewpAQCAtMzMzLDcgKzMzMyw3IEBAIGJv
b2wgU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmFwcGx5U2Nyb2xsRGVsdGFXaXRoU3RyZXRj
aGluZyhjb25zdCBQbGF0Zm9ybVdoCiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbEFuaW1hdGlv
bnMsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmFwcGx5U2Nyb2xsRGVs
dGFXaXRoU3RyZXRjaGluZygpIC0gc3RyZXRjaFNjcm9sbEZvcmNlICIgPDwgbV9zdHJldGNoU2Ny
b2xsRm9yY2UgPDwgIiBtb3ZlIGRlbHRhICIgPDwgZGVsdGEgPDwgIiBkYW1wZWREZWx0YSAiIDw8
IGRhbXBlZERlbHRhKTsKIAogICAgIGF1dG8gc3RyZXRjaEFtb3VudCA9IG1fY2xpZW50LnN0cmV0
Y2hBbW91bnQoKTsKLSAgICBtX2NsaWVudC5pbW1lZGlhdGVTY3JvbGxCeVdpdGhvdXRDb250ZW50
RWRnZUNvbnN0cmFpbnRzKGRhbXBlZERlbHRhIC0gc3RyZXRjaEFtb3VudCk7CisgICAgbV9jbGll
bnQuaW1tZWRpYXRlU2Nyb2xsQnkoZGFtcGVkRGVsdGEgLSBzdHJldGNoQW1vdW50LCBTY3JvbGxD
bGFtcGluZzo6VW5jbGFtcGVkKTsKIAogICAgIHJldHVybiBjYW5TdGFydEFuaW1hdGlvbjsKIH0K
QEAgLTQwMiw3ICs0MDIsNyBAQCB2b2lkIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjp1cGRh
dGVSdWJiZXJCYW5kQW5pbWF0aW5nU3RhdGUoTW9ub3RvbmljVGltZSBjdQogCiAgICAgICAgICAg
ICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsQW5pbWF0aW9ucywgc3RyZWFtIDw8ICJTY3JvbGxpbmdF
ZmZlY3RzQ29udHJvbGxlcjo6dXBkYXRlUnViYmVyQmFuZEFuaW1hdGluZ1N0YXRlKCkgLSBydWJi
ZXJCYW5kRGVsdGEgIiA8PCBydWJiZXJCYW5kRGVsdGEgPDwgIiBzdHJldGNoZWQgIiA8PCBtX2Ns
aWVudC5zdHJldGNoQW1vdW50KCkgPDwgIiBtb3ZpbmcgYnkgIiA8PCBzdHJldGNoRGVsdGEpOwog
Ci0gICAgICAgICAgICBtX2NsaWVudC5pbW1lZGlhdGVTY3JvbGxCeVdpdGhvdXRDb250ZW50RWRn
ZUNvbnN0cmFpbnRzKHN0cmV0Y2hEZWx0YSk7CisgICAgICAgICAgICBtX2NsaWVudC5pbW1lZGlh
dGVTY3JvbGxCeShzdHJldGNoRGVsdGEsIFNjcm9sbENsYW1waW5nOjpVbmNsYW1wZWQpOwogCiAg
ICAgICAgICAgICBGbG9hdFNpemUgbmV3U3RyZXRjaCA9IG1fY2xpZW50LnN0cmV0Y2hBbW91bnQo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IGQ0
MGE0N2NmNmNiMzg2NjZjOWVmNWIxNDNmZWFkZTg3MDEyOGNlZGIuLmIxMzQ2YTEwNWI3MzI4ZTU4
ZjVmYmE3ZTk4MDkyNmNhMTk5ODFlOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgUmVuZGVyTWFycXVlZTo6UmVuZGVyTWFy
cXVlZShSZW5kZXJMYXllciogbGF5ZXIpCiB7CiAgICAgQVNTRVJUKGxheWVyKTsKICAgICBBU1NF
UlQobGF5ZXItPnNjcm9sbGFibGVBcmVhKCkpOwotICAgIGxheWVyLT5zY3JvbGxhYmxlQXJlYSgp
LT5zZXRDb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZShmYWxzZSk7CisgICAgbGF5ZXIt
PnNjcm9sbGFibGVBcmVhKCktPnNldFNjcm9sbENsYW1waW5nKFNjcm9sbENsYW1waW5nOjpVbmNs
YW1wZWQpOwogfQogCiBSZW5kZXJNYXJxdWVlOjp+UmVuZGVyTWFycXVlZSgpID0gZGVmYXVsdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAyMzViODIyYTc1Mjc0M2IxN2U3
ZTMyYTk4YTgzZTZkYjYzOTk4NThlLi43M2RjYzgwNzYzZjhkYWRmMWZkNWE1ZTQyMDc0ZGQ5OGJi
ZTY1MmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xODQ5LDE0ICsx
ODQ5LDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsczo6c2V0U2Nyb2xsVmlld1Bvc2l0
aW9uKGludCB4LCBpbnQgeSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwogCiAgICAgYXV0byYgZnJhbWVWaWV3ID0gKmRvY3VtZW50LT52aWV3KCk7Ci0g
ICAgYm9vbCBjb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZU9sZFZhbHVlID0gZnJhbWVW
aWV3LmNvbnN0cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKCk7CisgICAgYXV0byBvbGRDbGFt
cGluZyA9IGZyYW1lVmlldy5zY3JvbGxDbGFtcGluZygpOwogICAgIGJvb2wgc2Nyb2xsYmFyc1N1
cHByZXNzZWRPbGRWYWx1ZSA9IGZyYW1lVmlldy5zY3JvbGxiYXJzU3VwcHJlc3NlZCgpOwogCi0g
ICAgZnJhbWVWaWV3LnNldENvbnN0cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKGZhbHNlKTsK
KyAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsQ2xhbXBpbmcoU2Nyb2xsQ2xhbXBpbmc6OlVuY2xhbXBl
ZCk7CiAgICAgZnJhbWVWaWV3LnNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKGZhbHNlKTsKICAgICBm
cmFtZVZpZXcuc2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFscyh7IHgsIHkgfSk7CiAgICAgZnJh
bWVWaWV3LnNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKHNjcm9sbGJhcnNTdXBwcmVzc2VkT2xkVmFs
dWUpOwotICAgIGZyYW1lVmlldy5zZXRDb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZShj
b25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZU9sZFZhbHVlKTsKKyAgICBmcmFtZVZpZXcu
c2V0U2Nyb2xsQ2xhbXBpbmcob2xkQ2xhbXBpbmcpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0K
</data>
<flag name="review"
          id="463830"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>