<?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>233092</bug_id>
          
          <creation_ts>2021-11-13 14:58:11 -0800</creation_ts>
          <short_desc>[GTK] Implement UIScriptController sendEventStream for wheel events</short_desc>
          <delta_ts>2023-05-29 06:02:09 -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>Tools / Tests</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=244186</see_also>
          <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="Chris Lord">clord</assigned_to>
          <cc>bdakin</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clord</cc>
    
    <cc>csaavedra</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1814798</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 14:58:11 -0800</bug_when>
    <thetext>I&apos;m starting to convert tests that use eventSender.mouseScrollByWithWheelAndMomentumPhases() to UIScriptController.sendEventStream, so it would be good if GTK implemented this.

See http://trac.webkit.org/r285390</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828548</commentid>
    <comment_count>1</comment_count>
      <attachid>448483</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-01-06 03:03:44 -0800</bug_when>
    <thetext>Created attachment 448483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828549</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-01-06 03:05:21 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828550</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-01-06 03:06:31 -0800</bug_when>
    <thetext>As far as I know there are no tests using sendEventStream that aren&apos;t specific to iOS at the moment, so this is basically untested. Attaching the patch so this can be picked up later when there are some tests with which to test it.

It shouldn&apos;t take much adaptation to do the equivalent for WPE, it might be good to share the JSON parsing in UIScriptControllerGtk when that happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1958602</commentid>
    <comment_count>4</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2023-05-29 06:02:09 -0700</bug_when>
    <thetext>Skipping imported/w3c/web-platform-tests/html/user-activation/activation-trigger-pointerevent.html?touch in https://github.com/WebKit/WebKit/pull/14452 , as the test crashes due to missing sendEventStream in both GTK and WPE. Would be good to revisit this patch and land.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448483</attachid>
            <date>2022-01-06 03:03:44 -0800</date>
            <delta_ts>2022-01-06 03:03:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233092-20220106110342.patch</filename>
            <type>text/plain</type>
            <size>19185</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg3NzFlNjM3YTEwYjFjYWU5
