<?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>135814</bug_id>
          
          <creation_ts>2014-08-11 14:21:34 -0700</creation_ts>
          <short_desc>[Mac, iOS] Some media content never reaches full &apos;loaded&apos; state</short_desc>
          <delta_ts>2014-08-12 00:29:58 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1028309</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 14:21:34 -0700</bug_when>
    <thetext>Some &lt;media&gt; sources, including certain advertisements, cause pages to get stuck loading because they never achieve a full loaded state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028312</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 14:24:09 -0700</bug_when>
    <thetext>This bug is difficult to reproduce, because it is highly reliant on the media being served.

The bug happens because the duration returned by the AVFoundation media engine is getting truncated while being relayed from AVFoundation up to the HTMLMediaElement. This causes the value to be slightly different from the &quot;end point&quot; timestamp registered by AVFoundation for the media in question.

When the rounding conditions are just right, the truncated value is rounded down and we never reach 100% loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028313</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 14:24:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/17476923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028314</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 14:24:51 -0700</bug_when>
    <thetext>This seems to have been introduced in &lt;http://trac.webkit.org/changeset/169568&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028324</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 14:37:05 -0700</bug_when>
    <thetext>The correct solution to this problem is already available in &lt;https://bugs.webkit.org/show_bug.cgi?id=133579&gt;, but is on hold for the time being.

To work around the issue, we will do the following:

1. Check if the last played time range value, when cast to a float, matches the duration.
2. If it does, return the duration as this value instead of the slightly-different rounded version.

Once completed, instead of this failure case:

&gt; v=$0
&lt; &lt;video controls autoplay name=​&quot;media&quot; style=​&quot;max-width:​ 100%;​ max-height:​ 100%;​&quot;&gt;​…​&lt;/video&gt;​
&gt; v.duration
&lt; 25.066667556762695
&gt; v.buffered.end(0)
&lt; 25.066666666666666

... we should see
&gt; v.duration
&lt; 25.066667556762695
&gt; v.buffered.end(0)
&lt; 25.066667556762695</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028370</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 17:34:12 -0700</bug_when>
    <thetext>It turns out it&apos;s a little easier. We simply have some truncation happening in the MediaPlayerPrivate layer for AVFoundation. Things were already ready to hook up to the double version of these methods, so we can simply start using them and avoid this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028379</commentid>
    <comment_count>6</comment_count>
      <attachid>236419</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 17:51:36 -0700</bug_when>
    <thetext>Created attachment 236419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028387</commentid>
    <comment_count>7</comment_count>
      <attachid>236419</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-08-11 18:09:22 -0700</bug_when>
    <thetext>Comment on attachment 236419
Patch

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

Looks good! r=me.  It&apos;s good to see all those narrowPrecisionToFloat() calls gone.

&gt; LayoutTests/platform/mac/media/video-seek-past-end-paused-expected.txt:15
&gt; -EXPECTED (mediaElement.currentTime == &apos;mediaElement.duration&apos;), OBSERVED &apos;6.026666641235352&apos; FAIL
&gt; +EXPECTED (mediaElement.currentTime == &apos;mediaElement.duration&apos;), OBSERVED &apos;6.026666666666666&apos; FAIL

Ahh, this is how you know it&apos;s working. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028389</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 18:12:37 -0700</bug_when>
    <thetext>Committed r172425: &lt;http://trac.webkit.org/changeset/172425&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028391</commentid>
    <comment_count>9</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2014-08-11 18:21:42 -0700</bug_when>
    <thetext>Should we revert this change once the patch for 113579 goes in?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028418</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-08-11 22:12:16 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Should we revert this change once the patch for 113579 goes in?

No. I think the changes in that bug cover a lot of the same code, using MediaTime instead of float or double. Once we switch to that version, these changes will be removed as part of that merge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028441</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-08-12 00:29:58 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Committed r172425: &lt;http://trac.webkit.org/changeset/172425&gt;

