<?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>210817</bug_id>
          
          <creation_ts>2020-04-21 14:51:14 -0700</creation_ts>
          <short_desc>[Web Animations] Add a supporting object for Document to manage timelines</short_desc>
          <delta_ts>2020-04-22 00:17: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>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1644032</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-21 14:51:14 -0700</bug_when>
    <thetext>[Web Animations] Add a supporting object for Document to manage timelines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644033</commentid>
    <comment_count>1</comment_count>
      <attachid>397127</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-21 14:54:21 -0700</bug_when>
    <thetext>Created attachment 397127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644040</commentid>
    <comment_count>2</comment_count>
      <attachid>397127</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-04-21 15:11:33 -0700</bug_when>
    <thetext>Comment on attachment 397127
Patch

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

&gt; Source/WebCore/animation/DocumentTimelinesController.cpp:65
&gt; +        if (!shouldUpdateAnimations &amp;&amp; timeline.scheduledUpdate())

Is it expensive to call scheduledUpdate()? if not, skip the !shouldUpdateAnimations

&gt; Source/WebCore/animation/DocumentTimelinesController.cpp:67
&gt; +        timelines.append(&amp;timeline);

We don&apos;t have a filter method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644236</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-22 00:10:41 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #2)
&gt; Comment on attachment 397127 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=397127&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/DocumentTimelinesController.cpp:65
&gt; &gt; +        if (!shouldUpdateAnimations &amp;&amp; timeline.scheduledUpdate())
&gt; 
&gt; Is it expensive to call scheduledUpdate()? if not, skip the
&gt; !shouldUpdateAnimations

Sure.

&gt; &gt; Source/WebCore/animation/DocumentTimelinesController.cpp:67
&gt; &gt; +        timelines.append(&amp;timeline);
&gt; 
&gt; We don&apos;t have a filter method?

We don&apos;t filter :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644240</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-22 00:17:01 -0700</bug_when>
    <thetext>Committed r260504: &lt;https://trac.webkit.org/changeset/260504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644241</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-22 00:17:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/62162278&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397127</attachid>
            <date>2020-04-21 14:54:21 -0700</date>
            <delta_ts>2020-04-21 15:11:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210817-20200421235420.patch</filename>
            <type>text/plain</type>
            <size>20173</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIxYjU5MDdjODFiNDk1