OGY5OThlNjEzMjA5NjRhOGRkNjk0YjIuLjc3ZWU2NGQwZGRhYjQ1OWY1ZmE1OGViNzA5ODVjMjkw
ZjYyMjg4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDEtMDYgIENocmlzIExv
cmQgIDxjbG9yZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEltcGxlbWVudCBVSVNjcmlw
dENvbnRyb2xsZXIgc2VuZEV2ZW50U3RyZWFtIGZvciB3aGVlbCBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzA5MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHNwZWNpZnlpbmcgd2hl
ZWwgZXZlbnQgdGltZSwgcmF0aGVyIHRoYW4gYWx3YXlzIHVzaW5nCisgICAgICAgIFdhbGxUaW1l
Ojpub3coKS4KKworICAgICAgICAqIFNoYXJlZC9OYXRpdmVXZWJXaGVlbEV2ZW50Lmg6CisgICAg
ICAgICogU2hhcmVkL2d0ay9OYXRpdmVXZWJXaGVlbEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmF0aXZlV2ViV2hlZWxFdmVudDo6TmF0aXZlV2ViV2hlZWxFdmVudCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAod2Vi
a2l0V2ViVmlld0Jhc2VTeW50aGVzaXplV2hlZWxFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oOgorCiAyMDIyLTAxLTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgc2VjdXJl
IHdlYnNvY2tldCBjb25uZWN0aW9ucyBpbiBzZXJ2aWNlIHdvcmtlcnMgY2FuIHRyaWdnZXIgYXV0
aGVudGljYXRpb24gY2hhbGxlbmdlIGNhbGxiYWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvTmF0aXZlV2ViV2hlZWxFdmVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0
aXZlV2ViV2hlZWxFdmVudC5oCmluZGV4IGYyZjM5NzlmY2FjOWRmZDk3ZDBlMGVhZDYwMGZlMzVl
YjhkZWZkNDAuLjFiMmUzMjhjNDE3YzQ2NzU0MGNmYWQ4YTM3ZGQyM2RiZWIxMjA3YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYldoZWVsRXZlbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJXaGVlbEV2ZW50LmgKQEAgLTYxLDcgKzYxLDcg
QEAgcHVibGljOgogICAgIE5hdGl2ZVdlYldoZWVsRXZlbnQoR2RrRXZlbnQqKTsKICAgICBOYXRp
dmVXZWJXaGVlbEV2ZW50KEdka0V2ZW50KiwgV2ViV2hlZWxFdmVudDo6UGhhc2UsIFdlYldoZWVs
RXZlbnQ6OlBoYXNlIG1vbWVudHVtUGhhc2UpOwogICAgIE5hdGl2ZVdlYldoZWVsRXZlbnQoR2Rr
RXZlbnQqLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYgd2hlZWxUaWNrcyk7Ci0gICAgTmF0aXZlV2ViV2hlZWxFdmVudChHZGtFdmVudCosIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBXZWJD
b3JlOjpGbG9hdFNpemUmIHdoZWVsVGlja3MsIFdlYldoZWVsRXZlbnQ6OlBoYXNlLCBXZWJXaGVl
bEV2ZW50OjpQaGFzZSBtb21lbnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VEZWx0YXMgPSBmYWxz
ZSk7CisgICAgTmF0aXZlV2ViV2hlZWxFdmVudChHZGtFdmVudCosIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9u
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNp
emUmIHdoZWVsVGlja3MsIFdlYldoZWVsRXZlbnQ6OlBoYXNlLCBXZWJXaGVlbEV2ZW50OjpQaGFz
ZSBtb21lbnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VEZWx0YXMgPSBmYWxzZSwgV2FsbFRpbWUg
PSBXYWxsVGltZTo6bm93KCkpOwogI2VsaWYgVVNFKExJQldQRSkKICAgICBOYXRpdmVXZWJXaGVl
bEV2ZW50KHN0cnVjdCB3cGVfaW5wdXRfYXhpc19ldmVudCosIGZsb2F0IGRldmljZVNjYWxlRmFj
dG9yLCBXZWJXaGVlbEV2ZW50OjpQaGFzZSwgV2ViV2hlZWxFdmVudDo6UGhhc2UgbW9tZW50dW1Q
aGFzZSk7CiAjZWxpZiBQTEFURk9STShXSU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9ndGsvTmF0aXZlV2ViV2hlZWxFdmVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9ndGsvTmF0aXZlV2ViV2hlZWxFdmVudEd0ay5jcHAKaW5kZXggYmY0MWQxNTc3YjY0YzE0NmVi
NzU3NDAxZmRjYmIwYjM2Yjk5MDhjOC4uYTNiZjQ5OTAzNTM3MjVmMjE1N2EyOTZiNDRlOTBkYmY1
MDg1ODdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvZ3RrL05hdGl2ZVdlYldo
ZWVsRXZlbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2d0ay9OYXRpdmVXZWJX
aGVlbEV2ZW50R3RrLmNwcApAQCAtNDksOCArNDksOCBAQCBOYXRpdmVXZWJXaGVlbEV2ZW50OjpO
YXRpdmVXZWJXaGVlbEV2ZW50KEdka0V2ZW50KiBldmVudCwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bgogewogfQogCi1OYXRpdmVXZWJXaGVlbEV2ZW50OjpOYXRpdmVXZWJXaGVlbEV2ZW50KEdka0V2
ZW50ICpldmVudCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
ZGVsdGEsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgd2hlZWxUaWNrcywgV2ViV2hlZWxFdmVu
dDo6UGhhc2UgcGhhc2UsIFdlYldoZWVsRXZlbnQ6OlBoYXNlIG1vbWVudHVtUGhhc2UsIGJvb2wg
aGFzUHJlY2lzZURlbHRhcykKLSAgICA6IFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBw
b3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGRlbHRhLCB3aGVlbFRpY2tzLCBwaGFzZSwgbW9tZW50
dW1QaGFzZSwgV2ViV2hlZWxFdmVudDo6U2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQsIGhhc1ByZWNp
c2VEZWx0YXMsIHsgfSwgV2FsbFRpbWU6Om5vdygpKQorTmF0aXZlV2ViV2hlZWxFdmVudDo6TmF0
aXZlV2ViV2hlZWxFdmVudChHZGtFdmVudCAqZXZlbnQsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHdo
ZWVsVGlja3MsIFdlYldoZWVsRXZlbnQ6OlBoYXNlIHBoYXNlLCBXZWJXaGVlbEV2ZW50OjpQaGFz
ZSBtb21lbnR1bVBoYXNlLCBib29sIGhhc1ByZWNpc2VEZWx0YXMsIFdhbGxUaW1lIHRpbWVzdGFt
cCkKKyAgICA6IFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBwb3NpdGlvbiwgZ2xvYmFs
UG9zaXRpb24sIGRlbHRhLCB3aGVlbFRpY2tzLCBwaGFzZSwgbW9tZW50dW1QaGFzZSwgV2ViV2hl
ZWxFdmVudDo6U2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQsIGhhc1ByZWNpc2VEZWx0YXMsIHsgfSwg
dGltZXN0YW1wKQogICAgICwgbV9uYXRpdmVFdmVudChldmVudCA/IGdka19ldmVudF9jb3B5KGV2
ZW50KSA6IG51bGxwdHIpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDNhOTY3NTNjOWNmOWU2ZDNhM2Qy
NzdhZDgyZWM2ZjRhOTg2MzVjYmQuLjE2NGZmZjJkNzQ5OGJhOTFjZjhlZmIyNmVhYzFjOGJjYjdh
ZWQ4NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yOTgyLDEyICsyOTgyLDEyIEBAIHN0YXRpYyBpbmxpbmUg
V2ViV2hlZWxFdmVudDo6UGhhc2UgdG9XZWJLaXRXaGVlbEV2ZW50UGhhc2UoV2hlZWxFdmVudFBo
YXNlIHBoYXNlCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCB3
ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVXaGVlbEV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiB3
ZWJWaWV3QmFzZSwgZG91YmxlIGRlbHRhWCwgZG91YmxlIGRlbHRhWSwgaW50IHgsIGludCB5LCBX
aGVlbEV2ZW50UGhhc2UgcGhhc2UsIFdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlKQordm9p
ZCB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVXaGVlbEV2ZW50KFdlYktpdFdlYlZpZXdCYXNl
KiB3ZWJWaWV3QmFzZSwgZG91YmxlIGRlbHRhWCwgZG91YmxlIGRlbHRhWSwgaW50IHgsIGludCB5
LCBXaGVlbEV2ZW50UGhhc2UgcGhhc2UsIFdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlLCBX
YWxsVGltZSB0aW1lc3RhbXApCiB7Ci0gICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplV2hl
ZWxFdmVudCh3ZWJWaWV3QmFzZSwgbnVsbHB0ciwgZGVsdGFYLCBkZWx0YVksIHgsIHksIHBoYXNl
LCBtb21lbnR1bVBoYXNlKTsKKyAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVXaGVlbEV2
ZW50KHdlYlZpZXdCYXNlLCBudWxscHRyLCBkZWx0YVgsIGRlbHRhWSwgeCwgeSwgcGhhc2UsIG1v
bWVudHVtUGhhc2UsIHRpbWVzdGFtcCk7CiB9CiAKLXZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50
aGVzaXplV2hlZWxFdmVudChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIGNvbnN0IEdk
a0V2ZW50KiBldmVudCwgZG91YmxlIGRlbHRhWCwgZG91YmxlIGRlbHRhWSwgaW50IHgsIGludCB5
LCBXaGVlbEV2ZW50UGhhc2UgcGhhc2UsIFdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlKQor
dm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVXaGVlbEV2ZW50KFdlYktpdFdlYlZpZXdC
YXNlKiB3ZWJWaWV3QmFzZSwgY29uc3QgR2RrRXZlbnQqIGV2ZW50LCBkb3VibGUgZGVsdGFYLCBk
b3VibGUgZGVsdGFZLCBpbnQgeCwgaW50IHksIFdoZWVsRXZlbnRQaGFzZSBwaGFzZSwgV2hlZWxF
dmVudFBoYXNlIG1vbWVudHVtUGhhc2UsIFdhbGxUaW1lIHRpbWVzdGFtcCkKIHsKICAgICBXZWJL
aXRXZWJWaWV3QmFzZVByaXZhdGUqIHByaXYgPSB3ZWJWaWV3QmFzZS0+cHJpdjsKICAgICBpZiAo
cHJpdi0+ZGlhbG9nKQpAQCAtMjk5OSw3ICsyOTk5LDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVN5bnRoZXNpemVXaGVlbEV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgY29u
c3QKICAgICAgICAgZGVsdGEuc2NhbGUoc3RhdGljX2Nhc3Q8ZmxvYXQ+KFNjcm9sbGJhcjo6cGl4
ZWxzUGVyTGluZVN0ZXAoKSkpOwogCiAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVXaGVlbEV2
ZW50KE5hdGl2ZVdlYldoZWVsRXZlbnQoY29uc3RfY2FzdDxHZGtFdmVudCo+KGV2ZW50KSwgeyB4
LCB5IH0sIHdpZGdldFJvb3RDb29yZHMoR1RLX1dJREdFVCh3ZWJWaWV3QmFzZSksIHgsIHkpLAot
ICAgICAgICBkZWx0YSwgd2hlZWxUaWNrcywgdG9XZWJLaXRXaGVlbEV2ZW50UGhhc2UocGhhc2Up
LCB0b1dlYktpdFdoZWVsRXZlbnRQaGFzZShtb21lbnR1bVBoYXNlKSwgcHJpdi0+d2hlZWxIYXNQ
cmVjaXNlRGVsdGFzKSk7CisgICAgICAgIGRlbHRhLCB3aGVlbFRpY2tzLCB0b1dlYktpdFdoZWVs
RXZlbnRQaGFzZShwaGFzZSksIHRvV2ViS2l0V2hlZWxFdmVudFBoYXNlKG1vbWVudHVtUGhhc2Up
LCBwcml2LT53aGVlbEhhc1ByZWNpc2VEZWx0YXMsIHRpbWVzdGFtcCkpOwogfQogCiB2b2lkIHdl
YmtpdFdlYlZpZXdCYXNlU2V0V2hlZWxIYXNQcmVjaXNlRGVsdGFzKFdlYktpdFdlYlZpZXdCYXNl
KiB3ZWJWaWV3QmFzZSwgYm9vbCBoYXNQcmVjaXNlRGVsdGFzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZUludGVybmFsLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlSW50ZXJuYWwu
aAppbmRleCAwNGRlODQwNGZlMWE0NThkMTkzMDQ5YjY3MmUyNjM0YThjOTJlN2E4Li5lYzE4MjAy
ZjA2NjQ2ZmNlZjMyYzI3MWFmMTQ3OTMxN2I3YjAyMWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlSW50ZXJuYWwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlSW50ZXJuYWwu
aApAQCAtNDQsNiArNDQsNiBAQCBlbnVtIGNsYXNzIFNob3VsZFRyYW5zbGF0ZUtleWJvYXJkU3Rh
dGUgeyBObywgWWVzIH07CiBXS19FWFBPUlQgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNp
emVLZXlFdmVudChXZWJLaXRXZWJWaWV3QmFzZSosIEtleUV2ZW50VHlwZSwgdW5zaWduZWQga2V5
VmFsLCB1bnNpZ25lZCBtb2RpZmllcnMsIFNob3VsZFRyYW5zbGF0ZUtleWJvYXJkU3RhdGUpOwog
CiBlbnVtIGNsYXNzIFdoZWVsRXZlbnRQaGFzZSB7IE5vUGhhc2UsIEJlZ2FuLCBDaGFuZ2VkLCBF
bmRlZCwgQ2FuY2VsbGVkLCBNYXlCZWdpbiB9OwotV0tfRVhQT1JUIHZvaWQgd2Via2l0V2ViVmll
d0Jhc2VTeW50aGVzaXplV2hlZWxFdmVudChXZWJLaXRXZWJWaWV3QmFzZSosIGRvdWJsZSBkZWx0
YVgsIGRvdWJsZSBkZWx0YVksIGludCB4LCBpbnQgeSwgV2hlZWxFdmVudFBoYXNlLCBXaGVlbEV2
ZW50UGhhc2UgbW9tZW50dW1QaGFzZSk7CitXS19FWFBPUlQgdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVN5bnRoZXNpemVXaGVlbEV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiwgZG91YmxlIGRlbHRhWCwg
ZG91YmxlIGRlbHRhWSwgaW50IHgsIGludCB5LCBXaGVlbEV2ZW50UGhhc2UsIFdoZWVsRXZlbnRQ
aGFzZSBtb21lbnR1bVBoYXNlLCBXYWxsVGltZSA9IFdhbGxUaW1lOjpub3coKSk7CiBXS19FWFBP
UlQgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldFdoZWVsSGFzUHJlY2lzZURlbHRhcyhXZWJLaXRX
ZWJWaWV3QmFzZSosIGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaAppbmRleCAxODdkZjVlOTIy
MTcwOTc3NjZhOTRhZDIxZWM2MzEyNzNhOTc2NGZhLi4zYmM3NzgzOGY1YjIwMzAwMTMxOTc1MTJj
MDI0ZGYyNTQ0NTMyMDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgKQEAgLTExNCw3ICsxMTQsNyBA
QCB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlRGlkTG9zZVBvaW50ZXJMb2NrKFdlYktpdFdlYlZpZXdC
YXNlKik7CiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2V0SW5wdXRNZXRob2RDb250ZXh0KFdlYktp
dFdlYlZpZXdCYXNlKiwgV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0Kik7CiBXZWJLaXRJbnB1dE1l
dGhvZENvbnRleHQqIHdlYmtpdFdlYlZpZXdCYXNlR2V0SW5wdXRNZXRob2RDb250ZXh0KFdlYktp
dFdlYlZpZXdCYXNlKik7CiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZUNvbXBvc2l0
aW9uS2V5UHJlc3MoV2ViS2l0V2ViVmlld0Jhc2UqLCBjb25zdCBTdHJpbmcmIHRleHQsIHN0ZDo6
b3B0aW9uYWw8VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPj4mJiwgc3RkOjpv
cHRpb25hbDxXZWJLaXQ6OkVkaXRpbmdSYW5nZT4mJik7Ci12b2lkIHdlYmtpdFdlYlZpZXdCYXNl
U3ludGhlc2l6ZVdoZWVsRXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqLCBjb25zdCBHZGtFdmVudCos
IGRvdWJsZSBkZWx0YVgsIGRvdWJsZSBkZWx0YVksIGludCB4LCBpbnQgeSwgV2hlZWxFdmVudFBo
YXNlLCBXaGVlbEV2ZW50UGhhc2UgbW9tZW50dW1QaGFzZSk7Cit2b2lkIHdlYmtpdFdlYlZpZXdC
YXNlU3ludGhlc2l6ZVdoZWVsRXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqLCBjb25zdCBHZGtFdmVu
dCosIGRvdWJsZSBkZWx0YVgsIGRvdWJsZSBkZWx0YVksIGludCB4LCBpbnQgeSwgV2hlZWxFdmVu
dFBoYXNlLCBXaGVlbEV2ZW50UGhhc2UgbW9tZW50dW1QaGFzZSwgV2FsbFRpbWUgPSBXYWxsVGlt
ZTo6bm93KCkpOwogCiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlTWFrZUJsYW5rKFdlYktpdFdlYlZp
ZXdCYXNlKiwgYm9vbCk7CiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlUGFnZUdyYWJiZWRUb3VjaChX
ZWJLaXRXZWJWaWV3QmFzZSopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDU2OGQ4M2ZlMjdiYjU5YTgxMGNkMThiYzAzNGZmZWY5N2VkZTUzZGEu
LmNhMjcyOTI2YTU0MWVhYThiNDlkODlkNmY5NjNlZWNhMzY0OWMxNzUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAy
Mi0wMS0wNiAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10g
SW1wbGVtZW50IFVJU2NyaXB0Q29udHJvbGxlciBzZW5kRXZlbnRTdHJlYW0gZm9yIHdoZWVsIGV2
ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1w
bGVtZW50IFVJU2NyaXB0Q29udHJvbGxlci5zZW5kRXZlbnRTdHJlYW0gZm9yIEdUSy4KKworICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvRXZlbnRTZW5kZXJQcm94eS5oOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvZ3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwOgorICAgICAgICAoV1RS
Ojp0b0V2ZW50UGhhc2UpOgorICAgICAgICAoV1RSOjp0b0V2ZW50TW9tZW50dW1QaGFzZSk6Cisg
ICAgICAgIChXVFI6OkV2ZW50U2VuZGVyUHJveHk6Om1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRN
b21lbnR1bVBoYXNlcyk6CisgICAgICAgIChXVFI6OkV2ZW50U2VuZGVyUHJveHk6OnNlbmRXaGVl
bEV2ZW50KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2d0ay9VSVNjcmlwdENvbnRyb2xs
ZXJHdGsuY3BwOgorICAgICAgICAoV1RSOjpnZXN0dXJlUGhhc2VGcm9tU3RyaW5nKToKKyAgICAg
ICAgKFdUUjo6bW9tZW50dW1QaGFzZUZyb21TdHJpbmcpOgorICAgICAgICAoV1RSOjpVSVNjcmlw
dENvbnRyb2xsZXJHdGs6OnNlbmRFdmVudFN0cmVhbSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9ndGsvVUlTY3JpcHRDb250cm9sbGVyR3RrLmg6CisKIDIwMjItMDEtMDUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFRpZ2h0ZW4gU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleTo6ZnJvbURhdGFiYXNlS2V5CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0V2ZW50U2VuZGVyUHJveHkuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
RXZlbnRTZW5kZXJQcm94eS5oCmluZGV4IGQzNGE4NmQ0MjZiNjNhM2Q1NTJkMDJiZWJlN2Y0MmRm
YjFmNmMwNWIuLmE0YTI3MWEwNWYzMTIzMGVlMmZjZDBiN2YyNTc0YTI2ZmNmMjRjNTQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvRXZlbnRTZW5kZXJQcm94eS5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvRXZlbnRTZW5kZXJQcm94eS5oCkBAIC0zNiw2ICszNiwxMCBA
QAogI2luY2x1ZGUgPHdwZS93cGUuaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oR1RLKQorI2lu
Y2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKIE9C
SkNfQ0xBU1MgTlNFdmVudDsKICNlbmRpZgpAQCAtNzgsMTIgKzgyLDE2IEBAIHB1YmxpYzoKICAg
ICAgICAgQ2FuY2VsbGVkLAogICAgICAgICBNYXlCZWdpbiwKICAgICB9OwotICAgIAorCiAgICAg
dXNpbmcgRXZlbnRUaW1lc3RhbXAgPSB1aW50NjRfdDsgLy8gbWFjaF9hYnNvbHV0ZV90aW1lIHVu
aXRzLgogCiAgICAgdm9pZCBzZW5kV2hlZWxFdmVudChFdmVudFRpbWVzdGFtcCwgZG91YmxlIGds
b2JhbFgsIGRvdWJsZSBnbG9iYWxZLCBkb3VibGUgZGVsdGFYLCBkb3VibGUgZGVsdGFZLCBXaGVl
bEV2ZW50UGhhc2UsIFdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlKTsKICNlbmRpZgogCisj
aWYgUExBVEZPUk0oR1RLKQorICAgIHZvaWQgc2VuZFdoZWVsRXZlbnQoV2FsbFRpbWUsIGRvdWJs
ZSBnbG9iYWxYLCBkb3VibGUgZ2xvYmFsWSwgZG91YmxlIGRlbHRhWCwgZG91YmxlIGRlbHRhWSwg
aW50IHBoYXNlLCBpbnQgbW9tZW50dW1QaGFzZSk7CisjZW5kaWYKKwogICAgIHZvaWQgbGVhcEZv
cndhcmQoaW50IG1pbGxpc2Vjb25kcyk7CiAKICAgICB2b2lkIGtleURvd24oV0tTdHJpbmdSZWYg
a2V5LCBXS0V2ZW50TW9kaWZpZXJzLCB1bnNpZ25lZCBsb2NhdGlvbik7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclByb3h5R3RrLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZ3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwCmluZGV4IDI2ODNl
ZThmODIyN2ExZjcwNWM0Y2UyNDU2MTBmYTlhNzc5ZjI0ZGEuLjBmZTZiNTk0ZDYyMDI0Y2VkNDM1
NmM5ZmYxNTJiZTk0NTViMGZiNTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Z3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Z3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwCkBAIC0zMTMsNDYgKzMxMyw0OSBAQCB2b2lkIEV2
ZW50U2VuZGVyUHJveHk6OmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGludCBob3Jpem9udGFsLCBp
bnQgdmVydGljYWwsIGJvbwogICAgICAgICBob3Jpem9udGFsIC8gcGl4ZWxzUGVyU2Nyb2xsVGlj
aywgdmVydGljYWwgLyBwaXhlbHNQZXJTY3JvbGxUaWNrLCBtX3Bvc2l0aW9uLngsIG1fcG9zaXRp
b24ueSwgV2hlZWxFdmVudFBoYXNlOjpOb1BoYXNlLCBXaGVlbEV2ZW50UGhhc2U6Ok5vUGhhc2Up
OwogfQogCi12b2lkIEV2ZW50U2VuZGVyUHJveHk6Om1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRN
b21lbnR1bVBoYXNlcyhpbnQgaG9yaXpvbnRhbCwgaW50IHZlcnRpY2FsLCBpbnQgcGhhc2UsIGlu
dCBtb21lbnR1bSkKK1doZWVsRXZlbnRQaGFzZSB0b0V2ZW50UGhhc2UoaW50IHBoYXNlKQogewot
ICAgIFdoZWVsRXZlbnRQaGFzZSBldmVudFBoYXNlID0gV2hlZWxFdmVudFBoYXNlOjpOb1BoYXNl
OwogICAgIHN3aXRjaCAocGhhc2UpIHsKICAgICBjYXNlIDA6Ci0gICAgICAgIGV2ZW50UGhhc2Ug
PSBXaGVlbEV2ZW50UGhhc2U6Ok5vUGhhc2U7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gV2hlZWxFdmVudFBoYXNlOjpOb1BoYXNlOwogICAgIGNhc2UgMToKLSAgICAgICAgZXZlbnRQ
aGFzZSA9IFdoZWVsRXZlbnRQaGFzZTo6QmVnYW47Ci0gICAgICAgIGJyZWFrOworICAgICAgICBy
ZXR1cm4gV2hlZWxFdmVudFBoYXNlOjpCZWdhbjsKICAgICBjYXNlIDI6Ci0gICAgICAgIGV2ZW50
UGhhc2UgPSBXaGVlbEV2ZW50UGhhc2U6OkNoYW5nZWQ7Ci0gICAgICAgIGJyZWFrOworICAgICAg
ICByZXR1cm4gV2hlZWxFdmVudFBoYXNlOjpDaGFuZ2VkOwogICAgIGNhc2UgNDoKLSAgICAgICAg
ZXZlbnRQaGFzZSA9IFdoZWVsRXZlbnRQaGFzZTo6RW5kZWQ7Ci0gICAgICAgIGJyZWFrOworICAg
ICAgICByZXR1cm4gV2hlZWxFdmVudFBoYXNlOjpFbmRlZDsKICAgICBjYXNlIDg6Ci0gICAgICAg
IGV2ZW50UGhhc2UgPSBXaGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZDsKLSAgICAgICAgYnJlYWs7
CisgICAgICAgIHJldHVybiBXaGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZDsKICAgICBjYXNlIDEy
ODoKLSAgICAgICAgZXZlbnRQaGFzZSA9IFdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW47Ci0gICAg
ICAgIGJyZWFrOworICAgICAgICByZXR1cm4gV2hlZWxFdmVudFBoYXNlOjpNYXlCZWdpbjsKICAg
ICB9CiAKLSAgICBXaGVlbEV2ZW50UGhhc2UgZXZlbnRNb21lbnR1bVBoYXNlID0gV2hlZWxFdmVu
dFBoYXNlOjpOb1BoYXNlOwotICAgIHN3aXRjaCAobW9tZW50dW0pIHsKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gV2hlZWxFdmVudFBoYXNlOjpOb1BoYXNlOworfQorCitX
aGVlbEV2ZW50UGhhc2UgdG9FdmVudE1vbWVudHVtUGhhc2UoaW50IHBoYXNlKQoreworICAgIHN3
aXRjaCAocGhhc2UpIHsKICAgICBjYXNlIDA6Ci0gICAgICAgIGV2ZW50TW9tZW50dW1QaGFzZSA9
IFdoZWVsRXZlbnRQaGFzZTo6Tm9QaGFzZTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVy
biBXaGVlbEV2ZW50UGhhc2U6Ok5vUGhhc2U7CiAgICAgY2FzZSAxOgotICAgICAgICBldmVudE1v
bWVudHVtUGhhc2UgPSBXaGVlbEV2ZW50UGhhc2U6OkJlZ2FuOwotICAgICAgICBicmVhazsKKyAg
ICAgICAgcmV0dXJuIFdoZWVsRXZlbnRQaGFzZTo6QmVnYW47CiAgICAgY2FzZSAyOgotICAgICAg
ICBldmVudE1vbWVudHVtUGhhc2UgPSBXaGVlbEV2ZW50UGhhc2U6OkNoYW5nZWQ7Ci0gICAgICAg
IGJyZWFrOworICAgICAgICByZXR1cm4gV2hlZWxFdmVudFBoYXNlOjpDaGFuZ2VkOwogICAgIGNh
c2UgMzoKLSAgICAgICAgZXZlbnRNb21lbnR1bVBoYXNlID0gV2hlZWxFdmVudFBoYXNlOjpFbmRl
ZDsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBXaGVlbEV2ZW50UGhhc2U6OkVuZGVk
OwogICAgIH0KIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBXaGVlbEV2
ZW50UGhhc2U6Ok5vUGhhc2U7Cit9CisKK3ZvaWQgRXZlbnRTZW5kZXJQcm94eTo6bW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKGludCBob3Jpem9udGFsLCBpbnQgdmVydGlj
YWwsIGludCBwaGFzZSwgaW50IG1vbWVudHVtKQoreworICAgIGF1dG8gZXZlbnRQaGFzZSA9IHRv
RXZlbnRQaGFzZShwaGFzZSk7CisgICAgYXV0byBldmVudE1vbWVudHVtUGhhc2UgPSB0b0V2ZW50
UGhhc2UobW9tZW50dW0pOworCiAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplV2hlZWxF
dmVudCh0b1dlYktpdEdMaWJBUEkobV90ZXN0Q29udHJvbGxlci0+bWFpbldlYlZpZXcoKS0+cGxh
dGZvcm1WaWV3KCkpLAogICAgICAgICBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgbV9wb3NpdGlvbi54
LCBtX3Bvc2l0aW9uLnksIGV2ZW50UGhhc2UsIGV2ZW50TW9tZW50dW1QaGFzZSk7CiB9CkBAIC0z
NjIsNiArMzY1LDEyIEBAIHZvaWQgRXZlbnRTZW5kZXJQcm94eTo6c2V0V2hlZWxIYXNQcmVjaXNl
RGVsdGFzKGJvb2wgaGFzUHJlY2lzZURlbHRhcykKICAgICB3ZWJraXRXZWJWaWV3QmFzZVNldFdo
ZWVsSGFzUHJlY2lzZURlbHRhcyh0b1dlYktpdEdMaWJBUEkobV90ZXN0Q29udHJvbGxlci0+bWFp
bldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCkpLCBoYXNQcmVjaXNlRGVsdGFzKTsKIH0KIAordm9p
ZCBFdmVudFNlbmRlclByb3h5OjpzZW5kV2hlZWxFdmVudChXYWxsVGltZSB0aW1lc3RhbXAsIGRv
dWJsZSB3aW5kb3dYLCBkb3VibGUgd2luZG93WSwgZG91YmxlIGRlbHRhWCwgZG91YmxlIGRlbHRh
WSwgaW50IHBoYXNlLCBpbnQgbW9tZW50dW1QaGFzZSkKK3sKKyAgICB3ZWJraXRXZWJWaWV3QmFz
ZVN5bnRoZXNpemVXaGVlbEV2ZW50KHRvV2ViS2l0R0xpYkFQSShtX3Rlc3RDb250cm9sbGVyLT5t
YWluV2ViVmlldygpLT5wbGF0Zm9ybVZpZXcoKSksCisgICAgICAgIGRlbHRhWCwgZGVsdGFZLCB3
aW5kb3dYLCB3aW5kb3dZLCB0b0V2ZW50UGhhc2UocGhhc2UpLCB0b0V2ZW50TW9tZW50dW1QaGFz
ZShtb21lbnR1bVBoYXNlKSwgdGltZXN0YW1wKTsKK30KKwogdm9pZCBFdmVudFNlbmRlclByb3h5
OjpsZWFwRm9yd2FyZChpbnQgbWlsbGlzZWNvbmRzKQogewogICAgIG1fdGltZSArPSBtaWxsaXNl
Y29uZHMgLyAxMDAwLjA7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9V
SVNjcmlwdENvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVUlT
Y3JpcHRDb250cm9sbGVyR3RrLmNwcAppbmRleCAyOGU4YTdiYmQ5M2NlYzliODNjMWJmNzdiYmRh
MjBlNTk3YmFlYWJjLi5lNjU1YmYwYThjNjZlMGRlZmRlNTAwYjI1N2YyZjE1MzZhYzFiNTJlIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9VSVNjcmlwdENvbnRyb2xsZXJH
dGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1VJU2NyaXB0Q29udHJvbGxl
ckd0ay5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxXZWJLaXQvV0tUZXh0Q2hlY2tl
ckdMaWIuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tWaWV3UHJpdmF0ZS5oPgogI2luY2x1ZGUgPGd0
ay9ndGsuaD4KKyNpbmNsdWRlIDx3dGYvSlNPTlZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9SdW5M
b29wLmg+CiAKIG5hbWVzcGFjZSBXVFIgewpAQCAtMTYyLDQgKzE2MywxMjQgQEAgdm9pZCBVSVNj
cmlwdENvbnRyb2xsZXJHdGs6OmFkZFZpZXdUb1dpbmRvdyhKU1ZhbHVlUmVmIGNhbGxiYWNrKQog
ICAgIH0pOwogfQogCitzdGF0aWMgaW50IGdlc3R1cmVQaGFzZUZyb21TdHJpbmcoY29uc3QgU3Ry
aW5nJiBwaGFzZVN0cmluZykKK3sKKyAgICBpZiAocGhhc2VTdHJpbmcgPT0gImJlZ2FuIikKKyAg
ICAgICAgcmV0dXJuIDE7CisgICAgaWYgKHBoYXNlU3RyaW5nID09ICJjaGFuZ2VkIikKKyAgICAg
ICAgcmV0dXJuIDI7CisgICAgaWYgKHBoYXNlU3RyaW5nID09ICJlbmRlZCIpCisgICAgICAgIHJl
dHVybiA0OworICAgIGlmIChwaGFzZVN0cmluZyA9PSAiY2FuY2VsbGVkIikKKyAgICAgICAgcmV0
dXJuIDg7CisgICAgaWYgKHBoYXNlU3RyaW5nID09ICJtYXliZWdpbiIpCisgICAgICAgIHJldHVy
biAxMjg7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwor
c3RhdGljIGludCBtb21lbnR1bVBoYXNlRnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHBoYXNlU3Ry
aW5nKQoreworICAgIGlmIChwaGFzZVN0cmluZyA9PSAiYmVnYW4iKQorICAgICAgICByZXR1cm4g
MTsKKyAgICBpZiAocGhhc2VTdHJpbmcgPT0gImNoYW5nZWQiKQorICAgICAgICByZXR1cm4gMjsK
KyAgICBpZiAocGhhc2VTdHJpbmcgPT0gImVuZGVkIikKKyAgICAgICAgcmV0dXJuIDM7CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBVSVNjcmlw
dENvbnRyb2xsZXJHdGs6OnNlbmRFdmVudFN0cmVhbShKU1N0cmluZ1JlZiBldmVudHNKU09OLCBK
U1ZhbHVlUmVmIGNhbGxiYWNrKQoreworICAgIGF1dG8qIGV2ZW50U2VuZGVyID0gVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLmV2ZW50U2VuZGVyUHJveHkoKTsKKworICAgIGlmICghZXZlbnRT
ZW5kZXIpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICB1bnNpZ25lZCBjYWxsYmFja0lEID0gbV9jb250ZXh0LT5wcmVwYXJlRm9y
QXN5bmNUYXNrKGNhbGxiYWNrLCBDYWxsYmFja1R5cGVOb25QZXJzaXN0ZW50KTsKKworICAgIGF1
dG8ganNvblN0cmluZyA9IGV2ZW50c0pTT04tPnN0cmluZygpOworICAgIGF1dG8gdmFsdWUgPSBK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKGpzb25TdHJpbmcpOworICAgIGlmICghdmFsdWUpIHsKKyAg
ICAgICAgV1RGTG9nQWx3YXlzKCJGYWlsZWQgdG8gcGFyc2UgSlNPTiIpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgYXV0byByb290ID0gdmFsdWUtPmFzT2JqZWN0KCk7CisgICAgaWYg
KCFyb290KSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiSlNPTiBpcyBub3QgY29udmVydGlibGUg
dG8gYW4gb2JqZWN0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGV2ZW50
cyA9IHJvb3QtPmdldEFycmF5KCJldmVudHMiX3MpOworICAgIGlmICghZXZlbnRzKSB7CisgICAg
ICAgIFdURkxvZ0Fsd2F5cygiSlNPTiBvYmplY3QgbGFja3MgJ2V2ZW50cycga2V5Iik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkb3VibGUgY3VycmVudFZpZXdSZWxhdGl2ZVggPSAw
OworICAgIGRvdWJsZSBjdXJyZW50Vmlld1JlbGF0aXZlWSA9IDA7CisgICAgYXV0byBjdXJyZW50
VGltZSA9IFdhbGxUaW1lOjpub3coKTsKKworICAgIHVuc2lnbmVkIGV2ZW50c0xlbmd0aCA9IGV2
ZW50cy0+bGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGV2ZW50c0xlbmd0
aDsgKytpKSB7CisgICAgICAgIGF1dG8gZXZlbnQgPSBldmVudHMtPmdldChpKS0+YXNPYmplY3Qo
KTsKKyAgICAgICAgaWYgKCFldmVudCkgeworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJOb24t
b2JqZWN0IG1lbWJlciBvZiBldmVudHMgYXJyYXkiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisKKyAgICAgICAgYXV0byBldmVudFR5cGUgPSBldmVudC0+Z2V0U3RyaW5nKCJ0eXBl
Il9zKTsKKyAgICAgICAgaWYgKCFldmVudFR5cGUpIHsKKyAgICAgICAgICAgIFdURkxvZ0Fsd2F5
cygiTWlzc2luZyBldmVudCB0eXBlIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
CisgICAgICAgIGlmIChldmVudFR5cGUgPT0gIndoZWVsIl9zKSB7CisgICAgICAgICAgICBhdXRv
IHBoYXNlU3RyaW5nID0gZXZlbnQtPmdldFN0cmluZygicGhhc2UiKTsKKyAgICAgICAgICAgIGF1
dG8gbW9tZW50dW1QaGFzZVN0cmluZyA9IGV2ZW50LT5nZXRTdHJpbmcoIm1vbWVudHVtUGhhc2Ui
KTsKKworICAgICAgICAgICAgaWYgKCFwaGFzZVN0cmluZyAmJiAhbW9tZW50dW1QaGFzZVN0cmlu
ZykgeworICAgICAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiRXZlbnQgbXVzdCBzcGVjaWZ5IHBo
YXNlIG9yIG1vbWVudHVtUGhhc2UiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgYXV0byBwaGFzZSA9IGdlc3R1cmVQaGFzZUZyb21TdHJpbmco
cGhhc2VTdHJpbmcpOworICAgICAgICAgICAgYXV0byBtb21lbnR1bVBoYXNlID0gbW9tZW50dW1Q
aGFzZUZyb21TdHJpbmcobW9tZW50dW1QaGFzZVN0cmluZyk7CisKKyAgICAgICAgICAgIEFTU0VS
VF9JTVBMSUVTKCFwaGFzZSwgbW9tZW50dW1QaGFzZSk7CisgICAgICAgICAgICBBU1NFUlRfSU1Q
TElFUyghbW9tZW50dW1QaGFzZSwgcGhhc2UpOworCisgICAgICAgICAgICBpZiAoYXV0byB2aWV3
WCA9IGV2ZW50LT5nZXREb3VibGUoInZpZXdYIikpCisgICAgICAgICAgICAgICAgY3VycmVudFZp
ZXdSZWxhdGl2ZVggPSAqdmlld1g7CisgICAgICAgICAgICBpZiAoYXV0byB2aWV3WSA9IGV2ZW50
LT5nZXREb3VibGUoInZpZXdZIikpCisgICAgICAgICAgICAgICAgY3VycmVudFZpZXdSZWxhdGl2
ZVkgPSAqdmlld1k7CisKKyAgICAgICAgICAgIGRvdWJsZSBkZWx0YVggPSAwOworICAgICAgICAg
ICAgZG91YmxlIGRlbHRhWSA9IDA7CisKKyAgICAgICAgICAgIGlmIChhdXRvIGV2ZW50RGVsdGFY
ID0gZXZlbnQtPmdldERvdWJsZSgiZGVsdGFYIikpCisgICAgICAgICAgICAgICAgZGVsdGFYID0g
KmV2ZW50RGVsdGFYOworICAgICAgICAgICAgaWYgKGF1dG8gZXZlbnREZWx0YVkgPSBldmVudC0+
Z2V0RG91YmxlKCJkZWx0YVkiKSkKKyAgICAgICAgICAgICAgICBkZWx0YVkgPSAqZXZlbnREZWx0
YVk7CisKKyAgICAgICAgICAgIC8vIEZJWE1FOiBEbyBzb21ldGhpbmcgd2l0aCBjdXJyZW50Vmll
d1JlbGF0aXZlIGNvb3JkaW5hdGVzPworICAgICAgICAgICAgZXZlbnRTZW5kZXItPnNlbmRXaGVl
bEV2ZW50KGN1cnJlbnRUaW1lLCBjdXJyZW50Vmlld1JlbGF0aXZlWCwgY3VycmVudFZpZXdSZWxh
dGl2ZVksIGRlbHRhWCwgZGVsdGFZLCBwaGFzZSwgbW9tZW50dW1QaGFzZSk7CisgICAgICAgIH0K
KworICAgICAgICBjdXJyZW50VGltZSArPSBTZWNvbmRzKDEgLyA2MC4wKTsKKyAgICB9CisKKyAg
ICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAq
dGhpcyB9LCBjYWxsYmFja0lEXSB7CisgICAgICAgIGlmICghbV9jb250ZXh0KQorICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICBtX2NvbnRleHQtPmFzeW5jVGFza0NvbXBsZXRlKGNhbGxiYWNr
SUQpOworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZ3RrL1VJU2NyaXB0Q29udHJvbGxlckd0ay5oIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9ndGsvVUlTY3JpcHRDb250cm9sbGVyR3RrLmgKaW5kZXggZWNhZjBhODI3
ZTk0MGFlNGQwZTc0ZmU1NjcxNGNjMjc4YjNlMDc4Yy4uZmI2YTJkNmNhYzlkMDhiNThlZjYwZjA5
MjMzOTEwM2VjNjVlZTU1MyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsv
VUlTY3JpcHRDb250cm9sbGVyR3RrLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsv
VUlTY3JpcHRDb250cm9sbGVyR3RrLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2ltdWxhdGVBY2Nlc3NpYmlsaXR5U2V0dGluZ3NDaGFuZ2VOb3RpZmljYXRpb24oSlNWYWx1
ZVJlZikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW1vdmVWaWV3RnJvbVdpbmRvdyhKU1ZhbHVlUmVm
KSBvdmVycmlkZTsKICAgICB2b2lkIGFkZFZpZXdUb1dpbmRvdyhKU1ZhbHVlUmVmKSBvdmVycmlk
ZTsKKyAgICB2b2lkIHNlbmRFdmVudFN0cmVhbShKU1N0cmluZ1JlZiwgSlNWYWx1ZVJlZikgb3Zl
cnJpZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVFIK
</data>
<flag name="review"
          id="474349"
          type_id="1"
          status="?"
          setter="clord"
    />
          </attachment>
      

    </bug>

</bugzilla>