<?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>230324</bug_id>
          
          <creation_ts>2021-09-15 16:20:10 -0700</creation_ts>
          <short_desc>Clean up the ScrollAnimator interface a little</short_desc>
          <delta_ts>2021-09-18 12:06:16 -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>
          
          <blocked>230444</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>mmaxfield</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1793882</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-15 16:20:10 -0700</bug_when>
    <thetext>Clean up the ScrollAnimator interface a little</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793884</commentid>
    <comment_count>1</comment_count>
      <attachid>438301</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-15 16:22:12 -0700</bug_when>
    <thetext>Created attachment 438301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794780</commentid>
    <comment_count>2</comment_count>
      <attachid>438561</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-18 10:41:38 -0700</bug_when>
    <thetext>Created attachment 438561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794787</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-18 12:05:34 -0700</bug_when>
    <thetext>Committed r282728 (241865@main): &lt;https://commits.webkit.org/241865@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438561.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794788</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-18 12:06:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83273126&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438301</attachid>
            <date>2021-09-15 16:22:12 -0700</date>
            <delta_ts>2021-09-18 10:41:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230324-20210915162211.patch</filename>
            <type>text/plain</type>
            <size>10321</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FiYjQwZjg2NDczY2I4
ZjBjYTI0MDBhMzcyZjFmY2U2ODhlNzBkMy4uNDhjMzU2MjMwNDJlYTRkOTRhODliZDJiOTc4M2I5
NWJkZGU3NWI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA5LTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHRo
ZSBTY3JvbGxBbmltYXRvciBpbnRlcmZhY2UgYSBsaXR0bGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDMyNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZHVjZSBicmFpbnByaW50IGJ5IHJlbW92aW5n
IHRoZSAic2Nyb2xsIHRvIG9mZnNldCIgdmFyaWFudHM7IGhhdmUgdGhlIGNhbGxlciAKKyAgICAg
ICAgZG8gb2Zmc2V0IC0+IHBvc2l0aW9uIGNvbnZlcnNpb24gaW5zdGVhZC4KKworICAgICAgICBN
b3ZlIHZpcnR1YWwgZnVuY3Rpb25zIGNsb3NlIHRvZ2V0aGVyLiBSZW1vdmUgdXBkYXRlU2Nyb2xs
U25hcFN0YXRlKCkKKyAgICAgICAgd2hpY2ggd2FzIHVuaW1wbGVtZW50ZWQuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvcjo6aW1tZWRpYXRlU2Nyb2xsT25BeGlzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24pOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlv
bik6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGxhYmxlQXJlYSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxT
bmFwKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpjdXJyZW50UG9zaXRpb24g
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OmhhdmVTY3JvbGxlZFNp
bmNlUGFnZUxvYWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNl
dEhhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzY3JvbGxUb09m
ZnNldFdpdGhvdXRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OmRvUG9zdFRodW1iTW92ZVNuYXBwaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW06CisKIDIwMjEtMDktMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIFNjcm9sbENvbnRyb2xsZXIgdG8gU2NvbGxp
bmdFZmZlY3RzQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwCmluZGV4IGNlZGQ5NjgwYzM5YzRmYjdjMTZhZGFlODAwYjFkNTQ5NjczYzQ1ZTMuLmM2
ZDAzODUwM2JhOWUwZDQ3MzNiMTBjMTIzNzg1YWIxYmIwMGRkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTEwOSwxMSArMTA5LDYgQEAgYm9vbCBT
Y3JvbGxBbmltYXRvcjo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBT
Y3JvbGxHcmFudWxhcml0eQogICAgIHJldHVybiBzY3JvbGxUb1Bvc2l0aW9uV2l0aG91dEFuaW1h
dGlvbihjdXJyZW50UG9zaXRpb24oKSArIGRlbHRhKTsKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRv
cjo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNl
dCwgU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpCi17Ci0gICAgcmV0dXJuIHNjcm9sbFRvUG9zaXRp
b25XaXRob3V0QW5pbWF0aW9uKFNjcm9sbGFibGVBcmVhOjpzY3JvbGxQb3NpdGlvbkZyb21PZmZz
ZXQob2Zmc2V0LCB0b0Zsb2F0U2l6ZShzY3JvbGxhYmxlQXJlYSgpLnNjcm9sbE9yaWdpbigpKSks
IGNsYW1waW5nKTsKLX0KLQogYm9vbCBTY3JvbGxBbmltYXRvcjo6c2Nyb2xsVG9Qb3NpdGlvbldp
dGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5n
IGNsYW1waW5nKQogewogICAgIEZsb2F0UG9pbnQgY3VycmVudFBvc2l0aW9uID0gdGhpcy0+Y3Vy
cmVudFBvc2l0aW9uKCk7CkBAIC0xMzEsMTEgKzEyNiw2IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6
OnNjcm9sbFRvUG9zaXRpb25XaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0
aW9uCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFRv
T2Zmc2V0V2l0aEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50JiBvZmZzZXQpCi17Ci0gICAgcmV0
dXJuIHNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKFNjcm9sbGFibGVBcmVhOjpzY3JvbGxQ
b3NpdGlvbkZyb21PZmZzZXQob2Zmc2V0LCB0b0Zsb2F0U2l6ZShzY3JvbGxhYmxlQXJlYSgpLnNj
cm9sbE9yaWdpbigpKSkpOwotfQotCiBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxUb1Bvc2l0
aW9uV2l0aEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50JiBuZXdQb3NpdGlvbikKIHsKICAgICBi
b29sIHBvc2l0aW9uQ2hhbmdlZCA9IG5ld1Bvc2l0aW9uICE9IGN1cnJlbnRQb3NpdGlvbigpOwpA
QCAtMzAzLDcgKzI5Myw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9sbE9u
QXhpcyhTY3JvbGxFdmVudEF4aXMgYXhpcywgZmxvYXQgZGVsdGEpCiAgICAgZWxzZQogICAgICAg
ICBkZWx0YVNpemUuc2V0SGVpZ2h0KGRlbHRhKTsKIAotICAgIHNjcm9sbFRvT2Zmc2V0V2l0aG91
dEFuaW1hdGlvbihjdXJyZW50UG9zaXRpb24oKSArIGRlbHRhU2l6ZSk7CisgICAgc2Nyb2xsVG9Q
b3NpdGlvbldpdGhvdXRBbmltYXRpb24oY3VycmVudFBvc2l0aW9uKCkgKyBkZWx0YVNpemUpOwog
fQogCiBMYXlvdXRTaXplIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxFeHRlbnQoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggNTQzYWU2MTk1NzEwYjAw
ZGYxZmM5MDQxNzRlMGJjZGQ1NzY0ZjQzMC4uYjRiNjRmNTA2MTVlM2QxZjg2MmY1MDI5N2I1MTcy
NDg4M2QyMTY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCkBA
IC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY3JvbGxBbmltYXRvcihTY3Jv
bGxhYmxlQXJlYSYpOwogICAgIHZpcnR1YWwgflNjcm9sbEFuaW1hdG9yKCk7CiAKKyAgICBTY3Jv
bGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVB
cmVhOyB9CisKICAgICBlbnVtIFNjcm9sbEJlaGF2aW9yIHsKICAgICAgICAgRG9EaXJlY3Rpb25h
bFNuYXBwaW5nID0gMSA8PCAwLAogICAgICAgICBOZXZlckFuaW1hdGUgPSAxIDw8IDEsCkBAIC03
MCwzNCArNzIsMjIgQEAgcHVibGljOgogICAgIC8vIFRoZSBiYXNlIGNsYXNzIGltcGxlbWVudGF0
aW9uIGFsd2F5cyBzY3JvbGxzIGltbWVkaWF0ZWx5LCBuZXZlciBhbmltYXRlcy4KICAgICB2aXJ0
dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwg
ZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllciwgT3B0aW9uU2V0PFNjcm9sbEJlaGF2aW9yPik7
CiAKLSAgICBib29sIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjb25zdCBGbG9hdFBv
aW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7Ci0gICAgdmly
dHVhbCBib29sIHNjcm9sbFRvUG9zaXRpb25XaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9p
bnQmIHBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmV0YXJnZXRSdW5uaW5nQW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9p
bnQmKTsKLQotICAgIGJvb2wgc2Nyb2xsVG9PZmZzZXRXaXRoQW5pbWF0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsVG9Qb3NpdGlvbldpdGhvdXRBbmltYXRp
b24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNs
YW1wZWQpOwogICAgIHZpcnR1YWwgYm9vbCBzY3JvbGxUb1Bvc2l0aW9uV2l0aEFuaW1hdGlvbihj
b25zdCBGbG9hdFBvaW50Jik7CiAKLSAgICBTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEo
KSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhOyB9Ci0KLSAgICB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoKSBjb25zdDsKLQotICAgIGJvb2wgaGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9h
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9hZDsgfQotICAgIHZv
aWQgc2V0SGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9hZChib29sIGhhdmVTY3JvbGxlZCkgeyBtX2hh
dmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQgPSBoYXZlU2Nyb2xsZWQ7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgcmV0YXJnZXRSdW5uaW5nQW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKTsKIAogICAgIHZp
cnR1YWwgYm9vbCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwog
Ci0gICAgS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciAqa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRv
cigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5n
ZXQoKTsgfQotCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICB2aXJ0dWFsIGJvb2wgaGFu
ZGxlVG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmKTsKLSNlbmRpZgorICAgIHZp
cnR1YWwgYm9vbCBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JikgeyByZXR1cm4gZmFsc2U7IH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVXaGVlbEV2ZW50UGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2UpIHsgfQogI2VuZGlmCiAKLSAgICB2b2lkIHNldEN1cnJlbnRQb3NpdGlvbihjb25zdCBGbG9h
dFBvaW50Jik7Ci0gICAgY29uc3QgRmxvYXRQb2ludCYgY3VycmVudFBvc2l0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9jdXJyZW50UG9zaXRpb247IH0KKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQor
ICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVUb3VjaEV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVu
dCYpOworI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsQW5pbWF0aW9ucygpOwogCkBA
IC0xMDUsNiArOTUsMTYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1J1YmJlckJhbmRJ
blByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNT
Y3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICB2b2lk
IGNvbnRlbnRzU2l6ZUNoYW5nZWQoKSBjb25zdDsKKworICAgIHZvaWQgc2V0Q3VycmVudFBvc2l0
aW9uKGNvbnN0IEZsb2F0UG9pbnQmKTsKKyAgICBjb25zdCBGbG9hdFBvaW50JiBjdXJyZW50UG9z
aXRpb24oKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRQb3NpdGlvbjsgfQorCisgICAgYm9vbCBo
YXZlU2Nyb2xsZWRTaW5jZVBhZ2VMb2FkKCkgY29uc3QgeyByZXR1cm4gbV9oYXZlU2Nyb2xsZWRT
aW5jZVBhZ2VMb2FkOyB9CisgICAgdm9pZCBzZXRIYXZlU2Nyb2xsZWRTaW5jZVBhZ2VMb2FkKGJv
b2wgaGF2ZVNjcm9sbGVkKSB7IG1faGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9hZCA9IGhhdmVTY3Jv
bGxlZDsgfQorCisgICAgS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciAqa2V5Ym9hcmRTY3JvbGxp
bmdBbmltYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fa2V5Ym9hcmRTY3JvbGxpbmdB
bmltYXRvci5nZXQoKTsgfQorCiAgICAgdm9pZCBzZXRXaGVlbEV2ZW50VGVzdE1vbml0b3IoUmVm
UHRyPFdoZWVsRXZlbnRUZXN0TW9uaXRvcj4mJiB0ZXN0TW9uaXRvcikgeyBtX3doZWVsRXZlbnRU
ZXN0TW9uaXRvciA9IHRlc3RNb25pdG9yOyB9CiAgICAgV2hlZWxFdmVudFRlc3RNb25pdG9yKiB3
aGVlbEV2ZW50VGVzdE1vbml0b3IoKSBjb25zdCB7IHJldHVybiBtX3doZWVsRXZlbnRUZXN0TW9u
aXRvci5nZXQoKTsgfQogCkBAIC0xMTgsOCArMTE4LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBz
Y3JvbGxDb250cm9sbGVyQW5pbWF0aW9uVGltZXJGaXJlZCgpOwogCi0gICAgdmlydHVhbCBib29s
IHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
KSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZvaWQgdXBkYXRlU2Nyb2xsU25hcFN0YXRlKCk7CiAg
ICAgYm9vbCBhY3RpdmVTY3JvbGxTbmFwSW5kZXhEaWRDaGFuZ2UoKSBjb25zdDsKICAgICBzdGQ6
Om9wdGlvbmFsPHVuc2lnbmVkPiBhY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2
ZW50QXhpcykgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlz
KFNjcm9sbEV2ZW50QXhpcywgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gaW5kZXgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDBlMTBhYjYyM2UxNzUw
ZTRiMjAwMzdlZmE4ZTliMjBiYjA0NjhiNWIuLjhjYTdhNTliMmVlODJiZjc5ZjJjYTQ2NDcyMTI0
OWQwMDcxMTQ3MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHAKQEAgLTE2MSwxNiArMTYxLDE4IEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvUG9z
aXRpb25XaXRoQW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBTCiB2b2lkIFNj
cm9sbGFibGVBcmVhOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQ
b2ludCYgb2Zmc2V0LCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKIHsKICAgICBMT0dfV0lUSF9T
VFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGFibGVBcmVhICIgPDwgdGhpcyA8PCAi
IHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbiAiIDw8IG9mZnNldCk7Ci0gICAgc2Nyb2xs
QW5pbWF0b3IoKS5zY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24ob2Zmc2V0LCBjbGFtcGlu
Zyk7CisKKyAgICBhdXRvIHBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KG9mZnNl
dCwgdG9GbG9hdFNpemUoc2Nyb2xsT3JpZ2luKCkpKTsKKyAgICBzY3JvbGxBbmltYXRvcigpLnNj
cm9sbFRvUG9zaXRpb25XaXRob3V0QW5pbWF0aW9uKHBvc2l0aW9uLCBjbGFtcGluZyk7CiB9CiAK
IHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihTY3Jv
bGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgZmxvYXQgb2Zmc2V0KQogewotICAgIGF1dG8g
Y3VycmVudE9mZnNldCA9IHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihJbnRQb2ludChzY3JvbGxB
bmltYXRvcigpLmN1cnJlbnRQb3NpdGlvbigpKSk7CisgICAgYXV0byBjdXJyZW50UG9zaXRpb24g
PSBzY3JvbGxBbmltYXRvcigpLmN1cnJlbnRQb3NpdGlvbigpOwogICAgIGlmIChvcmllbnRhdGlv
biA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQotICAgICAgICBzY3JvbGxBbmltYXRvcigpLnNjcm9s
bFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihGbG9hdFBvaW50KG9mZnNldCwgY3VycmVudE9mZnNl
dC55KCkpKTsKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zY3JvbGxUb1Bvc2l0aW9uV2l0aG91
dEFuaW1hdGlvbihGbG9hdFBvaW50KG9mZnNldCwgY3VycmVudFBvc2l0aW9uLnkoKSkpOwogICAg
IGVsc2UKLSAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5zY3JvbGxUb09mZnNldFdpdGhvdXRBbmlt
YXRpb24oRmxvYXRQb2ludChjdXJyZW50T2Zmc2V0LngoKSwgb2Zmc2V0KSk7CisgICAgICAgIHNj
cm9sbEFuaW1hdG9yKCkuc2Nyb2xsVG9Qb3NpdGlvbldpdGhvdXRBbmltYXRpb24oRmxvYXRQb2lu
dChjdXJyZW50UG9zaXRpb24ueCgpLCBvZmZzZXQpKTsKIH0KIAogdm9pZCBTY3JvbGxhYmxlQXJl
YTo6bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbikKQEAgLTU2NiwxMCArNTY4LDEyIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OmRvUG9zdFRo
dW1iTW92ZVNuYXBwaW5nKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogICAgICAg
ICBuZXdPZmZzZXQuc2V0WChzY3JvbGxBbmltYXRvci0+YWRqdXN0U2Nyb2xsT2Zmc2V0Rm9yU25h
cHBpbmdJZk5lZWRlZChTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwsIGN1cnJlbnRPZmZzZXQs
IFNjcm9sbFNuYXBQb2ludFNlbGVjdGlvbk1ldGhvZDo6Q2xvc2VzdCkpOwogICAgIGVsc2UKICAg
ICAgICAgbmV3T2Zmc2V0LnNldFkoc2Nyb2xsQW5pbWF0b3ItPmFkanVzdFNjcm9sbE9mZnNldEZv
clNuYXBwaW5nSWZOZWVkZWQoU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCwgY3VycmVudE9mZnNl
dCwgU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpDbG9zZXN0KSk7CisKICAgICBpZiAo
bmV3T2Zmc2V0ID09IGN1cnJlbnRPZmZzZXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNjcm9s
bEFuaW1hdG9yLT5zY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24obmV3T2Zmc2V0KTsKKyAgICBh
dXRvIHBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KG5ld09mZnNldCk7CisgICAg
c2Nyb2xsQW5pbWF0b3ItPnNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9uKHBvc2l0aW9uKTsK
IH0KIAogYm9vbCBTY3JvbGxhYmxlQXJlYTo6aXNQaW5uZWRGb3JTY3JvbGxEZWx0YU9uQXhpcyhm
bG9hdCBzY3JvbGxEZWx0YSwgU2Nyb2xsRXZlbnRBeGlzIGF4aXMpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggYzQ3NDkw
ZmI3ZGY2ODZiNDE1Mzg5NDU3YTQ1N2FjZWJjNWE2ZDI5YS4uZjcyZDg3NmNlMjhhMGE3ZjAwZDI2
YjRmYTg3YWEyMmFmMzExZmFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTkyLDYgKzE5Miw3IEBAIHN0YXRpYyBib29sIHJ1
YmJlckJhbmRpbmdFbmFibGVkRm9yU3lzdGVtKCkKIH0KICNlbmRpZgogCisvLyBDYWxsZWQgZm9y
IGtleWJvYXJkIHNjcm9sbGluZywgYW5kIHNvbWUgbm9uLXRocmVhZGVkIHdoZWVsIGV2ZW50IHNj
cm9sbHMgaW4gPHNlbGVjdD4gbGlzdHMuCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpzY3JvbGwo
U2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51
bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyLCBPcHRpb25TZXQ8U2Nyb2xsQmVo
YXZpb3I+IGJlaGF2aW9yKQogewogICAgIHNldEhhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQodHJ1
ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438561</attachid>
            <date>2021-09-18 10:41:38 -0700</date>
            <delta_ts>2021-09-18 12:05:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230324-20210918104137.patch</filename>
            <type>text/plain</type>
            <size>9624</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ0ZjgyMDA3OWM0NjQy