NGQ5ZDZmMTUxOTE5ODQwZTFmOTFhMGZiOC4uZGY2MGU1NjBhOGQ5ZjNjMDM0OTI5NDYzMzg2ODY4
OTcwZDM5N2ExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA0LTIxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBBZGQgYSBzdXBwb3J0aW5nIG9iamVjdCBmb3IgRG9jdW1lbnQgdG8gbWFuYWdlIHRpbWVsaW5l
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODE3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEg
bmV3IERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlciBvYmplY3Qgb3duZWQgYnkgRG9jdW1lbnQg
dG8gbWFuYWdlIERvY3VtZW50VGltZWxpbmVzIGNyZWF0ZWQgZm9yIGl0LiBUaGlzIHNpbXBsZSBw
aWVjZSBvZiByZWZhY3RvcmluZyBpcyB0aGUgZmlyc3QKKyAgICAgICAgc3RlcCB0b3dhcmRzIGEg
Y29vcmRpbmF0ZWQgInVwZGF0ZSBhbmltYXRpb25zIGFuZCBzZW5kIGV2ZW50cyIgcHJvY2VkdXJl
IHdoZXJlIGFsbCB0aW1lbGluZXMgYXJlIHVwZGF0ZWQgYXQgb25jZSB3aXRoIGEgc2luZ2xlIG1p
Y3JvdGFzayBjaGVja3BvaW50IGluc3RlYWQKKyAgICAgICAgb2YgZWFjaCB0aW1lbGluZSBydW5u
aW5nIG9uZS4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhbmltYXRpb24vRG9jdW1lbnRUaW1l
bGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRpbWVsaW5lOjpEb2N1bWVudFRp
bWVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6On5Eb2N1bWVudFRp
bWVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmNvbnRyb2xsZXIg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6ZGV0YWNoRnJvbURv
Y3VtZW50KToKKyAgICAgICAgKiBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oOgorICAgICAg
ICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6RG9jdW1lbnRUaW1l
bGluZXNDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29u
dHJvbGxlcjo6fkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6OmFkZFRpbWVsaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6cmVtb3ZlVGltZWxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjpkZXRhY2hGcm9tRG9j
dW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjp1
cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyk6CisgICAgICAgICogYW5pbWF0aW9uL0RvY3Vt
ZW50VGltZWxpbmVzQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbW1vblRlYXJkb3duKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjplbnN1cmVUaW1lbGluZXNDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkVGltZWxpbmUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZVRpbWVsaW5lKTogRGVsZXRlZC4K
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0
aW1lbGluZXNDb250cm9sbGVyIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6dXBkYXRlUmVuZGVyaW5nKToKKwogMjAyMC0wNC0yMCAgUm9z
cyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgQ2xhc3NlcyBt
YXJrZWQgZmluYWwgc2hvdWxkIG5vdCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKaW5kZXggYzU3NDc4YzIxYWZkYTkzN2UxZDFjMmU3OGU4NDZhYWU5YWQxNzRjOC4u
NmYxNTRmMTM5YzA0ZDU4YjQ4Njk5OTc5N2NhZGUzZjA3MzY4OTg3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
QEAgLTQ4MCw2ICs0ODAsNyBAQCBhbmltYXRpb24vQ1NTQW5pbWF0aW9uLmNwcAogYW5pbWF0aW9u
L0NTU1RyYW5zaXRpb24uY3BwCiBhbmltYXRpb24vRGVjbGFyYXRpdmVBbmltYXRpb24uY3BwCiBh
bmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKK2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5l
c0NvbnRyb2xsZXIuY3BwCiBhbmltYXRpb24vRWxlbWVudEFuaW1hdGlvblJhcmVEYXRhLmNwcAog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcAogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0U3Rh
Y2suY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMjhhMDAxNzcwNjE1MDEzOThmY2Q1NmRkNTczMjg3ZmIwYzc2YzE4Mi4uN2M4
MjAwYjlmNGM3ZjhhOWFjNWEzMzM4ZDNhZDc0ZWUyNTdmMzhkNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjEyOSw2ICsyMTI5
LDcgQEAKIAkJNzE1QUQ3MjEyMDUwNTEzRjAwRDU5MkRDIC8qIENTU1RyYW5zaXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxMjNDMTg2MjA0NzM5
QkEwMDc4OTM5MiAvKiBDU1NUcmFuc2l0aW9uLmggKi87IH07CiAJCTcxNzI5RjdCMjBGM0JBNDkw
MDgwMUNFNiAvKiBEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE3MjlGN0EyMEYzQkEzQTAwODAxQ0U2IC8qIERv
Y3VtZW50VGltZWxpbmVPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzE3MjlGN0UyMEYzQkI0NzAwODAxQ0U2IC8qIEpTRG9jdW1lbnRU
aW1lbGluZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcxNzI5RjdDMjBGM0JBQjkwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRp
b25zLmggKi87IH07CisJCTcxODFBMTZDMjQ0RjBGNDAwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVs
aW5lc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcxODFBMTY5MjQ0RjBGMkMwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3MUExQjYwODFERUU1QUQ3MDA3M0JDRkIgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2Fs
aXplZC1zdHJpbmdzLmpzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MUExQjYwNjFERUU1QTgyMDA3M0JDRkIgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xz
LWxvY2FsaXplZC1zdHJpbmdzLmpzICovOyB9OwogCQk3MUE1N0RGMjE1NEJFMjVDMDAwOUQxMjAg
LyogU1ZHUGF0aFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzFBNTdERjAxNTRCRTI1QzAwMDlEMTIwIC8qIFNWR1BhdGhVdGlsaXRpZXMu
aCAqLzsgfTsKIAkJNzFBNTgxOTYyMzZGNDY3NjAwRDgxQTI0IC8qIEtleWZyYW1lRWZmZWN0U3Rh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTU4
MTkzMjM2RjQ2NjQwMEQ4MUEyNCAvKiBLZXlmcmFtZUVmZmVjdFN0YWNrLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk2MzIsNiArOTYzMyw4IEBA
CiAJCTcxN0Y2MThFMUU0M0Q2MUEwMEYzNzAyNCAvKiB0ZXh0LXRyYWNrcy5jc3MgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LmNzczsgcGF0aCA9ICJ0ZXh0LXRyYWNrcy5jc3MiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3MTdGOTA1NzFEQzQwRUQ2MDAwNkY1MjAgLyogdm9sdW1lLXN1cHBvcnQuanMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAidm9sdW1lLXN1cHBvcnQu
anMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTdGOTA1ODFEQzRCQjYwMDAwNkY1
MjAgLyogYWlycGxheS1zdXBwb3J0LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0
OyBwYXRoID0gImFpcnBsYXktc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTcxODFBMTY5MjQ0RjBGMkMwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG9jdW1lbnRUaW1lbGluZXND
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxODFBMTZCMjQ0RjBG
MkQwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE4Njc1NDMxREYxMDFBRDAwMzNEN0Yz
IC8qIHNlZWstYnV0dG9uLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRo
ID0gInNlZWstYnV0dG9uLmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE4Njc1
NDQxREYxMDFDNjAwMzNEN0YzIC8qIHNlZWstYmFja3dhcmQtc3VwcG9ydC5qcyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJzZWVrLWJhY2t3YXJkLXN1cHBvcnQuanMi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTg2NzU0NTFERjEwMUM2MDAzM0Q3RjMg
Lyogc2Vlay1mb3J3YXJkLXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3Jp
cHQ7IHBhdGggPSAic2Vlay1mb3J3YXJkLXN1cHBvcnQuanMiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjEyMDksNiArMjEyMTIsOCBAQAogCQkJCTcxMDI1RUNBMUY5OUYwOTYwMDRB
MjUwQyAvKiBEb2N1bWVudFRpbWVsaW5lLmlkbCAqLywKIAkJCQk3MTcyOUY3QTIwRjNCQTNBMDA4
MDFDRTYgLyogRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCAqLywKIAkJCQk3MTcyOUY3OTIwRjNC
QTM5MDA4MDFDRTYgLyogRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaWRsICovLAorCQkJCTcxODFB
MTZCMjQ0RjBGMkQwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwICov
LAorCQkJCTcxODFBMTY5MjQ0RjBGMkMwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuaCAqLywKIAkJCQk3MTJCRTQ3QzFGRTg2NDQ4MDAyMDMxQ0MgLyogRWZmZWN0VGltaW5n
LmggKi8sCiAJCQkJNzEyQkU0N0ExRkU4NjQ0NzAwMjAzMUNDIC8qIEVmZmVjdFRpbWluZy5pZGwg
Ki8sCiAJCQkJNzExOTQ2NTUyNDE4MUU4NDAwNDY2QzExIC8qIEVsZW1lbnRBbmltYXRpb25SYXJl
RGF0YS5jcHAgKi8sCkBAIC0zMDExMCw2ICszMDExNSw3IEBACiAJCQkJMEI5MDU2MUEwRjI1NzhC
RjAwOTVGRjZBIC8qIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNzEwMjVFRDAxRjk5RjBDRTAwNEEyNTBDIC8qIERvY3VtZW50VGltZWxpbmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTcxNzI5RjdCMjBGM0JBNDkwMDgwMUNFNiAvKiBEb2N1bWVudFRpbWVsaW5l
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzE4MUExNkMyNDRGMEY0MDAwN0Q4QTI0IC8q
IERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZEOTgy
RjcxMjVDMTU0MDAwQUQ5RTNEIC8qIERvY3VtZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODE4NUYzOTA5NzY1NzY2MDA1ODI2RDkgLyogRG9jdW1lbnRUeXBlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5NzM4ODlBMTExNkVBOURDMDBBREYzMTMgLyogRG9jdW1lbnRXcml0ZXIuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50
VGltZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUu
Y3BwCmluZGV4IGFmZjZmYjUzMTIzZDFlYWQyZDZjZDc3ZmEyZGE1ZTE1MWFmOGFjNjcuLjFjYzE0
MmNkMWUwMDZhNzU5NTI0ZTMxMWM4MmRiOGEzYjA4ZGM4MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEZWNsYXJhdGl2ZUFuaW1hdGlvbi5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTY3LDcgKzY4LDggQEAgRG9jdW1lbnRUaW1lbGlu
ZTo6RG9jdW1lbnRUaW1lbGluZShEb2N1bWVudCYgZG9jdW1lbnQsIFNlY29uZHMgb3JpZ2luVGlt
ZSkKICAgICAsIG1fZG9jdW1lbnQobWFrZVdlYWtQdHIoZG9jdW1lbnQpKQogICAgICwgbV9vcmln
aW5UaW1lKG9yaWdpblRpbWUpCiB7Ci0gICAgZG9jdW1lbnQuYWRkVGltZWxpbmUoKnRoaXMpOwor
ICAgIGlmIChhdXRvKiBjb250cm9sbGVyID0gdGhpcy0+Y29udHJvbGxlcigpKQorICAgICAgICBj
b250cm9sbGVyLT5hZGRUaW1lbGluZSgqdGhpcyk7CiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1
bWVudC5wYWdlKCkpIHsKICAgICAgICAgaWYgKHBhZ2UtPnNldHRpbmdzKCkuaGlkZGVuUGFnZUNT
U0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKCkgJiYgIXBhZ2UtPmlzVmlzaWJsZSgpKQogICAg
ICAgICAgICAgc3VzcGVuZEFuaW1hdGlvbnMoKTsKQEAgLTc1LDE2ICs3NywyMyBAQCBEb2N1bWVu
dFRpbWVsaW5lOjpEb2N1bWVudFRpbWVsaW5lKERvY3VtZW50JiBkb2N1bWVudCwgU2Vjb25kcyBv
cmlnaW5UaW1lKQogfQogCiBEb2N1bWVudFRpbWVsaW5lOjp+RG9jdW1lbnRUaW1lbGluZSgpCit7
CisgICAgaWYgKGF1dG8qIGNvbnRyb2xsZXIgPSB0aGlzLT5jb250cm9sbGVyKCkpCisgICAgICAg
IGNvbnRyb2xsZXItPnJlbW92ZVRpbWVsaW5lKCp0aGlzKTsKK30KKworRG9jdW1lbnRUaW1lbGlu
ZXNDb250cm9sbGVyKiBEb2N1bWVudFRpbWVsaW5lOjpjb250cm9sbGVyKCkgY29uc3QKIHsKICAg
ICBpZiAobV9kb2N1bWVudCkKLSAgICAgICAgbV9kb2N1bWVudC0+cmVtb3ZlVGltZWxpbmUoKnRo
aXMpOworICAgICAgICByZXR1cm4gJm1fZG9jdW1lbnQtPmVuc3VyZVRpbWVsaW5lc0NvbnRyb2xs
ZXIoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogdm9pZCBEb2N1bWVudFRpbWVsaW5lOjpk
ZXRhY2hGcm9tRG9jdW1lbnQoKQogewogICAgIFJlZjxEb2N1bWVudFRpbWVsaW5lPiBwcm90ZWN0
ZWRUaGlzKCp0aGlzKTsKLSAgICBpZiAobV9kb2N1bWVudCkKLSAgICAgICAgbV9kb2N1bWVudC0+
cmVtb3ZlVGltZWxpbmUoKnRoaXMpOworICAgIGlmIChhdXRvKiBjb250cm9sbGVyID0gdGhpcy0+
Y29udHJvbGxlcigpKQorICAgICAgICBjb250cm9sbGVyLT5yZW1vdmVUaW1lbGluZSgqdGhpcyk7
CiAKICAgICBtX3BlbmRpbmdBbmltYXRpb25FdmVudHMuY2xlYXIoKTsKICAgICBtX2N1cnJlbnRU
aW1lQ2xlYXJpbmdUYXNrUXVldWUuY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
RG9jdW1lbnRUaW1lbGluZS5oCmluZGV4IDVmNmE4ZGNmZjRjYTJhYzE5MmY3NWE3Y2Q3YTlmYzFi
NjM0N2QxZWYuLjc1ZDc3NDhjNWJmNmY0YjRlNDU4OTlhM2VlYjgxZjRmZTU0MDVmMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaApAQCAtMzYsNiArMzYs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBbmltYXRpb25FdmVudEJhc2U7Citj
bGFzcyBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI7CiBjbGFzcyBSZW5kZXJFbGVtZW50Owog
CiBjbGFzcyBEb2N1bWVudFRpbWVsaW5lIGZpbmFsIDogcHVibGljIEFuaW1hdGlvblRpbWVsaW5l
CkBAIC04Nyw2ICs4OCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRG9jdW1lbnRUaW1lbGlu
ZShEb2N1bWVudCYsIFNlY29uZHMpOwogCisgICAgRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVy
KiBjb250cm9sbGVyKCkgY29uc3Q7CiAgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBsaXZlQ3VycmVu
dFRpbWUoKSBjb25zdDsKICAgICB2b2lkIGFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQW5pbWF0aW9u
cygpOwogICAgIHZvaWQgY2FjaGVDdXJyZW50VGltZShET01IaWdoUmVzVGltZVN0YW1wKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lc0NvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmVzQ29u
dHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ5M2M0ZTA3NDE2OWZiZTZkMWUyMGFlMmIxY2JiYzBj
ZGRiYjgyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1
bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJEb2N1
bWVudFRpbWVsaW5lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRG9jdW1lbnRUaW1lbGlu
ZXNDb250cm9sbGVyOjpEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIoKQoreworfQorCitEb2N1
bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6On5Eb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIoKQor
eworfQorCit2b2lkIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlcjo6YWRkVGltZWxpbmUoRG9j
dW1lbnRUaW1lbGluZSYgdGltZWxpbmUpCit7CisgICAgbV90aW1lbGluZXMuYWRkKHRpbWVsaW5l
KTsKK30KKwordm9pZCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6OnJlbW92ZVRpbWVsaW5l
KERvY3VtZW50VGltZWxpbmUmIHRpbWVsaW5lKQoreworICAgIG1fdGltZWxpbmVzLnJlbW92ZSh0
aW1lbGluZSk7Cit9CisKK3ZvaWQgRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyOjpkZXRhY2hG
cm9tRG9jdW1lbnQoKQoreworICAgIHdoaWxlICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgp
KQorICAgICAgICBtX3RpbWVsaW5lcy5iZWdpbigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKK30K
Kwordm9pZCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnNBbmRT
ZW5kRXZlbnRzKERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZXN0YW1wKQoreworICAgIEFTU0VSVCgh
bV90aW1lbGluZXMuaGFzTnVsbFJlZmVyZW5jZXMoKSk7CisKKyAgICAvLyBXZSBuZWVkIHRvIGNv
cHkgbV90aW1lbGluZXMgYmVmb3JlIGl0ZXJhdGluZyBvdmVyIGl0cyBtZW1iZXJzIHNpbmNlIGNh
bGxpbmcgdXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKSBtYXkgbXV0YXRlIG1fdGltZWxp
bmVzLgorICAgIFZlY3RvcjxSZWZQdHI8RG9jdW1lbnRUaW1lbGluZT4+IHRpbWVsaW5lczsKKyAg
ICBib29sIHNob3VsZFVwZGF0ZUFuaW1hdGlvbnMgPSBmYWxzZTsKKyAgICBmb3IgKGF1dG8mIHRp
bWVsaW5lIDogbV90aW1lbGluZXMpIHsKKyAgICAgICAgaWYgKCFzaG91bGRVcGRhdGVBbmltYXRp
b25zICYmIHRpbWVsaW5lLnNjaGVkdWxlZFVwZGF0ZSgpKQorICAgICAgICAgICAgc2hvdWxkVXBk
YXRlQW5pbWF0aW9ucyA9IHRydWU7CisgICAgICAgIHRpbWVsaW5lcy5hcHBlbmQoJnRpbWVsaW5l
KTsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8mIHRpbWVsaW5lIDogdGltZWxpbmVzKSB7CisgICAg
ICAgIHRpbWVsaW5lLT51cGRhdGVDdXJyZW50VGltZSh0aW1lc3RhbXApOworICAgICAgICBpZiAo
c2hvdWxkVXBkYXRlQW5pbWF0aW9ucykKKyAgICAgICAgICAgIHRpbWVsaW5lLT51cGRhdGVBbmlt
YXRpb25zQW5kU2VuZEV2ZW50cygpOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZXNDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZXNDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZlMzBkZjNlODlhOGZjZjA5Nzg2N2RhZmQwYmQ0
MTljYTkyMjgzMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9E
b2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJET01IaWdoUmVzVGltZVN0YW1wLmgiCisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnRUaW1lbGluZTsKKworY2xh
c3MgRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIo
KTsKKyAgICB+RG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyKCk7CisKKyAgICB2b2lkIGFkZFRp
bWVsaW5lKERvY3VtZW50VGltZWxpbmUmKTsKKyAgICB2b2lkIHJlbW92ZVRpbWVsaW5lKERvY3Vt
ZW50VGltZWxpbmUmKTsKKyAgICB2b2lkIGRldGFjaEZyb21Eb2N1bWVudCgpOworICAgIHZvaWQg
dXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoRE9NSGlnaFJlc1RpbWVTdGFtcCk7CisKK3By
aXZhdGU6CisgICAgV2Vha0hhc2hTZXQ8RG9jdW1lbnRUaW1lbGluZT4gbV90aW1lbGluZXM7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IDk4YzQwZGRjMGQ2MzVlZGNjOGZkMTM4YmE1OTMxYWU4MzdjMmViMTIuLjFjZGNmMGYyMjI0NGQ0
Y2IyN2E4YzRkYzIyMTI3MzIxYjEwNmYzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50U2hhcmVkT2JqZWN0UG9vbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50VGlt
ZWxpbmUuaCIKKyNpbmNsdWRlICJEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJEb2N1bWVudFR5cGUuaCIKICNpbmNsdWRlICJEcmFnRXZlbnQuaCIKICNpbmNsdWRlICJF
ZGl0aW5nLmgiCkBAIC03OTksOCArODAwLDkgQEAgdm9pZCBEb2N1bWVudDo6Y29tbW9uVGVhcmRv
d24oKQogCiAgICAgbV9wZW5kaW5nU2Nyb2xsRXZlbnRUYXJnZXRMaXN0ID0gbnVsbHB0cjsKIAot
ICAgIHdoaWxlICghbV90aW1lbGluZXMuY29tcHV0ZXNFbXB0eSgpKQotICAgICAgICBtX3RpbWVs
aW5lcy5iZWdpbigpLT5kZXRhY2hGcm9tRG9jdW1lbnQoKTsKKyAgICBpZiAobV90aW1lbGluZXND
b250cm9sbGVyKQorICAgICAgICBtX3RpbWVsaW5lc0NvbnRyb2xsZXItPmRldGFjaEZyb21Eb2N1
bWVudCgpOworCiAgICAgbV90aW1lbGluZSA9IG51bGxwdHI7CiB9CiAKQEAgLTYzNjYsMjYgKzYz
NjgsNiBAQCB2b2lkIERvY3VtZW50OjpyZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJD
YWxsYmFja3MoKQogICAgICAgICBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci0+cmVzdW1l
KCk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKERP
TUhpZ2hSZXNUaW1lU3RhbXAgdGltZXN0YW1wKQotewotICAgIEFTU0VSVCghbV90aW1lbGluZXMu
aGFzTnVsbFJlZmVyZW5jZXMoKSk7Ci0KLSAgICAvLyBXZSBuZWVkIHRvIGNvcHkgbV90aW1lbGlu
ZXMgYmVmb3JlIGl0ZXJhdGluZyBvdmVyIGl0cyBtZW1iZXJzIHNpbmNlIGNhbGxpbmcgdXBkYXRl
QW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKSBtYXkgbXV0YXRlIG1fdGltZWxpbmVzLgotICAgIFZl
Y3RvcjxSZWZQdHI8RG9jdW1lbnRUaW1lbGluZT4+IHRpbWVsaW5lczsKLSAgICBib29sIHNob3Vs
ZFVwZGF0ZUFuaW1hdGlvbnMgPSBmYWxzZTsKLSAgICBmb3IgKGF1dG8mIHRpbWVsaW5lIDogbV90
aW1lbGluZXMpIHsKLSAgICAgICAgaWYgKCFzaG91bGRVcGRhdGVBbmltYXRpb25zICYmIHRpbWVs
aW5lLnNjaGVkdWxlZFVwZGF0ZSgpKQotICAgICAgICAgICAgc2hvdWxkVXBkYXRlQW5pbWF0aW9u
cyA9IHRydWU7Ci0gICAgICAgIHRpbWVsaW5lcy5hcHBlbmQoJnRpbWVsaW5lKTsKLSAgICB9Ci0K
LSAgICBmb3IgKGF1dG8mIHRpbWVsaW5lIDogdGltZWxpbmVzKSB7Ci0gICAgICAgIHRpbWVsaW5l
LT51cGRhdGVDdXJyZW50VGltZSh0aW1lc3RhbXApOwotICAgICAgICBpZiAoc2hvdWxkVXBkYXRl
QW5pbWF0aW9ucykKLSAgICAgICAgICAgIHRpbWVsaW5lLT51cGRhdGVBbmltYXRpb25zQW5kU2Vu
ZEV2ZW50cygpOwotICAgIH0KLX0KLQogdm9pZCBEb2N1bWVudDo6c2VydmljZVJlcXVlc3RBbmlt
YXRpb25GcmFtZUNhbGxiYWNrcyhET01IaWdoUmVzVGltZVN0YW1wIHRpbWVzdGFtcCkKIHsKICAg
ICBpZiAobV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIpCkBAIC04MDkyLDE0ICs4MDc0LDEx
IEBAIHZvaWQgRG9jdW1lbnQ6OnNldENvbnNvbGVNZXNzYWdlTGlzdGVuZXIoUmVmUHRyPFN0cmlu
Z0NhbGxiYWNrPiYmIGxpc3RlbmVyKQogICAgIG1fY29uc29sZU1lc3NhZ2VMaXN0ZW5lciA9IGxp
c3RlbmVyOwogfQogCi12b2lkIERvY3VtZW50OjphZGRUaW1lbGluZShEb2N1bWVudFRpbWVsaW5l
JiB0aW1lbGluZSkKLXsKLSAgICBtX3RpbWVsaW5lcy5hZGQodGltZWxpbmUpOwotfQotCi12b2lk
IERvY3VtZW50OjpyZW1vdmVUaW1lbGluZShEb2N1bWVudFRpbWVsaW5lJiB0aW1lbGluZSkKK0Rv
Y3VtZW50VGltZWxpbmVzQ29udHJvbGxlciYgRG9jdW1lbnQ6OmVuc3VyZVRpbWVsaW5lc0NvbnRy
b2xsZXIoKQogewotICAgIG1fdGltZWxpbmVzLnJlbW92ZSh0aW1lbGluZSk7CisgICAgaWYgKCFt
X3RpbWVsaW5lc0NvbnRyb2xsZXIpCisgICAgICAgIG1fdGltZWxpbmVzQ29udHJvbGxlciA9IG1h
a2VVbmlxdWU8RG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyPigpOworICAgIHJldHVybiAqbV90
aW1lbGluZXNDb250cm9sbGVyLmdldCgpOwogfQogCiBEb2N1bWVudFRpbWVsaW5lJiBEb2N1bWVu
dDo6dGltZWxpbmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAyOTExMzRhYTIxMDc1MDM5NGVi
MDRmZTgyZTQyMDM2YzlmMmMzMWFiLi43NDBkMTkzZWQ2NzdjMjAwYWIxMThmY2NmMThhNDgyYzlm
ZGE4OTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IkNvbnRhaW5lck5vZGUuaCIKICNpbmNsdWRlICJEaXNhYmxlZEFkYXB0YXRpb25zLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnRJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGluZXND
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUaW1pbmcuaCIKICNpbmNsdWRlICJFbGVt
ZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCkBAIC0xMDc3LDcg
KzEwNzgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdXNwZW5kU2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyQ2FsbGJhY2tzKCk7CiAgICAgdm9pZCByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXJDYWxsYmFja3MoKTsKIAotICAgIHZvaWQgdXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVu
dHMoRE9NSGlnaFJlc1RpbWVTdGFtcCk7CiAgICAgdm9pZCBzZXJ2aWNlUmVxdWVzdEFuaW1hdGlv
bkZyYW1lQ2FsbGJhY2tzKERPTUhpZ2hSZXNUaW1lU3RhbXApOwogCiAgICAgdm9pZCB3aW5kb3dT
Y3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpOwpAQCAtMTQ4NSwxMiArMTQ4NSwxMiBA
QCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENvbnNvbGVNZXNzYWdlTGlz
dGVuZXIoUmVmUHRyPFN0cmluZ0NhbGxiYWNrPiYmKTsgLy8gRm9yIHRlc3RpbmcuCiAKLSAgICB2
b2lkIGFkZFRpbWVsaW5lKERvY3VtZW50VGltZWxpbmUmKTsKLSAgICB2b2lkIHJlbW92ZVRpbWVs
aW5lKERvY3VtZW50VGltZWxpbmUmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudFRpbWVs
aW5lJiB0aW1lbGluZSgpOwogICAgIERvY3VtZW50VGltZWxpbmUqIGV4aXN0aW5nVGltZWxpbmUo
KSBjb25zdCB7IHJldHVybiBtX3RpbWVsaW5lLmdldCgpOyB9CiAgICAgVmVjdG9yPFJlZlB0cjxX
ZWJBbmltYXRpb24+PiBnZXRBbmltYXRpb25zKCk7CiAgICAgVmVjdG9yPFJlZlB0cjxXZWJBbmlt
YXRpb24+PiBtYXRjaGluZ0FuaW1hdGlvbnMoY29uc3QgV1RGOjpGdW5jdGlvbjxib29sKEVsZW1l
bnQmKT4mKTsKKyAgICBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIqIHRpbWVsaW5lc0NvbnRy
b2xsZXIoKSBjb25zdCB7IHJldHVybiBtX3RpbWVsaW5lc0NvbnRyb2xsZXIuZ2V0KCk7IH0KKyAg
ICBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXImIGVuc3VyZVRpbWVsaW5lc0NvbnRyb2xsZXIo
KTsKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgdm9pZCByZWdpc3RlckF0
dGFjaG1lbnRJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYpOwpAQCAtMjA2OSw3ICsyMDY5LDcgQEAg
cHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBoYXNFdmVyQ3JlYXRlZEFuQVhPYmplY3RDYWNoZTsK
IAogICAgIFJlZlB0cjxEb2N1bWVudFRpbWVsaW5lPiBtX3RpbWVsaW5lOwotICAgIFdlYWtIYXNo
U2V0PERvY3VtZW50VGltZWxpbmU+IG1fdGltZWxpbmVzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxE
b2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXI+IG1fdGltZWxpbmVzQ29udHJvbGxlcjsKIAogICAg
IERvY3VtZW50SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IGZmMDE4MzhhMjE5YTIzNjE2ZmIwNWQzZDUyZDYzNzI3NzlkNDdlZmUuLjc0NTE1MTE1YTBkNTFh
YzFlNGJlMmE3MmRmYjNiYzRmMjlmMWUxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTM0MCw3
ICsxMzQwLDggQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKQogICAgICAgICBpZiAoIWRv
Y3VtZW50LmRvbVdpbmRvdygpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBET01IaWdo
UmVzVGltZVN0YW1wIHRpbWVzdGFtcCA9IGRvY3VtZW50LmRvbVdpbmRvdygpLT5ub3dUaW1lc3Rh
bXAoKTsKLSAgICAgICAgZG9jdW1lbnQudXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHModGlt
ZXN0YW1wKTsKKyAgICAgICAgaWYgKGF1dG8qIHRpbWVsaW5lc0NvbnRyb2xsZXIgPSBkb2N1bWVu
dC50aW1lbGluZXNDb250cm9sbGVyKCkpCisgICAgICAgICAgICB0aW1lbGluZXNDb250cm9sbGVy
LT51cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyh0aW1lc3RhbXApOwogICAgICAgICAvLyBG
SVhNRTogUnVuIHRoZSBmdWxsc2NyZWVuIHN0ZXBzLgogICAgICAgICBkb2N1bWVudC5zZXJ2aWNl
UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tzKHRpbWVzdGFtcCk7CiAgICAgfSk7Cg==
</data>
<flag name="review"
          id="412541"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>