<?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>152594</bug_id>
          
          <creation_ts>2015-12-29 22:20:17 -0800</creation_ts>
          <short_desc>Add explicit conversions between scrollOffset and scrollPostion, and use them in a few places</short_desc>
          <delta_ts>2015-12-30 12:15:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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></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>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1151587</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-12-29 22:20:17 -0800</bug_when>
    <thetext>Add explicit conversions between scrollOffset and scrollPostion, and use them in a few places</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151588</commentid>
    <comment_count>1</comment_count>
      <attachid>267999</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-12-29 22:24:43 -0800</bug_when>
    <thetext>Created attachment 267999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151618</commentid>
    <comment_count>2</comment_count>
      <attachid>267999</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-30 12:15:49 -0800</bug_when>
    <thetext>Comment on attachment 267999
Patch

Clearing flags on attachment: 267999

Committed r194448: &lt;http://trac.webkit.org/changeset/194448&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151619</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-30 12:15:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267999</attachid>
            <date>2015-12-29 22:24:43 -0800</date>
            <delta_ts>2015-12-30 12:15:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152594-20151229222408.patch</filename>
            <type>text/plain</type>
            <size>24711</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDYxMGI2Mzg0NWUwNTBi
OTNlMGUxMDYwMjg0NWM4ODViMzEyOWFlZC4uYWNjZWE1MmEzNjQ3MWQ1Y2NjYTk1YTQ4OTVmMTFl
NGFjM2M5M2I3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDE1LTEyLTI5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBleHBsaWNp
dCBjb252ZXJzaW9ucyBiZXR3ZWVuIHNjcm9sbE9mZnNldCBhbmQgc2Nyb2xsUG9zdGlvbiwgYW5k
IHVzZSB0aGVtIGluIGEgZmV3IHBsYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGZ1bmN0aW9ucyB0byBTY3JvbGxhYmxlQXJlYSB0byBjb252
ZXJ0IGJldHdlZW4gc2Nyb2xsUG9zaXRpb24gYW5kIHNjcm9sbE9mZnNldCwKKyAgICAgICAgYW5k
IHVzZSB0aGVtIGluIHBsYWNlcyB3aGVyZSBjb2RlIGRpZCB0aGUgbWF0aCB3aXRoIHNjcm9sbE9y
aWdpbi4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6bWluaW11bVNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKTogdG90YWxDb250ZW50c1NpemUoKS53aWR0
aCgpID09IGNvbnRlbnRzV2lkdGgoKSwKKyAgICAgICAgc28gd2UgY2FuIHVzZSB0aGUgYmFzZSBj
bGFzcyBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSwgd2hpY2ggYWxzbyBjbGFtcHMuCisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjptYXhpbXVtU2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6
c2V0U2Nyb2xsT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6Om92ZXJoYW5n
QW1vdW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6Y2FsY3VsYXRlT3ZlcmhhbmdBcmVhc0Zv
clBhaW50aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6Om1pbmltdW1TY3JvbGxQ
b3NpdGlvbik6IERlbGV0ZWQuIENhbiB1c2UgYmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6Om1pbmltdW1T
Y3JvbGxQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6bWF4aW11
bVNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjptYXhp
bXVtU2Nyb2xsT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzY3Jv
bGxQb3NpdGlvbkZyb21PZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OnNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzY3JvbGxPcmlnaW4p
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbE9yaWdpbkNoYW5nZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsVmlldzo6dW5vYnNjdXJlZENvbnRlbnRSZWN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvck1hYzo6cGlubmVkSW5EaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
QW5pbWF0b3JNYWM6OmFic29sdXRlU2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om1heGltdW1TY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmhhbmdBbW91bnQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om1pbmltdW1TY3JvbGxQb3NpdGlvbik6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisKKzIwMTUtMTIt
MjkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAgUmVu
YW1lICJzY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uIiBhbmQgcmVsYXRlZCBmdW5jdGlvbnMg
dG8gcmVmZXIgdG8gc2Nyb2xsUG9zaXRpb24KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MjU5MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzVjOGQwMDA1MGIzOWMz
ZTRiYWQxOTJhZmVhNzdlYTRmNGEyZjYzYy4uNWRkMDMxOTFlOGM2MjcwNmJlMGNlYjBhMjJiMTQx
ZmVmNDFjZTFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE1LTEyLTI5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBleHBsaWNp
dCBjb252ZXJzaW9ucyBiZXR3ZWVuIHNjcm9sbE9mZnNldCBhbmQgc2Nyb2xsUG9zdGlvbiwgYW5k
IHVzZSB0aGVtIGluIGEgZmV3IHBsYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGZ1bmN0aW9ucyB0byBTY3JvbGxhYmxlQXJlYSB0byBjb252
ZXJ0IGJldHdlZW4gc2Nyb2xsUG9zaXRpb24gYW5kIHNjcm9sbE9mZnNldCwKKyAgICAgICAgYW5k
IHVzZSB0aGVtIGluIHBsYWNlcyB3aGVyZSBjb2RlIGRpZCB0aGUgbWF0aCB3aXRoIHNjcm9sbE9y
aWdpbi4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjp1cGRhdGVTY3JvbGxlZEV4cG9zZWRSZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2Vi
S2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlU2Nyb2xsZWRFeHBvc2Vk
UmVjdCk6CisKKzIwMTUtMTItMjkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CisKICAgICAgICAgUmVtb3ZlIFNjcm9sbFZpZXc6OnNjcm9sbE9mZnNldCgpIGluIHByZXBh
cmF0aW9uIGZvciBzY3JvbGxPZmZzZXQgdnMuIHNjcm9sbFBvc2l0aW9uIGNsYXJpZmljYXRpb24K
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjU4OQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYjNkMGNlYmVlYTdiODY4ZTEzMGRjNWZm
OTdjY2U5NTAwNjFlYmU2My4uMDY4MmRhZjQ3ZmM2MzU2NWY5YjJiYjI4NTIzOGE3ODkzZTdhNzk4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTg1Myw5ICsxODUzLDkgQEAgTGF5
b3V0UmVjdCBGcmFtZVZpZXc6OnZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzUmVjdCgpIGNvbnN0
CiB9CiAjZW5kaWYKICAgICAKLUludFBvaW50IEZyYW1lVmlldzo6bWluaW11bVNjcm9sbFBvc2l0
aW9uKCkgY29uc3QKK1Njcm9sbFBvc2l0aW9uIEZyYW1lVmlldzo6bWluaW11bVNjcm9sbFBvc2l0
aW9uKCkgY29uc3QKIHsKLSAgICBJbnRQb2ludCBtaW5pbXVtUG9zaXRpb24oU2Nyb2xsVmlldzo6
bWluaW11bVNjcm9sbFBvc2l0aW9uKCkpOworICAgIFNjcm9sbFBvc2l0aW9uIG1pbmltdW1Qb3Np
dGlvbiA9IFNjcm9sbFZpZXc6Om1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogCiAgICAgaWYgKGZy
YW1lKCkuaXNNYWluRnJhbWUoKSAmJiBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciA9PSBQaW5Ub0Jv
dHRvbSkKICAgICAgICAgbWluaW11bVBvc2l0aW9uLnNldFkobWF4aW11bVNjcm9sbFBvc2l0aW9u
KCkueSgpKTsKQEAgLTE4NjMsMTYgKzE4NjMsMTQgQEAgSW50UG9pbnQgRnJhbWVWaWV3OjptaW5p
bXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBtaW5pbXVtUG9zaXRpb247CiB9
CiAKLUludFBvaW50IEZyYW1lVmlldzo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKK1Nj
cm9sbFBvc2l0aW9uIEZyYW1lVmlldzo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsK
LSAgICBJbnRQb2ludCBtYXhpbXVtT2Zmc2V0KGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVXaWR0
aCgpIC0gc2Nyb2xsT3JpZ2luKCkueCgpLCB0b3RhbENvbnRlbnRzU2l6ZSgpLmhlaWdodCgpIC0g
dmlzaWJsZUhlaWdodCgpIC0gc2Nyb2xsT3JpZ2luKCkueSgpKTsKLQotICAgIG1heGltdW1PZmZz
ZXQuY2xhbXBOZWdhdGl2ZVRvWmVybygpOworICAgIFNjcm9sbFBvc2l0aW9uIG1heGltdW1Qb3Np
dGlvbiA9IFNjcm9sbFZpZXc6Om1heGltdW1TY3JvbGxQb3NpdGlvbigpOwogCiAgICAgaWYgKGZy
YW1lKCkuaXNNYWluRnJhbWUoKSAmJiBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciA9PSBQaW5Ub1Rv
cCkKLSAgICAgICAgbWF4aW11bU9mZnNldC5zZXRZKG1pbmltdW1TY3JvbGxQb3NpdGlvbigpLnko
KSk7CisgICAgICAgIG1heGltdW1Qb3NpdGlvbi5zZXRZKG1pbmltdW1TY3JvbGxQb3NpdGlvbigp
LnkoKSk7CiAgICAgCi0gICAgcmV0dXJuIG1heGltdW1PZmZzZXQ7CisgICAgcmV0dXJuIG1heGlt
dW1Qb3NpdGlvbjsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnZpZXdwb3J0Q29udGVudHNDaGFuZ2Vk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggY2JjYTI1ZDFiMjg1
MWNkMGViMzYzNTEzZTZhMTRhMmUzMjU0NGQ0NS4uOTc2MmIwMGU2NDljNjhiZjExZTg1NzJlMjIx
OTU3MDViZDdlMjM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAg
LTM4OCwxNCArMzg4LDEwIEBAIHZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNTaXplKGNvbnN0
IEludFNpemUmIG5ld1NpemUpCiAKIFNjcm9sbFBvc2l0aW9uIFNjcm9sbFZpZXc6Om1heGltdW1T
Y3JvbGxQb3NpdGlvbigpIGNvbnN0CiB7Ci0gICAgSW50UG9pbnQgbWF4aW11bU9mZnNldChjb250
ZW50c1dpZHRoKCkgLSB2aXNpYmxlV2lkdGgoKSAtIHNjcm9sbE9yaWdpbigpLngoKSwgdG90YWxD
b250ZW50c1NpemUoKS5oZWlnaHQoKSAtIHZpc2libGVIZWlnaHQoKSAtIHNjcm9sbE9yaWdpbigp
LnkoKSk7Ci0gICAgbWF4aW11bU9mZnNldC5jbGFtcE5lZ2F0aXZlVG9aZXJvKCk7Ci0gICAgcmV0
dXJuIG1heGltdW1PZmZzZXQ7Ci19Ci0KLVNjcm9sbFBvc2l0aW9uIFNjcm9sbFZpZXc6Om1pbmlt
dW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEludFBvaW50KC1zY3JvbGxP
cmlnaW4oKS54KCksIC1zY3JvbGxPcmlnaW4oKS55KCkpOworICAgIFNjcm9sbFBvc2l0aW9uIG1h
eGltdW1Qb3NpdGlvbiA9IFNjcm9sbGFibGVBcmVhOjptYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsK
KyAgICAvLyBGSVhNRTogY2FuIHRoaXMgYmUgbW92ZWQgaW50byB0aGUgYmFzZSBjbGFzcz8KKyAg
ICBtYXhpbXVtUG9zaXRpb24uY2xhbXBOZWdhdGl2ZVRvWmVybygpOworICAgIHJldHVybiBtYXhp
bXVtUG9zaXRpb247CiB9CiAKIFNjcm9sbFBvc2l0aW9uIFNjcm9sbFZpZXc6OmFkanVzdFNjcm9s
bFBvc2l0aW9uV2l0aGluUmFuZ2UoY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvaW50KSBj
b25zdApAQCAtNDQxLDE4ICs0MzcsMTIgQEAgdm9pZCBTY3JvbGxWaWV3Ojpub3RpZnlQYWdlVGhh
dENvbnRlbnRBcmVhV2lsbFBhaW50KCkgY29uc3QKIAogdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3Jv
bGxPZmZzZXQoY29uc3QgSW50UG9pbnQmIG9mZnNldCkKIHsKLSAgICBpbnQgaG9yaXpvbnRhbE9m
ZnNldCA9IG9mZnNldC54KCk7Ci0gICAgaW50IHZlcnRpY2FsT2Zmc2V0ID0gb2Zmc2V0LnkoKTsK
LSAgICBpZiAoY29uc3RyYWluc1Njcm9sbGluZ1RvQ29udGVudEVkZ2UoKSkgewotICAgICAgICBo
b3Jpem9udGFsT2Zmc2V0ID0gc3RkOjptYXgoc3RkOjptaW4oaG9yaXpvbnRhbE9mZnNldCwgY29u
dGVudHNXaWR0aCgpIC0gdmlzaWJsZVdpZHRoKCkpLCAwKTsKLSAgICAgICAgdmVydGljYWxPZmZz
ZXQgPSBzdGQ6Om1heChzdGQ6Om1pbih2ZXJ0aWNhbE9mZnNldCwgdG90YWxDb250ZW50c1NpemUo
KS5oZWlnaHQoKSAtIHZpc2libGVIZWlnaHQoKSksIDApOwotICAgIH0KLQotICAgIEludFNpemUg
bmV3T2Zmc2V0ID0gbV9zY3JvbGxPZmZzZXQ7Ci0gICAgbmV3T2Zmc2V0LnNldFdpZHRoKGhvcml6
b250YWxPZmZzZXQgLSBzY3JvbGxPcmlnaW4oKS54KCkpOwotICAgIG5ld09mZnNldC5zZXRIZWln
aHQodmVydGljYWxPZmZzZXQgLSBzY3JvbGxPcmlnaW4oKS55KCkpOworICAgIEludFBvaW50IGNv
bnN0cmFpbmVkT2Zmc2V0ID0gb2Zmc2V0OworICAgIGlmIChjb25zdHJhaW5zU2Nyb2xsaW5nVG9D
b250ZW50RWRnZSgpKQorICAgICAgICBjb25zdHJhaW5lZE9mZnNldCA9IGNvbnN0cmFpbmVkT2Zm
c2V0LmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgpLCBtYXhpbXVtU2Nyb2xsT2Zmc2V0KCkp
OwogCi0gICAgc2Nyb2xsVG8obmV3T2Zmc2V0KTsKKyAgICBTY3JvbGxQb3NpdGlvbiBuZXdQb3Np
dGlvbiA9IHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjb25zdHJhaW5lZE9mZnNldCk7CisgICAg
c2Nyb2xsVG8odG9JbnRTaXplKG5ld1Bvc2l0aW9uKSk7CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6
c2Nyb2xsUG9zaXRpb25DaGFuZ2VkVmlhUGxhdGZvcm1XaWRnZXQoY29uc3QgSW50UG9pbnQmIG9s
ZFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgbmV3UG9zaXRpb24pCkBAIC01NjcsMTcgKzU1Nywx
NyBAQCBJbnRTaXplIFNjcm9sbFZpZXc6Om92ZXJoYW5nQW1vdW50KCkgY29uc3QKIHsKICAgICBJ
bnRTaXplIHN0cmV0Y2g7CiAKLSAgICBpbnQgcGh5c2ljYWxTY3JvbGxZID0gc2Nyb2xsUG9zaXRp
b24oKS55KCkgKyBzY3JvbGxPcmlnaW4oKS55KCk7Ci0gICAgaWYgKHBoeXNpY2FsU2Nyb2xsWSA8
IDApCi0gICAgICAgIHN0cmV0Y2guc2V0SGVpZ2h0KHBoeXNpY2FsU2Nyb2xsWSk7Ci0gICAgZWxz
ZSBpZiAodG90YWxDb250ZW50c1NpemUoKS5oZWlnaHQoKSAmJiBwaHlzaWNhbFNjcm9sbFkgPiB0
b3RhbENvbnRlbnRzU2l6ZSgpLmhlaWdodCgpIC0gdmlzaWJsZUhlaWdodCgpKQotICAgICAgICBz
dHJldGNoLnNldEhlaWdodChwaHlzaWNhbFNjcm9sbFkgLSAodG90YWxDb250ZW50c1NpemUoKS5o
ZWlnaHQoKSAtIHZpc2libGVIZWlnaHQoKSkpOworICAgIC8vIEZJWE1FOiB1c2UgbWF4aW11bVNj
cm9sbE9mZnNldCgpCisgICAgU2Nyb2xsT2Zmc2V0IHNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNl
dEZyb21Qb3NpdGlvbihzY3JvbGxQb3NpdGlvbigpKTsKKyAgICBpZiAoc2Nyb2xsT2Zmc2V0Lnko
KSA8IDApCisgICAgICAgIHN0cmV0Y2guc2V0SGVpZ2h0KHNjcm9sbE9mZnNldC55KCkpOworICAg
IGVsc2UgaWYgKHRvdGFsQ29udGVudHNTaXplKCkuaGVpZ2h0KCkgJiYgc2Nyb2xsT2Zmc2V0Lnko
KSA+IHRvdGFsQ29udGVudHNTaXplKCkuaGVpZ2h0KCkgLSB2aXNpYmxlSGVpZ2h0KCkpCisgICAg
ICAgIHN0cmV0Y2guc2V0SGVpZ2h0KHNjcm9sbE9mZnNldC55KCkgLSAodG90YWxDb250ZW50c1Np
emUoKS5oZWlnaHQoKSAtIHZpc2libGVIZWlnaHQoKSkpOwogCi0gICAgaW50IHBoeXNpY2FsU2Ny
b2xsWCA9IHNjcm9sbFBvc2l0aW9uKCkueCgpICsgc2Nyb2xsT3JpZ2luKCkueCgpOwotICAgIGlm
IChwaHlzaWNhbFNjcm9sbFggPCAwKQotICAgICAgICBzdHJldGNoLnNldFdpZHRoKHBoeXNpY2Fs
U2Nyb2xsWCk7Ci0gICAgZWxzZSBpZiAoY29udGVudHNXaWR0aCgpICYmIHBoeXNpY2FsU2Nyb2xs
WCA+IGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVXaWR0aCgpKQotICAgICAgICBzdHJldGNoLnNl
dFdpZHRoKHBoeXNpY2FsU2Nyb2xsWCAtIChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlV2lkdGgo
KSkpOworICAgIGlmIChzY3JvbGxPZmZzZXQueCgpIDwgMCkKKyAgICAgICAgc3RyZXRjaC5zZXRX
aWR0aChzY3JvbGxPZmZzZXQueCgpKTsKKyAgICBlbHNlIGlmIChjb250ZW50c1dpZHRoKCkgJiYg
c2Nyb2xsT2Zmc2V0LngoKSA+IGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVXaWR0aCgpKQorICAg
ICAgICBzdHJldGNoLnNldFdpZHRoKHNjcm9sbE9mZnNldC54KCkgLSAoY29udGVudHNXaWR0aCgp
IC0gdmlzaWJsZVdpZHRoKCkpKTsKIAogICAgIHJldHVybiBzdHJldGNoOwogfQpAQCAtNzY1LDcg
Kzc1NSw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAgICAgICBhZGp1c3RlZFNjcm9sbFBvc2l0aW9u
ID0gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShhZGp1c3RlZFNjcm9sbFBvc2l0aW9u
KTsKIAogICAgIGlmIChhZGp1c3RlZFNjcm9sbFBvc2l0aW9uICE9IHNjcm9sbFBvc2l0aW9uKCkg
fHwgc2Nyb2xsT3JpZ2luQ2hhbmdlZCgpKSB7Ci0gICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3Jv
bGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oYWRqdXN0ZWRTY3JvbGxQb3NpdGlvbiArIHRvSW50
U2l6ZShzY3JvbGxPcmlnaW4oKSkpOworICAgICAgICBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9P
ZmZzZXRXaXRob3V0QW5pbWF0aW9uKHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihhZGp1c3RlZFNj
cm9sbFBvc2l0aW9uKSk7CiAgICAgICAgIHJlc2V0U2Nyb2xsT3JpZ2luQ2hhbmdlZCgpOwogICAg
IH0KIApAQCAtMTI2NSwzMCArMTI1NSwzMCBAQCB2b2lkIFNjcm9sbFZpZXc6OmNhbGN1bGF0ZU92
ZXJoYW5nQXJlYXNGb3JQYWludGluZyhJbnRSZWN0JiBob3Jpem9udGFsT3ZlcmhhbmdSZQogewog
ICAgIEludFNpemUgc2Nyb2xsYmFyU3BhY2UgPSBzY3JvbGxiYXJJbnRydXNpb24oKTsKIAotICAg
IGludCBwaHlzaWNhbFNjcm9sbFkgPSBzY3JvbGxQb3NpdGlvbigpLnkoKSArIHNjcm9sbE9yaWdp
bigpLnkoKTsKLSAgICBpZiAocGh5c2ljYWxTY3JvbGxZIDwgMCkgeworICAgIC8vIEZJWE1FOiB1
c2UgbWF4aW11bVNjcm9sbE9mZnNldCgpLgorICAgIFNjcm9sbE9mZnNldCBzY3JvbGxPZmZzZXQg
PSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24oKSk7CisgICAgaWYgKHNj
cm9sbE9mZnNldC55KCkgPCAwKSB7CiAgICAgICAgIGhvcml6b250YWxPdmVyaGFuZ1JlY3QgPSBm
cmFtZVJlY3QoKTsKLSAgICAgICAgaG9yaXpvbnRhbE92ZXJoYW5nUmVjdC5zZXRIZWlnaHQoLXBo
eXNpY2FsU2Nyb2xsWSk7CisgICAgICAgIGhvcml6b250YWxPdmVyaGFuZ1JlY3Quc2V0SGVpZ2h0
KC1zY3JvbGxPZmZzZXQueSgpKTsKICAgICAgICAgaG9yaXpvbnRhbE92ZXJoYW5nUmVjdC5zZXRX
aWR0aChob3Jpem9udGFsT3ZlcmhhbmdSZWN0LndpZHRoKCkgLSBzY3JvbGxiYXJTcGFjZS53aWR0
aCgpKTsKLSAgICB9IGVsc2UgaWYgKHRvdGFsQ29udGVudHNTaXplKCkuaGVpZ2h0KCkgJiYgcGh5
c2ljYWxTY3JvbGxZID4gdG90YWxDb250ZW50c1NpemUoKS5oZWlnaHQoKSAtIHZpc2libGVIZWln
aHQoKSkgewotICAgICAgICBpbnQgaGVpZ2h0ID0gcGh5c2ljYWxTY3JvbGxZIC0gKHRvdGFsQ29u
dGVudHNTaXplKCkuaGVpZ2h0KCkgLSB2aXNpYmxlSGVpZ2h0KCkpOworICAgIH0gZWxzZSBpZiAo
dG90YWxDb250ZW50c1NpemUoKS5oZWlnaHQoKSAmJiBzY3JvbGxPZmZzZXQueSgpID4gdG90YWxD
b250ZW50c1NpemUoKS5oZWlnaHQoKSAtIHZpc2libGVIZWlnaHQoKSkgeworICAgICAgICBpbnQg
aGVpZ2h0ID0gc2Nyb2xsT2Zmc2V0LnkoKSAtICh0b3RhbENvbnRlbnRzU2l6ZSgpLmhlaWdodCgp
IC0gdmlzaWJsZUhlaWdodCgpKTsKICAgICAgICAgaG9yaXpvbnRhbE92ZXJoYW5nUmVjdCA9IGZy
YW1lUmVjdCgpOwogICAgICAgICBob3Jpem9udGFsT3ZlcmhhbmdSZWN0LnNldFkoZnJhbWVSZWN0
KCkubWF4WSgpIC0gaGVpZ2h0IC0gc2Nyb2xsYmFyU3BhY2UuaGVpZ2h0KCkpOwogICAgICAgICBo
b3Jpem9udGFsT3ZlcmhhbmdSZWN0LnNldEhlaWdodChoZWlnaHQpOwogICAgICAgICBob3Jpem9u
dGFsT3ZlcmhhbmdSZWN0LnNldFdpZHRoKGhvcml6b250YWxPdmVyaGFuZ1JlY3Qud2lkdGgoKSAt
IHNjcm9sbGJhclNwYWNlLndpZHRoKCkpOwogICAgIH0KIAotICAgIGludCBwaHlzaWNhbFNjcm9s
bFggPSBzY3JvbGxQb3NpdGlvbigpLngoKSArIHNjcm9sbE9yaWdpbigpLngoKTsKLSAgICBpZiAo
cGh5c2ljYWxTY3JvbGxYIDwgMCkgewotICAgICAgICB2ZXJ0aWNhbE92ZXJoYW5nUmVjdC5zZXRX
aWR0aCgtcGh5c2ljYWxTY3JvbGxYKTsKKyAgICBpZiAoc2Nyb2xsT2Zmc2V0LngoKSA8IDApIHsK
KyAgICAgICAgdmVydGljYWxPdmVyaGFuZ1JlY3Quc2V0V2lkdGgoLXNjcm9sbE9mZnNldC54KCkp
OwogICAgICAgICB2ZXJ0aWNhbE92ZXJoYW5nUmVjdC5zZXRIZWlnaHQoZnJhbWVSZWN0KCkuaGVp
Z2h0KCkgLSBob3Jpem9udGFsT3ZlcmhhbmdSZWN0LmhlaWdodCgpIC0gc2Nyb2xsYmFyU3BhY2Uu
aGVpZ2h0KCkpOwogICAgICAgICB2ZXJ0aWNhbE92ZXJoYW5nUmVjdC5zZXRYKGZyYW1lUmVjdCgp
LngoKSk7CiAgICAgICAgIGlmIChob3Jpem9udGFsT3ZlcmhhbmdSZWN0LnkoKSA9PSBmcmFtZVJl
Y3QoKS55KCkpCiAgICAgICAgICAgICB2ZXJ0aWNhbE92ZXJoYW5nUmVjdC5zZXRZKGZyYW1lUmVj
dCgpLnkoKSArIGhvcml6b250YWxPdmVyaGFuZ1JlY3QuaGVpZ2h0KCkpOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICB2ZXJ0aWNhbE92ZXJoYW5nUmVjdC5zZXRZKGZyYW1lUmVjdCgpLnkoKSk7
Ci0gICAgfSBlbHNlIGlmIChjb250ZW50c1dpZHRoKCkgJiYgcGh5c2ljYWxTY3JvbGxYID4gY29u
dGVudHNXaWR0aCgpIC0gdmlzaWJsZVdpZHRoKCkpIHsKLSAgICAgICAgaW50IHdpZHRoID0gcGh5
c2ljYWxTY3JvbGxYIC0gKGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVXaWR0aCgpKTsKKyAgICB9
IGVsc2UgaWYgKGNvbnRlbnRzV2lkdGgoKSAmJiBzY3JvbGxPZmZzZXQueCgpID4gY29udGVudHNX
aWR0aCgpIC0gdmlzaWJsZVdpZHRoKCkpIHsKKyAgICAgICAgaW50IHdpZHRoID0gc2Nyb2xsT2Zm
c2V0LngoKSAtIChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlV2lkdGgoKSk7CiAgICAgICAgIHZl
cnRpY2FsT3ZlcmhhbmdSZWN0LnNldFdpZHRoKHdpZHRoKTsKICAgICAgICAgdmVydGljYWxPdmVy
aGFuZ1JlY3Quc2V0SGVpZ2h0KGZyYW1lUmVjdCgpLmhlaWdodCgpIC0gaG9yaXpvbnRhbE92ZXJo
YW5nUmVjdC5oZWlnaHQoKSAtIHNjcm9sbGJhclNwYWNlLmhlaWdodCgpKTsKICAgICAgICAgdmVy
dGljYWxPdmVyaGFuZ1JlY3Quc2V0WChmcmFtZVJlY3QoKS5tYXhYKCkgLSB3aWR0aCAtIHNjcm9s
bGJhclNwYWNlLndpZHRoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4
IDg1YTA0ZTdjNzFiMDk2NTZjM2QwYjNlZmQxOWM4MDQ5OWVjZGIxMmUuLjhjNzBmNWZkZmEwMTQy
MjQ5Yzg3NGM4MzczMjIwYWRkZmVmMmNkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmgKQEAgLTIyOCw3ICsyMjgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTY3JvbGxQb3Np
dGlvbiBzY3JvbGxQb3NpdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHZpc2libGVDb250
ZW50UmVjdChMZWdhY3lJT1NEb2N1bWVudFZpc2libGVSZWN0KS5sb2NhdGlvbigpOyB9CiAKICAg
ICB2aXJ0dWFsIFNjcm9sbFBvc2l0aW9uIG1heGltdW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0IG92
ZXJyaWRlOyAvLyBUaGUgbWF4aW11bSBwb3NpdGlvbiB3ZSBjYW4gYmUgc2Nyb2xsZWQgdG8uCi0g
ICAgdmlydHVhbCBTY3JvbGxQb3NpdGlvbiBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdCBv
dmVycmlkZTsgLy8gVGhlIG1pbmltdW0gcG9zaXRpb24gd2UgY2FuIGJlIHNjcm9sbGVkIHRvLgog
CiAgICAgLy8gQWRqdXN0IHRoZSBwYXNzZWQgaW4gc2Nyb2xsIHBvc2l0aW9uIHRvIGtlZXAgaXQg
YmV0d2VlbiB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBwb3NpdGlvbnMuCiAgICAgU2Nyb2xsUG9z
aXRpb24gYWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShjb25zdCBTY3JvbGxQb3NpdGlv
biYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmlu
ZGV4IGJlNWFmYTdiNDA2MGFiNjkwMDU4OWIwYzZkYWNlMmU1MjU0NTZhNmMuLmZjOTBiZDViMDU5
OTFiNmYzYWQyODk4NDYzMzBlYzg5MDRhNGM0MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTUzNCwxMiArNTM0LDI3IEBAIFNjcm9sbFBvc2l0aW9u
IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAKIFNjcm9sbFBvc2l0aW9u
IFNjcm9sbGFibGVBcmVhOjptaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewotICAgIHJl
dHVybiBJbnRQb2ludCgpOworICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoU2Ny
b2xsUG9zaXRpb24oKSk7CiB9CiAKIFNjcm9sbFBvc2l0aW9uIFNjcm9sbGFibGVBcmVhOjptYXhp
bXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewotICAgIHJldHVybiBJbnRQb2ludCh0b3RhbENv
bnRlbnRzU2l6ZSgpLndpZHRoKCkgLSB2aXNpYmxlV2lkdGgoKSwgdG90YWxDb250ZW50c1NpemUo
KS5oZWlnaHQoKSAtIHZpc2libGVIZWlnaHQoKSk7CisgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9u
RnJvbU9mZnNldChTY3JvbGxQb3NpdGlvbih0b3RhbENvbnRlbnRzU2l6ZSgpIC0gdmlzaWJsZVNp
emUoKSkpOworfQorCitTY3JvbGxPZmZzZXQgU2Nyb2xsYWJsZUFyZWE6Om1heGltdW1TY3JvbGxP
ZmZzZXQoKSBjb25zdAoreworICAgIHJldHVybiBTY3JvbGxPZmZzZXQodG90YWxDb250ZW50c1Np
emUoKSAtIHZpc2libGVTaXplKCkpOworfQorCitTY3JvbGxQb3NpdGlvbiBTY3JvbGxhYmxlQXJl
YTo6c2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KFNjcm9sbE9mZnNldCBvZmZzZXQpIGNvbnN0Cit7
CisgICAgcmV0dXJuIEludFBvaW50KHRvSW50U2l6ZShvZmZzZXQpIC0gdG9JbnRTaXplKG1fc2Ny
b2xsT3JpZ2luKSk7Cit9CisKK1Njcm9sbE9mZnNldCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zm
c2V0RnJvbVBvc2l0aW9uKFNjcm9sbFBvc2l0aW9uIHBvc2l0aW9uKSBjb25zdAoreworICAgIHJl
dHVybiBJbnRQb2ludCh0b0ludFNpemUocG9zaXRpb24pICsgdG9JbnRTaXplKG1fc2Nyb2xsT3Jp
Z2luKSk7CiB9CiAKIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbGVkVG9Ub3AoKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggN2ZkYWZhM2M2MDIy
MGUwNWQ4Y2ExN2I2YzJmYTgzMDNjZjA1NmQxOS4uNzE1YjkwZjNiNTM4NmI1M2U2NmM2NWIzZGJi
MmQ2MDExMmRjZTUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5o
CkBAIC0xNDQsOSArMTQ0LDYgQEAgcHVibGljOgogICAgIC8vIFRoaXMgZ2V0dGVyIHdpbGwgcmV0
dXJuIG51bGwgaWYgdGhlIFNjcm9sbEFuaW1hdG9yIGhhc24ndCBiZWVuIGNyZWF0ZWQgeWV0Lgog
ICAgIFNjcm9sbEFuaW1hdG9yKiBleGlzdGluZ1Njcm9sbEFuaW1hdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9zY3JvbGxBbmltYXRvci5nZXQoKTsgfQogCi0gICAgY29uc3QgSW50UG9pbnQmIHNjcm9s
bE9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsT3JpZ2luOyB9Ci0gICAgYm9vbCBzY3Jv
bGxPcmlnaW5DaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxPcmlnaW5DaGFuZ2VkOyB9
Ci0KICAgICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBp
bnQgc2Nyb2xsU2l6ZShTY3JvbGxiYXJPcmllbnRhdGlvbikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgaW50IHNjcm9sbFBvc2l0aW9uKFNjcm9sbGJhciopIGNvbnN0ID0gMDsKQEAgLTE4NCwxMCAr
MTgxLDE4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFNjcm9sbGJhciogaG9yaXpvbnRhbFNjcm9s
bGJhcigpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIFNjcm9sbGJhciogdmVydGlj
YWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiAwOyB9CiAKKyAgICBjb25zdCBJbnRQb2ludCYg
c2Nyb2xsT3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxPcmlnaW47IH0KKyAgICBib29s
IHNjcm9sbE9yaWdpbkNoYW5nZWQoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbE9yaWdpbkNoYW5n
ZWQ7IH0KKwogICAgIHZpcnR1YWwgU2Nyb2xsUG9zaXRpb24gc2Nyb2xsUG9zaXRpb24oKSBjb25z
dDsKICAgICB2aXJ0dWFsIFNjcm9sbFBvc2l0aW9uIG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIGNv
bnN0OwogICAgIHZpcnR1YWwgU2Nyb2xsUG9zaXRpb24gbWF4aW11bVNjcm9sbFBvc2l0aW9uKCkg
Y29uc3Q7CiAKKyAgICBTY3JvbGxPZmZzZXQgbWF4aW11bVNjcm9sbE9mZnNldCgpIGNvbnN0Owor
CisgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsUG9zaXRpb24gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zm
c2V0KFNjcm9sbE9mZnNldCkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsT2Zmc2V0
IHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihTY3JvbGxQb3NpdGlvbikgY29uc3Q7CisKICAgICBX
RUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJvb2wgc2Nyb2xsZWRUb1RvcCgpIGNvbnN0OwogICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9vbCBzY3JvbGxlZFRvQm90dG9tKCkgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIHNjcm9sbGVkVG9MZWZ0KCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsVmlld0lPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tCmluZGV4IDhlNGVhOWZk
MTE0YmY4NTBkODU5ZTE4ZjdjNGY4YjA2ZTJjNGUzNDYuLjM4ZjEzOTgwODY4MjFiNDRkOWIxZjEw
NTFlMWY2NGNmYjY5YWNkY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9TY3JvbGxWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3Jv
bGxWaWV3SU9TLm1tCkBAIC0xMDcsOCArMTA3LDEwIEBAIEludFJlY3QgU2Nyb2xsVmlldzo6dW5v
YnNjdXJlZENvbnRlbnRSZWN0KFZpc2libGVDb250ZW50UmVjdEluY2x1ZGVzU2Nyb2xsYmFycykK
ICAgICAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3Qocik7CiAgICAgfQogCi0gICAgaWYgKCFt
X3Vub2JzY3VyZWRDb250ZW50U2l6ZS5pc0VtcHR5KCkpCisgICAgaWYgKCFtX3Vub2JzY3VyZWRD
b250ZW50U2l6ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgLy8gRklYTUU6IGlzIHRoaXMgY29ycmVj
dCBpbiBSVEwgZG9jdW1lbnRzPwogICAgICAgICByZXR1cm4gSW50UmVjdChzY3JvbGxPcmlnaW4o
KSArIG1fc2Nyb2xsT2Zmc2V0LCByb3VuZGVkSW50U2l6ZShtX3Vub2JzY3VyZWRDb250ZW50U2l6
ZSkpOworICAgIH0KIAogICAgIHJldHVybiB1bm9ic2N1cmVkQ29udGVudFJlY3RJbnRlcm5hbCgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFj
Lm1tCmluZGV4IDk4ZGRlZDc5OWJlNGMzMzdkMDE5ZjI4OTFlYjVhMWQ5YWU5ZTVlNjcuLjRiMzU5
YWQ2YWM3OGM4ZDIwZmQ2YTJmNmNlYTkyOWM4MTA2OTliY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KQEAgLTExNTQsMTggKzExNTQs
MTggQEAgYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6cGlubmVkSW5EaXJlY3Rpb24oY29uc3QgRmxv
YXRTaXplJiBkaXJlY3Rpb24pCiAgICAgRmxvYXRTaXplIGxpbWl0RGVsdGE7CiAgICAgaWYgKGZh
YnNmKGRpcmVjdGlvbi5oZWlnaHQoKSkgPj0gZmFic2YoZGlyZWN0aW9uLndpZHRoKCkpKSB7CiAg
ICAgICAgIGlmIChkaXJlY3Rpb24uaGVpZ2h0KCkgPCAwKSB7Ci0gICAgICAgICAgICAvLyBXZSBh
cmUgdHJ5aW5nIHRvIHNjcm9sbCB1cC4gIE1ha2Ugc3VyZSB3ZSBhcmUgbm90IHBpbm5lZCB0byB0
aGUgdG9wCisgICAgICAgICAgICAvLyBXZSBhcmUgdHJ5aW5nIHRvIHNjcm9sbCB1cC4gTWFrZSBz
dXJlIHdlIGFyZSBub3QgcGlubmVkIHRvIHRoZSB0b3AKICAgICAgICAgICAgIGxpbWl0RGVsdGEu
c2V0SGVpZ2h0KG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZUNvbnRlbnRSZWN0KCkueSgpICsgbV9z
Y3JvbGxhYmxlQXJlYS5zY3JvbGxPcmlnaW4oKS55KCkpOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgLy8gV2UgYXJlIHRyeWluZyB0byBzY3JvbGwgZG93bi4gIE1ha2Ugc3VyZSB3ZSBh
cmUgbm90IHBpbm5lZCB0byB0aGUgYm90dG9tCisgICAgICAgICAgICAvLyBXZSBhcmUgdHJ5aW5n
IHRvIHNjcm9sbCBkb3duLiBNYWtlIHN1cmUgd2UgYXJlIG5vdCBwaW5uZWQgdG8gdGhlIGJvdHRv
bQogICAgICAgICAgICAgbGltaXREZWx0YS5zZXRIZWlnaHQobV9zY3JvbGxhYmxlQXJlYS50b3Rh
bENvbnRlbnRzU2l6ZSgpLmhlaWdodCgpIC0gKG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZUNvbnRl
bnRSZWN0KCkubWF4WSgpICsgbV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxPcmlnaW4oKS55KCkpKTsK
ICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uLndpZHRoKCkpIHsKICAgICAgICAg
aWYgKGRpcmVjdGlvbi53aWR0aCgpIDwgMCkgewotICAgICAgICAgICAgLy8gV2UgYXJlIHRyeWlu
ZyB0byBzY3JvbGwgbGVmdC4gIE1ha2Ugc3VyZSB3ZSBhcmUgbm90IHBpbm5lZCB0byB0aGUgbGVm
dAorICAgICAgICAgICAgLy8gV2UgYXJlIHRyeWluZyB0byBzY3JvbGwgbGVmdC4gTWFrZSBzdXJl
IHdlIGFyZSBub3QgcGlubmVkIHRvIHRoZSBsZWZ0CiAgICAgICAgICAgICBsaW1pdERlbHRhLnNl
dFdpZHRoKG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZUNvbnRlbnRSZWN0KCkueCgpICsgbV9zY3Jv
bGxhYmxlQXJlYS5zY3JvbGxPcmlnaW4oKS54KCkpOwogICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgLy8gV2UgYXJlIHRyeWluZyB0byBzY3JvbGwgcmlnaHQuICBNYWtlIHN1cmUgd2UgYXJl
IG5vdCBwaW5uZWQgdG8gdGhlIHJpZ2h0CisgICAgICAgICAgICAvLyBXZSBhcmUgdHJ5aW5nIHRv
IHNjcm9sbCByaWdodC4gTWFrZSBzdXJlIHdlIGFyZSBub3QgcGlubmVkIHRvIHRoZSByaWdodAog
ICAgICAgICAgICAgbGltaXREZWx0YS5zZXRXaWR0aChtX3Njcm9sbGFibGVBcmVhLnRvdGFsQ29u
dGVudHNTaXplKCkud2lkdGgoKSAtIChtX3Njcm9sbGFibGVBcmVhLnZpc2libGVDb250ZW50UmVj
dCgpLm1heFgoKSArIG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsT3JpZ2luKCkueCgpKSk7CiAgICAg
ICAgIH0KICAgICB9CkBAIC0xMjg0LDcgKzEyODQsOCBAQCBib29sIFNjcm9sbEFuaW1hdG9yTWFj
OjpzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uKQogCiBJbnRQb2lu
dCBTY3JvbGxBbmltYXRvck1hYzo6YWJzb2x1dGVTY3JvbGxQb3NpdGlvbigpCiB7Ci0gICAgcmV0
dXJuIG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZUNvbnRlbnRSZWN0KCkubG9jYXRpb24oKSArIG1f
c2Nyb2xsYWJsZUFyZWEuc2Nyb2xsT3JpZ2luKCk7CisgICAgLy8gRklYTUU6IGNhbiB0aGlzIHVz
ZSBtX3Njcm9sbGFibGVBcmVhLnNjcm9sbFBvc2l0aW9uKCk/CisgICAgcmV0dXJuIG1fc2Nyb2xs
YWJsZUFyZWEuc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJs
ZUNvbnRlbnRSZWN0KCkubG9jYXRpb24oKSk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6
OmltbWVkaWF0ZVNjcm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxv
YXRTaXplJiBkZWx0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmlu
ZGV4IDMyYmJiNWMxMzBjNzAxY2YxZDkwODU5MDY2MjgwNzAxMjQwN2VhZmMuLjk3YmMxOTI2ZGMw
MWZhMmY4NjU0M2E0YTUwMzJlNWE5ZmI2NDA2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcApAQCAtMjc0MiwxOCArMjc0MiwxNCBAQCBpbnQgUmVuZGVyTGF5ZXI6
OnNjcm9sbFBvc2l0aW9uKFNjcm9sbGJhciogc2Nyb2xsYmFyKSBjb25zdAogCiBTY3JvbGxQb3Np
dGlvbiBSZW5kZXJMYXllcjo6c2Nyb2xsUG9zaXRpb24oKSBjb25zdAogeworICAgIC8vIEZJWE1F
OiBUaGlzIG5lZWRzIHNjcm9sbE9mZnNldC9zY3JvbGxQb3NpdGlvbiBkaXNhbWJpZ3VhdGlvbi4K
ICAgICByZXR1cm4gU2Nyb2xsUG9zaXRpb24obV9zY3JvbGxPZmZzZXQpOwogfQogCi1TY3JvbGxQ
b3NpdGlvbiBSZW5kZXJMYXllcjo6bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gLXNjcm9sbE9yaWdpbigpOwotfQotCiBTY3JvbGxQb3NpdGlvbiBSZW5kZXJMYXll
cjo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogbV9zY3Jv
bGxTaXplIG1heSBub3QgYmUgdXAtdG8tZGF0ZSBpZiBtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSBp
cyB0cnVlLgotICAgIHJldHVybiAtc2Nyb2xsT3JpZ2luKCkgKyByb3VuZGVkSW50U2l6ZShtX3Nj
cm9sbFNpemUpIC0gdmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkaW5nU2Nyb2xsYmFycyhDb250ZW50
c1Zpc2libGVSZWN0KS5zaXplKCk7CisgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNl
dChyb3VuZGVkSW50UG9pbnQobV9zY3JvbGxTaXplKSAtIHZpc2libGVDb250ZW50UmVjdEluY2x1
ZGluZ1Njcm9sbGJhcnMoQ29udGVudHNWaXNpYmxlUmVjdCkuc2l6ZSgpKTsKIH0KIAogSW50UmVj
dCBSZW5kZXJMYXllcjo6dmlzaWJsZUNvbnRlbnRSZWN0SW50ZXJuYWwoVmlzaWJsZUNvbnRlbnRS
ZWN0SW5jbHVkZXNTY3JvbGxiYXJzIHNjcm9sbGJhckluY2x1c2lvbiwgVmlzaWJsZUNvbnRlbnRS
ZWN0QmVoYXZpb3IpIGNvbnN0CkBAIC0yNzczLDE3ICsyNzY5LDE3IEBAIEludFNpemUgUmVuZGVy
TGF5ZXI6Om92ZXJoYW5nQW1vdW50KCkgY29uc3QKIAogICAgIEludFNpemUgc3RyZXRjaDsKIAot
ICAgIGludCBwaHlzaWNhbFNjcm9sbFkgPSBzY3JvbGxQb3NpdGlvbigpLnkoKSArIHNjcm9sbE9y
aWdpbigpLnkoKTsKLSAgICBpZiAocGh5c2ljYWxTY3JvbGxZIDwgMCkKLSAgICAgICAgc3RyZXRj
aC5zZXRIZWlnaHQocGh5c2ljYWxTY3JvbGxZKTsKLSAgICBlbHNlIGlmIChzY3JvbGxhYmxlQ29u
dGVudHNTaXplKCkuaGVpZ2h0KCkgJiYgcGh5c2ljYWxTY3JvbGxZID4gc2Nyb2xsYWJsZUNvbnRl
bnRzU2l6ZSgpLmhlaWdodCgpIC0gdmlzaWJsZUhlaWdodCgpKQotICAgICAgICBzdHJldGNoLnNl
dEhlaWdodChwaHlzaWNhbFNjcm9sbFkgLSAoc2Nyb2xsYWJsZUNvbnRlbnRzU2l6ZSgpLmhlaWdo
dCgpIC0gdmlzaWJsZUhlaWdodCgpKSk7Ci0KLSAgICBpbnQgcGh5c2ljYWxTY3JvbGxYID0gc2Ny
b2xsUG9zaXRpb24oKS54KCkgKyBzY3JvbGxPcmlnaW4oKS54KCk7Ci0gICAgaWYgKHBoeXNpY2Fs
U2Nyb2xsWCA8IDApCi0gICAgICAgIHN0cmV0Y2guc2V0V2lkdGgocGh5c2ljYWxTY3JvbGxYKTsK
LSAgICBlbHNlIGlmIChzY3JvbGxhYmxlQ29udGVudHNTaXplKCkud2lkdGgoKSAmJiBwaHlzaWNh
bFNjcm9sbFggPiBzY3JvbGxhYmxlQ29udGVudHNTaXplKCkud2lkdGgoKSAtIHZpc2libGVXaWR0
aCgpKQotICAgICAgICBzdHJldGNoLnNldFdpZHRoKHBoeXNpY2FsU2Nyb2xsWCAtIChzY3JvbGxh
YmxlQ29udGVudHNTaXplKCkud2lkdGgoKSAtIHZpc2libGVXaWR0aCgpKSk7CisgICAgLy8gRklY
TUU6IHVzZSBtYXhpbXVtU2Nyb2xsT2Zmc2V0KCkKKyAgICBTY3JvbGxPZmZzZXQgc2Nyb2xsT2Zm
c2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHNjcm9sbE9yaWdpbigpKTsKKyAgICBpZiAo
c2Nyb2xsT2Zmc2V0LnkoKSA8IDApCisgICAgICAgIHN0cmV0Y2guc2V0SGVpZ2h0KHNjcm9sbE9m
ZnNldC55KCkpOworICAgIGVsc2UgaWYgKHNjcm9sbGFibGVDb250ZW50c1NpemUoKS5oZWlnaHQo
KSAmJiBzY3JvbGxPZmZzZXQueSgpID4gc2Nyb2xsYWJsZUNvbnRlbnRzU2l6ZSgpLmhlaWdodCgp
IC0gdmlzaWJsZUhlaWdodCgpKQorICAgICAgICBzdHJldGNoLnNldEhlaWdodChzY3JvbGxPZmZz
ZXQueSgpIC0gKHNjcm9sbGFibGVDb250ZW50c1NpemUoKS5oZWlnaHQoKSAtIHZpc2libGVIZWln
aHQoKSkpOworCisgICAgaWYgKHNjcm9sbE9mZnNldC54KCkgPCAwKQorICAgICAgICBzdHJldGNo
LnNldFdpZHRoKHNjcm9sbE9mZnNldC54KCkpOworICAgIGVsc2UgaWYgKHNjcm9sbGFibGVDb250
ZW50c1NpemUoKS53aWR0aCgpICYmIHNjcm9sbE9mZnNldC54KCkgPiBzY3JvbGxhYmxlQ29udGVu
dHNTaXplKCkud2lkdGgoKSAtIHZpc2libGVXaWR0aCgpKQorICAgICAgICBzdHJldGNoLnNldFdp
ZHRoKHNjcm9sbE9mZnNldC54KCkgLSAoc2Nyb2xsYWJsZUNvbnRlbnRzU2l6ZSgpLndpZHRoKCkg
LSB2aXNpYmxlV2lkdGgoKSkpOwogCiAgICAgcmV0dXJuIHN0cmV0Y2g7CiAjZWxzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA2NjQ0OTJkNDAxNGYyMjAwYTJjMTM5
Y2U2Y2VlZjI3MzgwMzVhMDFmLi5jYjE1OTE0NTczZTFiNTA2OWZiYjUxOTQ4ZTI3ODQ3NzhmZmEz
OTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtODY0LDkgKzg2
NCwxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgSW50UG9pbnQgY29udmVydEZyb21Db250YWlu
aW5nVmlld1RvU2Nyb2xsYmFyKGNvbnN0IFNjcm9sbGJhciosIGNvbnN0IEludFBvaW50JikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBpbnQgc2Nyb2xsU2l6ZShTY3JvbGxiYXJPcmllbnRh
dGlvbikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbE9mZnNldChj
b25zdCBJbnRQb2ludCYpIG92ZXJyaWRlOworCiAgICAgdmlydHVhbCBTY3JvbGxQb3NpdGlvbiBz
Y3JvbGxQb3NpdGlvbigpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgU2Nyb2xsUG9zaXRp
b24gbWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBT
Y3JvbGxQb3NpdGlvbiBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdCBvdmVycmlkZTsKKwog
ICAgIHZpcnR1YWwgSW50UmVjdCB2aXNpYmxlQ29udGVudFJlY3RJbnRlcm5hbChWaXNpYmxlQ29u
dGVudFJlY3RJbmNsdWRlc1Njcm9sbGJhcnMsIFZpc2libGVDb250ZW50UmVjdEJlaGF2aW9yKSBj
b25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEludFNpemUgdmlzaWJsZVNpemUoKSBjb25zdCBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIEludFNpemUgY29udGVudHNTaXplKCkgY29uc3Qgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCAzMjk0YzRhYWU1
ZjEwY2NjYWUyZWIwY2UxNDJjM2E2NTBkNjMyMWU1Li5kMWNkYjU2NzE3NGVhNTg1YzU4NDlmYzA5
MTBmNjYyY2RmNDViMzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0K
QEAgLTI3MCw4ICsyNzAsOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjp1cGRh
dGVTY3JvbGxlZEV4cG9zZWRSZWN0KCkKIAogI2lmICFQTEFURk9STShJT1MpCiAgICAgaWYgKCFt
X2V4cG9zZWRSZWN0LmlzSW5maW5pdGUoKSkgewotICAgICAgICBJbnRQb2ludCBzY3JvbGxQb3Np
dGlvbldpdGhPcmlnaW4gPSBmcmFtZVZpZXctPnNjcm9sbFBvc2l0aW9uKCkgKyB0b0ludFNpemUo
ZnJhbWVWaWV3LT5zY3JvbGxPcmlnaW4oKSk7Ci0gICAgICAgIG1fc2Nyb2xsZWRFeHBvc2VkUmVj
dC5tb3ZlQnkoc2Nyb2xsUG9zaXRpb25XaXRoT3JpZ2luKTsKKyAgICAgICAgU2Nyb2xsT2Zmc2V0
IHNjcm9sbE9mZnNldCA9IGZyYW1lVmlldy0+c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKGZyYW1l
Vmlldy0+c2Nyb2xsUG9zaXRpb24oKSk7CisgICAgICAgIG1fc2Nyb2xsZWRFeHBvc2VkUmVjdC5t
b3ZlQnkoc2Nyb2xsT2Zmc2V0KTsKICAgICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggMjcyNzI4OTBjNDE0Y2Q5MDYxYTcyYjFjMDE3
MTFlZmZmOTQ1MGQ1MS4uYjlmOWFkNjAwNGNhNDAxYmFiOGJlZjhlNmIwYTBkNzBhZDE5M2Y0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC01MTIsOCAr
NTEyLDggQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlU2Nyb2xs
ZWRFeHBvc2VkUmVjdCgpCiAKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIGlmICghbV9leHBvc2Vk
UmVjdC5pc0luZmluaXRlKCkpIHsKLSAgICAgICAgSW50UG9pbnQgc2Nyb2xsUG9zaXRpb25XaXRo
T3JpZ2luID0gZnJhbWVWaWV3LT5zY3JvbGxQb3NpdGlvbigpICsgdG9JbnRTaXplKGZyYW1lVmll
dy0+c2Nyb2xsT3JpZ2luKCkpOwotICAgICAgICBtX3Njcm9sbGVkRXhwb3NlZFJlY3QubW92ZUJ5
KHNjcm9sbFBvc2l0aW9uV2l0aE9yaWdpbik7CisgICAgICAgIFNjcm9sbE9mZnNldCBzY3JvbGxP
ZmZzZXQgPSBmcmFtZVZpZXctPnNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihmcmFtZVZpZXctPnNj
cm9sbFBvc2l0aW9uKCkpOworICAgICAgICBtX3Njcm9sbGVkRXhwb3NlZFJlY3QubW92ZUJ5KHNj
cm9sbE9mZnNldCk7CiAgICAgfQogI2VuZGlmCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>