ZWQ4YjNlNTc4NzM5YjhhZDM4ZGVmYmMxOS4uYzk2MzRlMjNhZjA3NjUyOTllNDViMzYxYTExZGRk
ZWM5ZGFmYjI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA5LTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHRo
ZSBTY3JvbGxBbmltYXRvciBpbnRlcmZhY2UgYSBsaXR0bGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDMyNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZHVjZSBicmFpbnByaW50IGJ5IHJlbW92aW5n
IHRoZSAic2Nyb2xsIHRvIG9mZnNldCIgdmFyaWFudHM7IGhhdmUgdGhlIGNhbGxlciAKKyAgICAg
ICAgZG8gb2Zmc2V0IC0+IHBvc2l0aW9uIGNvbnZlcnNpb24gaW5zdGVhZC4KKworICAgICAgICBN
b3ZlIHZpcnR1YWwgZnVuY3Rpb25zIGNsb3NlIHRvZ2V0aGVyLiBSZW1vdmUgdXBkYXRlU2Nyb2xs
U25hcFN0YXRlKCkKKyAgICAgICAgd2hpY2ggd2FzIHVuaW1wbGVtZW50ZWQuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvcjo6aW1tZWRpYXRlU2Nyb2xsT25BeGlzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24pOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlv
bik6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGxhYmxlQXJlYSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxT
bmFwKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpjdXJyZW50UG9zaXRpb24g
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OmhhdmVTY3JvbGxlZFNp
bmNlUGFnZUxvYWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNl
dEhhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzY3JvbGxUb09m
ZnNldFdpdGhvdXRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OmRvUG9zdFRodW1iTW92ZVNuYXBwaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW06CisKIDIwMjEtMDktMTggIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIHNrZWxldG9uIGltcGxlbWVudGF0aW9uIGZv
ciBmYWxsYmFjayBmb250IHN1cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yLmNwcAppbmRleCA4NDhjNDZmMjg1MDQ5NjllOTFmMDRlZDFiYzUxNWFlYjEwMGQwOWE1
Li5lZjg5NGY2MzU5ZWMxYmY1ZTI3ZDAyMmEzOTU4N2IzYmNmMzlhMDA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBAIC05MywxMSArOTMsNiBAQCBib29s
IFNjcm9sbEFuaW1hdG9yOjpzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24s
IFNjcm9sbEdyYW51bGFyaXR5CiAgICAgcmV0dXJuIHNjcm9sbFRvUG9zaXRpb25XaXRob3V0QW5p
bWF0aW9uKGN1cnJlbnRQb3NpdGlvbigpICsgZGVsdGEpOwogfQogCi1ib29sIFNjcm9sbEFuaW1h
dG9yOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYgb2Zm
c2V0LCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKLXsKLSAgICByZXR1cm4gc2Nyb2xsVG9Qb3Np
dGlvbldpdGhvdXRBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9m
ZnNldChvZmZzZXQsIHRvRmxvYXRTaXplKHNjcm9sbGFibGVBcmVhKCkuc2Nyb2xsT3JpZ2luKCkp
KSwgY2xhbXBpbmcpOwotfQotCiBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxUb1Bvc2l0aW9u
V2l0aG91dEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgU2Nyb2xsQ2xhbXBp
bmcgY2xhbXBpbmcpCiB7CiAgICAgRmxvYXRQb2ludCBjdXJyZW50UG9zaXRpb24gPSB0aGlzLT5j
dXJyZW50UG9zaXRpb24oKTsKQEAgLTExNSwxMSArMTEwLDYgQEAgYm9vbCBTY3JvbGxBbmltYXRv
cjo6c2Nyb2xsVG9Qb3NpdGlvbldpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9z
aXRpb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRvcjo6c2Nyb2xs
VG9PZmZzZXRXaXRoQW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNldCkKLXsKLSAgICBy
ZXR1cm4gc2Nyb2xsVG9Qb3NpdGlvbldpdGhBbmltYXRpb24oU2Nyb2xsYWJsZUFyZWE6OnNjcm9s
bFBvc2l0aW9uRnJvbU9mZnNldChvZmZzZXQsIHRvRmxvYXRTaXplKHNjcm9sbGFibGVBcmVhKCku
c2Nyb2xsT3JpZ2luKCkpKSk7Ci19Ci0KIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFRvUG9z
aXRpb25XaXRoQW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG5ld1Bvc2l0aW9uKQogewogICAg
IGJvb2wgcG9zaXRpb25DaGFuZ2VkID0gbmV3UG9zaXRpb24gIT0gY3VycmVudFBvc2l0aW9uKCk7
CkBAIC0yODYsNyArMjc2LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvcjo6aW1tZWRpYXRlU2Nyb2xs
T25BeGlzKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBmbG9hdCBkZWx0YSkKICAgICBlbHNlCiAgICAg
ICAgIGRlbHRhU2l6ZS5zZXRIZWlnaHQoZGVsdGEpOwogCi0gICAgc2Nyb2xsVG9PZmZzZXRXaXRo
b3V0QW5pbWF0aW9uKGN1cnJlbnRQb3NpdGlvbigpICsgZGVsdGFTaXplKTsKKyAgICBzY3JvbGxU
b1Bvc2l0aW9uV2l0aG91dEFuaW1hdGlvbihjdXJyZW50UG9zaXRpb24oKSArIGRlbHRhU2l6ZSk7
CiB9CiAKIExheW91dFNpemUgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbEV4dGVudCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCAzYzc2MTBlZWQ5OGVh
NDM2MTMyMjFkOTc0ODA2MDAxN2FiNmFjZDA1Li41YTY0YjJkODUzMTYwNmU3MDgwNzNhYzEwYmNi
ZmFhYjdmNDkwNzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgK
QEAgLTYwLDYgKzYwLDggQEAgcHVibGljOgogICAgIGV4cGxpY2l0IFNjcm9sbEFuaW1hdG9yKFNj
cm9sbGFibGVBcmVhJik7CiAgICAgdmlydHVhbCB+U2Nyb2xsQW5pbWF0b3IoKTsKIAorICAgIFNj
cm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJs
ZUFyZWE7IH0KKwogICAgIGVudW0gU2Nyb2xsQmVoYXZpb3IgewogICAgICAgICBEb0RpcmVjdGlv
bmFsU25hcHBpbmcgPSAxIDw8IDAsCiAgICAgICAgIE5ldmVyQW5pbWF0ZSA9IDEgPDwgMSwKQEAg
LTcxLDM0ICs3MywyMiBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGJhc2UgY2xhc3MgaW1wbGVtZW50
YXRpb24gYWx3YXlzIHNjcm9sbHMgaW1tZWRpYXRlbHksIG5ldmVyIGFuaW1hdGVzLgogICAgIHZp
cnR1YWwgYm9vbCBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5
LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyLCBPcHRpb25TZXQ8U2Nyb2xsQmVoYXZpb3I+
KTsKIAotICAgIGJvb2wgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKTsKLSAgICB2
aXJ0dWFsIGJvb2wgc2Nyb2xsVG9Qb3NpdGlvbldpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQ
b2ludCYgcG9zaXRpb24sIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQp
OwotICAgIHZpcnR1YWwgdm9pZCByZXRhcmdldFJ1bm5pbmdBbmltYXRpb24oY29uc3QgRmxvYXRQ
b2ludCYpOwotCi0gICAgYm9vbCBzY3JvbGxUb09mZnNldFdpdGhBbmltYXRpb24oY29uc3QgRmxv
YXRQb2ludCYpOworICAgIHZpcnR1YWwgYm9vbCBzY3JvbGxUb1Bvc2l0aW9uV2l0aG91dEFuaW1h
dGlvbihjb25zdCBGbG9hdFBvaW50JiwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6
Q2xhbXBlZCk7CiAgICAgdmlydHVhbCBib29sIHNjcm9sbFRvUG9zaXRpb25XaXRoQW5pbWF0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmKTsKIAotICAgIFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJl
YSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWE7IH0KLQotICAgIHZvaWQgY29udGVu
dHNTaXplQ2hhbmdlZCgpIGNvbnN0OwotCi0gICAgYm9vbCBoYXZlU2Nyb2xsZWRTaW5jZVBhZ2VM
b2FkKCkgY29uc3QgeyByZXR1cm4gbV9oYXZlU2Nyb2xsZWRTaW5jZVBhZ2VMb2FkOyB9Ci0gICAg
dm9pZCBzZXRIYXZlU2Nyb2xsZWRTaW5jZVBhZ2VMb2FkKGJvb2wgaGF2ZVNjcm9sbGVkKSB7IG1f
aGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9hZCA9IGhhdmVTY3JvbGxlZDsgfQorICAgIHZpcnR1YWwg
dm9pZCByZXRhcmdldFJ1bm5pbmdBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYpOwogCiAgICAg
dmlydHVhbCBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7
CiAKLSAgICBLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yICprZXlib2FyZFNjcm9sbGluZ0FuaW1h
dG9yKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9rZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9y
LmdldCgpOyB9Ci0KLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIHZpcnR1YWwgYm9vbCBo
YW5kbGVUb3VjaEV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYpOwotI2VuZGlmCisgICAg
dmlydHVhbCBib29sIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKSB7IHJldHVybiBmYWxzZTsgfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgdmlydHVhbCB2b2lkIGhhbmRsZVdoZWVsRXZlbnRQaGFzZShQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZSkgeyB9CiAjZW5kaWYKIAotICAgIHZvaWQgc2V0Q3VycmVudFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmKTsKLSAgICBjb25zdCBGbG9hdFBvaW50JiBjdXJyZW50UG9zaXRpb24oKSBjb25z
dCB7IHJldHVybiBtX2N1cnJlbnRQb3NpdGlvbjsgfQorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CisgICAgdmlydHVhbCBib29sIGhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaEV2
ZW50Jik7CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxBbmltYXRpb25zKCk7CiAK
QEAgLTExMSw2ICsxMDEsMTYgQEAgcHVibGljOgogICAgIHZvaWQgc2Nyb2xsQW5pbWF0aW9uRGlk
RW5kKFNjcm9sbEFuaW1hdGlvbiYpIG92ZXJyaWRlOwogICAgIFNjcm9sbEV4dGVudHMgc2Nyb2xs
RXh0ZW50c0ZvckFuaW1hdGlvbihTY3JvbGxBbmltYXRpb24mKSBvdmVycmlkZTsKIAorICAgIHZv
aWQgY29udGVudHNTaXplQ2hhbmdlZCgpIGNvbnN0OworCisgICAgdm9pZCBzZXRDdXJyZW50UG9z
aXRpb24oY29uc3QgRmxvYXRQb2ludCYpOworICAgIGNvbnN0IEZsb2F0UG9pbnQmIGN1cnJlbnRQ
b3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudFBvc2l0aW9uOyB9CisKKyAgICBib29s
IGhhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQoKSBjb25zdCB7IHJldHVybiBtX2hhdmVTY3JvbGxl
ZFNpbmNlUGFnZUxvYWQ7IH0KKyAgICB2b2lkIHNldEhhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQo
Ym9vbCBoYXZlU2Nyb2xsZWQpIHsgbV9oYXZlU2Nyb2xsZWRTaW5jZVBhZ2VMb2FkID0gaGF2ZVNj
cm9sbGVkOyB9CisKKyAgICBLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yICprZXlib2FyZFNjcm9s
bGluZ0FuaW1hdG9yKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9rZXlib2FyZFNjcm9sbGlu
Z0FuaW1hdG9yLmdldCgpOyB9CisKICAgICB2b2lkIHNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihS
ZWZQdHI8V2hlZWxFdmVudFRlc3RNb25pdG9yPiYmIHRlc3RNb25pdG9yKSB7IG1fd2hlZWxFdmVu
dFRlc3RNb25pdG9yID0gdGVzdE1vbml0b3I7IH0KICAgICBXaGVlbEV2ZW50VGVzdE1vbml0b3Iq
IHdoZWVsRXZlbnRUZXN0TW9uaXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fd2hlZWxFdmVudFRlc3RN
b25pdG9yLmdldCgpOyB9CiAKQEAgLTEyNCw4ICsxMjQsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHNjcm9sbENvbnRyb2xsZXJBbmltYXRpb25UaW1lckZpcmVkKCk7CiAKLSAgICB2aXJ0dWFsIGJv
b2wgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdm9pZCB1cGRhdGVTY3JvbGxTbmFwU3RhdGUoKTsK
ICAgICBib29sIGFjdGl2ZVNjcm9sbFNuYXBJbmRleERpZENoYW5nZSgpIGNvbnN0OwogICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IGFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xs
RXZlbnRBeGlzKSBjb25zdDsKICAgICB2b2lkIHNldEFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4
aXMoU2Nyb2xsRXZlbnRBeGlzLCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBpbmRleCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggMDNhMDBjMGNlNzNm
MzM2M2E3MDAxM2NhYzA4NzQ4YWVkMWE0MTY3NS4uYTYzMDE1Y2I1MjQzYzFhNjAxZjljM2Y2NDcw
MjllNzljM2I2ZDk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVh
LmNwcApAQCAtMTYxLDE2ICsxNjEsMTggQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9Q
b3NpdGlvbldpdGhBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFMKIHZvaWQg
U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjb25zdCBGbG9h
dFBvaW50JiBvZmZzZXQsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogewogICAgIExPR19XSVRI
X1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsYWJsZUFyZWEgIiA8PCB0aGlzIDw8
ICIgc2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uICIgPDwgb2Zmc2V0KTsKLSAgICBzY3Jv
bGxBbmltYXRvcigpLnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihvZmZzZXQsIGNsYW1w
aW5nKTsKKworICAgIGF1dG8gcG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQob2Zm
c2V0LCB0b0Zsb2F0U2l6ZShzY3JvbGxPcmlnaW4oKSkpOworICAgIHNjcm9sbEFuaW1hdG9yKCku
c2Nyb2xsVG9Qb3NpdGlvbldpdGhvdXRBbmltYXRpb24ocG9zaXRpb24sIGNsYW1waW5nKTsKIH0K
IAogdm9pZCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKFNj
cm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBmbG9hdCBvZmZzZXQpCiB7Ci0gICAgYXV0
byBjdXJyZW50T2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKEludFBvaW50KHNjcm9s
bEFuaW1hdG9yKCkuY3VycmVudFBvc2l0aW9uKCkpKTsKKyAgICBhdXRvIGN1cnJlbnRQb3NpdGlv
biA9IHNjcm9sbEFuaW1hdG9yKCkuY3VycmVudFBvc2l0aW9uKCk7CiAgICAgaWYgKG9yaWVudGF0
aW9uID09IEhvcml6b250YWxTY3JvbGxiYXIpCi0gICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuc2Ny
b2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKEZsb2F0UG9pbnQob2Zmc2V0LCBjdXJyZW50T2Zm
c2V0LnkoKSkpOworICAgICAgICBzY3JvbGxBbmltYXRvcigpLnNjcm9sbFRvUG9zaXRpb25XaXRo
b3V0QW5pbWF0aW9uKEZsb2F0UG9pbnQob2Zmc2V0LCBjdXJyZW50UG9zaXRpb24ueSgpKSk7CiAg
ICAgZWxzZQotICAgICAgICBzY3JvbGxBbmltYXRvcigpLnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFu
aW1hdGlvbihGbG9hdFBvaW50KGN1cnJlbnRPZmZzZXQueCgpLCBvZmZzZXQpKTsKKyAgICAgICAg
c2Nyb2xsQW5pbWF0b3IoKS5zY3JvbGxUb1Bvc2l0aW9uV2l0aG91dEFuaW1hdGlvbihGbG9hdFBv
aW50KGN1cnJlbnRQb3NpdGlvbi54KCksIG9mZnNldCkpOwogfQogCiB2b2lkIFNjcm9sbGFibGVB
cmVhOjpub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBv
c2l0aW9uKQpAQCAtNTY3LDEwICs1NjksMTIgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6ZG9Qb3N0
VGh1bWJNb3ZlU25hcHBpbmcoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiAgICAg
ICAgIG5ld09mZnNldC5zZXRYKHNjcm9sbEFuaW1hdG9yLT5hZGp1c3RTY3JvbGxPZmZzZXRGb3JT
bmFwcGluZ0lmTmVlZGVkKFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCwgY3VycmVudE9mZnNl
dCwgU2Nyb2xsU25hcFBvaW50U2VsZWN0aW9uTWV0aG9kOjpDbG9zZXN0KSk7CiAgICAgZWxzZQog
ICAgICAgICBuZXdPZmZzZXQuc2V0WShzY3JvbGxBbmltYXRvci0+YWRqdXN0U2Nyb2xsT2Zmc2V0
Rm9yU25hcHBpbmdJZk5lZWRlZChTY3JvbGxFdmVudEF4aXM6OlZlcnRpY2FsLCBjdXJyZW50T2Zm
c2V0LCBTY3JvbGxTbmFwUG9pbnRTZWxlY3Rpb25NZXRob2Q6OkNsb3Nlc3QpKTsKKwogICAgIGlm
IChuZXdPZmZzZXQgPT0gY3VycmVudE9mZnNldCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2Ny
b2xsQW5pbWF0b3ItPnNjcm9sbFRvT2Zmc2V0V2l0aEFuaW1hdGlvbihuZXdPZmZzZXQpOworICAg
IGF1dG8gcG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQobmV3T2Zmc2V0KTsKKyAg
ICBzY3JvbGxBbmltYXRvci0+c2Nyb2xsVG9Qb3NpdGlvbldpdGhBbmltYXRpb24ocG9zaXRpb24p
OwogfQogCiBib29sIFNjcm9sbGFibGVBcmVhOjppc1Bpbm5lZEZvclNjcm9sbERlbHRhT25BeGlz
KGZsb2F0IHNjcm9sbERlbHRhLCBTY3JvbGxFdmVudEF4aXMgYXhpcykgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>