It broke the Apple Windows build:

    1&gt;WebCore.lib(MediaPlayerPrivateAVFoundationCF.obj) : error LNK2001: unresolved external symbol &quot;private: virtual float __thiscall WebCore::MediaPlayerPrivateAVFoundationCF::currentTime(void)const &quot; (?currentTime@MediaPlayerPrivateAVFoundationCF@WebCore@@EBEMXZ)
     1&gt;C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\bin32\WebKit.dll : fatal error LNK1120: 1 unresolved externals
     1&gt;Done Building Project &quot;C:\cygwin\home\buildbot\slave\win-release\build\Source\WebKit\WebKit.vcxproj\WebKit\WebKit.vcxproj&quot; (Build target(s)) -- FAILED.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236419</attachid>
            <date>2014-08-11 17:51:36 -0700</date>
            <delta_ts>2014-08-11 18:09:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135814-20140811175126.patch</filename>
            <type>text/plain</type>
            <size>14723</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjQyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE0LTA4LTExICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWMsIGlPU10gU29tZSBt
ZWRpYSBjb250ZW50IG5ldmVyIHJlYWNoZXMgZnVsbCAnbG9hZGVkJyBzdGF0ZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1ODE0CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xNzQ3NjkyMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpkdXJhdGlvbik6IENoYW5nZSB0byBhIHdyYXBwZXIgdGhh
dCBqdXN0IGNhbGxzCisgICAgICAgIHRoZSBkdXJhdGlvbkRvdWJsZSBtZXRob2QgYW5kIG5hcnJv
d3MgdG8gYSBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbjo6ZHVyYXRpb25Eb3VibGUpOiBSZXZpc2VkIHZlcnNpb24gb2YgZHVyYXRpb24KKyAg
ICAgICAgdGhhdCB3b3JrcyB3aXRoIGRvdWJsZXMuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246OmN1cnJlbnRUaW1lKTogV3JhcHBlciB0aGF0IGNhbGxz
IHRoZQorICAgICAgICBjdXJyZW50VGltZURvdWJsZSBtZXRob2QgYW5kIG5hcnJvd3MgdG8gYSBm
bG9hdC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6
c2Vla1dpdGhUb2xlcmFuY2UpOiBVc2UgZHVyYXRpb25Eb3VibGUgZm9yCisgICAgICAgIGNvbXBh
cmlzb24gd2l0aCBwYXNzZWQgJ3RpbWUnIGFyZ3VtZW50ICh3aGljaCBpcyBhIGRvdWJsZSkuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmRpZEVuZCk6
IFVzZSAnY3VycmVudFRpbWVEb3VibGUnIHNvIHdlIGNhbgorICAgICAgICBjYWNoZSB0aGUgZG91
YmxlIHByZWNpc2lvbiB2ZXJzaW9uIG9mIHRoaXMgdmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmV4dHJhTWVtb3J5Q29zdCk6IFVzZSAnZHVy
YXRpb25Eb3VibGUnIHNpbmNlCisgICAgICAgIHRoZSByZXN0IG9mIHRoZSBjYWxjdWxhdGlvbiBp
cyBpbiB0ZXJtcyBvZiBkb3VibGVzLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uQ0Y6OnBsYXRmb3JtRHVyYXRpb24pOiBDb252ZXJ0IHRvICdkb3VibGUnLiBBbGwKKyAgICAg
ICAgdXNlcyBvZiB0aGlzIG1ldGhvZCBhcmUgaW50ZXJuYWwgdG8gdGhlIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbiogZmlsZXMuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25DRjo6Y3VycmVudFRpbWVEb3VibGUpOiBTd2l0Y2ggZnJvbSBmbG9h
dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbkNGOjpjdXJyZW50VGltZSk6IERlbGV0ZWQuIChNb3ZlZCB0byBwYXJlbnQgY2xh
c3MpCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0aW9uKTogQ29udmVydCB0byAn
ZG91YmxlJy4gQWxsCisgICAgICAgIHVzZXMgb2YgdGhpcyBtZXRob2QgYXJlIGludGVybmFsIHRv
IHRoZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24qIGZpbGVzLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3VycmVudFRpbWVEb3Vi
bGUpOiBTd2l0Y2ggZnJvbSBmbG9hdGluZyBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1cnJlbnRUaW1lKTogRGVs
ZXRlZC4gKE1vdmVkIHRvIHBhcmVudCBjbGFzcykKKwogMjAxNC0wOC0xMSAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSA8dmlkZW8+IGVsZW1lbnQgcmVx
dWVzdHMgYXJlIG1pc3Npbmcgc2Vzc2lvbiBjb29raWVzOyBzb21ldGltZXMgcGVyc2lzdGFudCBj
b29raWVzLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbi5jcHAJKHJldmlzaW9uIDE3MjQwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgiCiAKICNpbmNsdWRlICJEb2N1bWVudExvYWRl
ci5oIgorI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCkBAIC0y
NDYsMTggKzI0NywyOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6cGF1
CiAKIGZsb2F0IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6ZHVyYXRpb24oKSBjb25z
dAogeworICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9uRG91YmxlKCkp
OworfQorCitkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpkdXJhdGlvbkRv
dWJsZSgpIGNvbnN0Cit7CiAgICAgaWYgKG1fY2FjaGVkRHVyYXRpb24gIT0gTWVkaWFQbGF5ZXI6
OmludmFsaWRUaW1lKCkpCiAgICAgICAgIHJldHVybiBtX2NhY2hlZER1cmF0aW9uOwogCi0gICAg
ZmxvYXQgZHVyYXRpb24gPSBwbGF0Zm9ybUR1cmF0aW9uKCk7CisgICAgZG91YmxlIGR1cmF0aW9u
ID0gcGxhdGZvcm1EdXJhdGlvbigpOwogICAgIGlmICghZHVyYXRpb24gfHwgZHVyYXRpb24gPT0g
TWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgbV9j
YWNoZWREdXJhdGlvbiA9IGR1cmF0aW9uOwotICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbjo6ZHVyYXRpb24oJXApIC0gY2FjaGluZyAlZiIsIHRoaXMsIG1fY2Fj
aGVkRHVyYXRpb24pOworICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbjo6ZHVyYXRpb24oJXApIC0gY2FjaGluZyAlZyIsIHRoaXMsIG1fY2FjaGVkRHVyYXRpb24p
OwogICAgIHJldHVybiBtX2NhY2hlZER1cmF0aW9uOwogfQogCitmbG9hdCBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb246OmN1cnJlbnRUaW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbmFy
cm93UHJlY2lzaW9uVG9GbG9hdChjdXJyZW50VGltZURvdWJsZSgpKTsKK30KKwogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnNlZWsoZmxvYXQgdGltZSkKIHsKICAgICBzZWVr
V2l0aFRvbGVyYW5jZSh0aW1lLCAwLCAwKTsKQEAgLTI3NywxMCArMjg4LDEwIEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpzZWUKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxh
YmxlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICh0aW1lID4gZHVyYXRpb24oKSkKLSAg
ICAgICAgdGltZSA9IGR1cmF0aW9uKCk7CisgICAgaWYgKHRpbWUgPiBkdXJhdGlvbkRvdWJsZSgp
KQorICAgICAgICB0aW1lID0gZHVyYXRpb25Eb3VibGUoKTsKIAotICAgIGlmIChjdXJyZW50VGlt
ZSgpID09IHRpbWUpCisgICAgaWYgKGN1cnJlbnRUaW1lRG91YmxlKCkgPT0gdGltZSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgaWYgKGN1cnJlbnRUZXh0VHJhY2soKSkKQEAgLTY3Miw3ICs2ODMs
NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6ZGlkCiB7CiAgICAgLy8g
SGFuZyBvbnRvIHRoZSBjdXJyZW50IHRpbWUgYW5kIHVzZSBpdCBhcyBkdXJhdGlvbiBmcm9tIG5v
dyBvbiBzaW5jZSB3ZSBhcmUgZGVmaW5pdGVseSBhdAogICAgIC8vIHRoZSBlbmQgb2YgdGhlIG1v
dmllLiBEbyB0aGlzIGJlY2F1c2UgdGhlIGluaXRpYWwgZHVyYXRpb24gaXMgc29tZXRpbWVzIGFu
IGVzdGltYXRlLgotICAgIGZsb2F0IG5vdyA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIG5v
dyA9IGN1cnJlbnRUaW1lRG91YmxlKCk7CiAgICAgaWYgKG5vdyA+IDApCiAgICAgICAgIG1fY2Fj
aGVkRHVyYXRpb24gPSBub3c7CiAKQEAgLTk0OCw3ICs5NTksNyBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbjo6dHJhCiAKIHNpemVfdCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb246OmV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0CiB7Ci0gICAgZG91YmxlIGR1cmF0aW9u
ID0gdGhpcy0+ZHVyYXRpb24oKTsKKyAgICBkb3VibGUgZHVyYXRpb24gPSBkdXJhdGlvbkRvdWJs
ZSgpOwogICAgIGlmICghZHVyYXRpb24pCiAgICAgICAgIHJldHVybiAwOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCShy
ZXZpc2lvbiAxNzI0MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE3MCw3ICsxNzAsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIGhhc0F1ZGlv
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jYWNoZWRIYXNBdWRpbzsgfQogICAgIHZpcnR1
YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgZmxvYXQgZHVy
YXRpb24oKSBjb25zdCBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGZsb2F0IGN1cnJlbnRUaW1lKCkg
Y29uc3QgPSAwOworICAgIHZpcnR1YWwgZG91YmxlIGR1cmF0aW9uRG91YmxlKCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCBmbG9hdCBjdXJyZW50VGltZSgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIHZpcnR1YWwgZG91YmxlIGN1cnJlbnRUaW1lRG91YmxlKCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBzZWVrKGZsb2F0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vla1dp
dGhUb2xlcmFuY2UoZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBib29sIHNlZWtpbmcoKSBjb25zdCBvdmVycmlkZTsKQEAgLTI0Miw3ICsyNDQsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCBkb3VibGUgcGxhdGZvcm1NYXhUaW1lU2Vla2FibGUoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCBkb3VibGUgcGxhdGZvcm1NaW5UaW1lU2Vla2FibGUoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCBmbG9hdCBwbGF0Zm9ybU1heFRpbWVMb2FkZWQoKSBjb25zdCA9
IDA7Ci0gICAgdmlydHVhbCBmbG9hdCBwbGF0Zm9ybUR1cmF0aW9uKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgZG91YmxlIHBsYXRmb3JtRHVyYXRpb24oKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0
dWFsIHZvaWQgYmVnaW5Mb2FkaW5nTWV0YWRhdGEoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRy
YWNrc0NoYW5nZWQoKSA9IDA7CkBAIC0zMjksNyArMzMxLDcgQEAgcHJpdmF0ZToKICAgICBtdXRh
YmxlIGZsb2F0IG1fY2FjaGVkTWF4VGltZUxvYWRlZDsKICAgICBtdXRhYmxlIGRvdWJsZSBtX2Nh
Y2hlZE1heFRpbWVTZWVrYWJsZTsKICAgICBtdXRhYmxlIGRvdWJsZSBtX2NhY2hlZE1pblRpbWVT
ZWVrYWJsZTsKLSAgICBtdXRhYmxlIGZsb2F0IG1fY2FjaGVkRHVyYXRpb247CisgICAgbXV0YWJs
ZSBkb3VibGUgbV9jYWNoZWREdXJhdGlvbjsKICAgICBmbG9hdCBtX3JlcG9ydGVkRHVyYXRpb247
CiAgICAgbXV0YWJsZSBmbG9hdCBtX21heFRpbWVMb2FkZWRBdExhc3REaWRMb2FkaW5nUHJvZ3Jl
c3M7CiAgICAgZmxvYXQgbV9yZXF1ZXN0ZWRSYXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbkNGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCShy
ZXZpc2lvbiAxNzI0MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NjksNyArNTY5LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRjo6cAogICAgIHNldERlbGF5Q2FsbGJhY2tzKGZhbHNlKTsKIH0KIAotZmxvYXQgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OnBsYXRmb3JtRHVyYXRpb24oKSBjb25zdAor
ZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpwbGF0Zm9ybUR1cmF0aW9u
KCkgY29uc3QKIHsKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxhYmxlKCkgfHwgIWF2QXNzZXQobV9h
dmZXcmFwcGVyKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC01ODMsMjMgKzU4MywyMyBAQCBmbG9h
dCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6CiAgICAgICAgIGNtRHVyYXRpb24g
PSBBVkNGQXNzZXRHZXREdXJhdGlvbihhdkFzc2V0KG1fYXZmV3JhcHBlcikpOwogCiAgICAgaWYg
KENNVElNRV9JU19OVU1FUklDKGNtRHVyYXRpb24pKQotICAgICAgICByZXR1cm4gbmFycm93UHJl
Y2lzaW9uVG9GbG9hdChDTVRpbWVHZXRTZWNvbmRzKGNtRHVyYXRpb24pKTsKKyAgICAgICAgcmV0
dXJuIENNVGltZUdldFNlY29uZHMoY21EdXJhdGlvbik7CiAKICAgICBpZiAoQ01USU1FX0lTX0lO
REVGSU5JVEUoY21EdXJhdGlvbikpCi0gICAgICAgIHJldHVybiBudW1lcmljX2xpbWl0czxmbG9h
dD46OmluZmluaXR5KCk7CisgICAgICAgIHJldHVybiBudW1lcmljX2xpbWl0czxkb3VibGU+Ojpp
bmZpbml0eSgpOwogCiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uQ0Y6OnBsYXRmb3JtRHVyYXRpb24oJXApIC0gaW52YWxpZCBkdXJhdGlvbiwgcmV0dXJuaW5n
ICUuMGYiLCB0aGlzLCBzdGF0aWNfY2FzdDxmbG9hdD4oTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1l
KCkpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKTsKIH0KIAotZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OmN1
cnJlbnRUaW1lKCkgY29uc3QKK2RvdWJsZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25D
Rjo6Y3VycmVudFRpbWVEb3VibGUoKSBjb25zdAogewogICAgIGlmICghbWV0YURhdGFBdmFpbGFi
bGUoKSB8fCAhYXZQbGF5ZXJJdGVtKG1fYXZmV3JhcHBlcikpCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgQ01UaW1lIGl0ZW1UaW1lID0gQVZDRlBsYXllckl0ZW1HZXRDdXJyZW50VGltZShhdlBs
YXllckl0ZW0obV9hdmZXcmFwcGVyKSk7CiAgICAgaWYgKENNVElNRV9JU19OVU1FUklDKGl0ZW1U
aW1lKSkKLSAgICAgICAgcmV0dXJuIG1heChuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KENNVGltZUdl
dFNlY29uZHMoaXRlbVRpbWUpKSwgMC4wZik7CisgICAgICAgIHJldHVybiBzdGQ6Om1heChDTVRp
bWVHZXRTZWNvbmRzKGl0ZW1UaW1lKSwgMC4wKTsKIAogICAgIHJldHVybiAwOwogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbkNGLmgJKHJldmlzaW9uIDE3MjQwMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25D
Ri5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIHBsYXRmb3JtU2V0VmlzaWJsZShib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZv
cm1QbGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtUGF1c2UoKTsKLSAgICB2aXJ0dWFs
IGZsb2F0IGN1cnJlbnRUaW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBjdXJyZW50VGlt
ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgZG91YmxlIGN1cnJlbnRUaW1lRG91Ymxl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAg
ICAgdmlydHVhbCB2b2lkIHNldENsb3NlZENhcHRpb25zVmlzaWJsZShib29sKTsKICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwpAQCAtOTYs
NyArOTcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3Jt
VGltZVJhbmdlcz4gcGxhdGZvcm1CdWZmZXJlZFRpbWVSYW5nZXMoKSBjb25zdDsKICAgICB2aXJ0
dWFsIGRvdWJsZSBwbGF0Zm9ybU1pblRpbWVTZWVrYWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwg
ZG91YmxlIHBsYXRmb3JtTWF4VGltZVNlZWthYmxlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBmbG9h
dCBwbGF0Zm9ybUR1cmF0aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgcGxhdGZvcm1E
dXJhdGlvbigpIGNvbnN0OwogICAgIHZpcnR1YWwgZmxvYXQgcGxhdGZvcm1NYXhUaW1lTG9hZGVk
KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGJlZ2luTG9hZGluZ01ldGFkYXRhKCk7CiAgICAg
dmlydHVhbCB2b2lkIHNpemVDaGFuZ2VkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCShy
ZXZpc2lvbiAxNzI0MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE0Niw3ICsxNDYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBw
bGF0Zm9ybVNldFZpc2libGUoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtUGxheSgp
OwogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybVBhdXNlKCk7Ci0gICAgdmlydHVhbCBmbG9hdCBj
dXJyZW50VGltZSgpIGNvbnN0OworICAgIHZpcnR1YWwgZG91YmxlIGN1cnJlbnRUaW1lRG91Ymxl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAg
ICAgdmlydHVhbCB2b2lkIHNldENsb3NlZENhcHRpb25zVmlzaWJsZShib29sKTsKICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwpAQCAtMTgx
LDcgKzE4MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZv
cm1UaW1lUmFuZ2VzPiBwbGF0Zm9ybUJ1ZmZlcmVkVGltZVJhbmdlcygpIGNvbnN0OwogICAgIHZp
cnR1YWwgZG91YmxlIHBsYXRmb3JtTWluVGltZVNlZWthYmxlKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBkb3VibGUgcGxhdGZvcm1NYXhUaW1lU2Vla2FibGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGZs
b2F0IHBsYXRmb3JtRHVyYXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBwbGF0Zm9y
bUR1cmF0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCBmbG9hdCBwbGF0Zm9ybU1heFRpbWVMb2Fk
ZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5Mb2FkaW5nTWV0YWRhdGEoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2l6ZUNoYW5nZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bQkocmV2aXNpb24gMTcyNDAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMTA5NiwxMiArMTA5NiwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakM6CiAgICAgc2V0RGVsYXlDYWxsYmFja3MoZmFsc2UpOwogfQog
Ci1mbG9hdCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0
aW9uKCkgY29uc3QKK2RvdWJsZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpw
bGF0Zm9ybUR1cmF0aW9uKCkgY29uc3QKIHsKICAgICAvLyBEbyBub3QgYXNrIHRoZSBhc3NldCBm
b3IgZHVyYXRpb24gYmVmb3JlIGl0IGhhcyBiZWVuIGxvYWRlZCBvciBpdCB3aWxsIGZldGNoIHRo
ZQogICAgIC8vIGFuc3dlciBzeW5jaHJvbm91c2x5LgogICAgIGlmICghbV9hdkFzc2V0IHx8IGFz
c2V0U3RhdHVzKCkgPCBNZWRpYVBsYXllckFWQXNzZXRTdGF0dXNMb2FkZWQpCi0gICAgICAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCk7CisgICAgICAgIHJldHVybiBNZWRpYVBs
YXllcjo6aW52YWxpZFRpbWUoKTsKICAgICAKICAgICBDTVRpbWUgY21EdXJhdGlvbjsKICAgICAK
QEAgLTExMTIsMjQgKzExMTIsMjQgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQwogICAgICAgICBjbUR1cmF0aW9uPSBbbV9hdkFzc2V0LmdldCgpIGR1cmF0aW9uXTsK
IAogICAgIGlmIChDTVRJTUVfSVNfTlVNRVJJQyhjbUR1cmF0aW9uKSkKLSAgICAgICAgcmV0dXJu
IG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoQ01UaW1lR2V0U2Vjb25kcyhjbUR1cmF0aW9uKSk7Cisg
ICAgICAgIHJldHVybiBDTVRpbWVHZXRTZWNvbmRzKGNtRHVyYXRpb24pOwogCiAgICAgaWYgKENN
VElNRV9JU19JTkRFRklOSVRFKGNtRHVyYXRpb24pKSB7Ci0gICAgICAgIHJldHVybiBzdGQ6Om51
bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKTsKICAgICB9CiAKICAgICBMT0coTWVkaWEs
ICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0aW9uKCVw
KSAtIGludmFsaWQgZHVyYXRpb24sIHJldHVybmluZyAlLjBmIiwgdGhpcywgTWVkaWFQbGF5ZXI6
OmludmFsaWRUaW1lKCkpOwogICAgIHJldHVybiBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKTsK
IH0KIAotZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3VycmVudFRp
bWUoKSBjb25zdAorZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmN1
cnJlbnRUaW1lRG91YmxlKCkgY29uc3QKIHsKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxhYmxlKCkg
fHwgIW1fYXZQbGF5ZXJJdGVtKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIENNVGltZSBpdGVt
VGltZSA9IFttX2F2UGxheWVySXRlbS5nZXQoKSBjdXJyZW50VGltZV07CiAgICAgaWYgKENNVElN
RV9JU19OVU1FUklDKGl0ZW1UaW1lKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KG5hcnJvd1By
ZWNpc2lvblRvRmxvYXQoQ01UaW1lR2V0U2Vjb25kcyhpdGVtVGltZSkpLCAwLjBmKTsKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bWF4KENNVGltZUdldFNlY29uZHMoaXRlbVRpbWUpLCAwLjApOwogCiAg
ICAgcmV0dXJuIDA7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzI0MjIpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wOC0xMSAg
QnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjLCBpT1Nd
IFNvbWUgbWVkaWEgY29udGVudCBuZXZlciByZWFjaGVzIGZ1bGwgJ2xvYWRlZCcgc3RhdGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTgxNAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTc0NzY5MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWVkaWEvdmlkZW8tc2Vlay1w
YXN0LWVuZC1wYXVzZWQtZXhwZWN0ZWQudHh0OiBSZWJhc2VsaW5lCisgICAgICAgIHJlc3VsdCBm
b3IgbmV3IHJvdW5kaW5nIGJlaGF2aW9yLgorCiAyMDE0LTA4LTExICBCZXRoIERha2luICA8YmRh
a2luQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXhlZCBiYWNrZ3JvdW5kcyBkb24ndCBwYWludCBp
biBibHVycmVkIGluc2V0IGFyZWFzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVk
aWEvdmlkZW8tc2Vlay1wYXN0LWVuZC1wYXVzZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3MjQwMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9tZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNlZC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgRVhQRUNURUQgKG1lZGlhRWxlbWVudC5jdXJyZW50
VGltZSA+ICcwJwogRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAndHJ1ZScpIE9LCiAKIEVYUEVD
VEVEICh2aWRlby5wYXVzZWQgPT0gJ3RydWUnKSBPSwotRVhQRUNURUQgKG1lZGlhRWxlbWVudC5j
dXJyZW50VGltZSA9PSAnbWVkaWFFbGVtZW50LmR1cmF0aW9uJyksIE9CU0VSVkVEICc2LjAyNjY2
NjY0MTIzNTM1MicgRkFJTAorRVhQRUNURUQgKG1lZGlhRWxlbWVudC5jdXJyZW50VGltZSA9PSAn
bWVkaWFFbGVtZW50LmR1cmF0aW9uJyksIE9CU0VSVkVEICc2LjAyNjY2NjY2NjY2NjY2NicgRkFJ
TAogRVhQRUNURUQgKHZpZGVvLmVuZGVkID09ICd0cnVlJyksIE9CU0VSVkVEICdmYWxzZScgRkFJ
TAogCiBFTkQgT0YgVEVTVAo=
</data>
<flag name="review"
          id="261033"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
      

    </bug>

</bugzilla>