<?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>60936</bug_id>
          
          <creation_ts>2011-05-16 17:36:17 -0700</creation_ts>
          <short_desc>Add currentTickCount() to get monotonically increasing time</short_desc>
          <delta_ts>2011-06-02 08:28: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>37743</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>58354</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Simonsen">simonjam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>fishd</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>jamesr</cc>
    
    <cc>mjs</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>tonyg</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>404843</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-16 17:36:17 -0700</bug_when>
    <thetext>We need a way to measure time without being affected by changes to the user&apos;s clock. Tick count should provide a monotonically increasing time that can be used to measure duration. We&apos;ll use this for Navigation Timing and it will also be useful for timing animations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404844</commentid>
    <comment_count>1</comment_count>
      <attachid>93719</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-16 17:38:16 -0700</bug_when>
    <thetext>Created attachment 93719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404845</commentid>
    <comment_count>2</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-16 17:39:32 -0700</bug_when>
    <thetext>This is just a primitive initial implementation. Each platform will need to implement this currentTickCount() correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404846</commentid>
    <comment_count>3</comment_count>
      <attachid>93719</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-16 17:42:31 -0700</bug_when>
    <thetext>Comment on attachment 93719
Patch

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

&gt; Source/WebCore/platform/chromium/SystemTimeChromium.cpp:48
&gt; +    uint64_t tickCount = static_cast&lt;uint64_t&gt;(currentTime() * 1000000.0);

why is this currentTime() * 1000000.0 when the wtf/ version is currentTimeMS() * 1000.0?

nit: i&apos;m bad at counting zeros so I like to write this sort of expression as 1000 * 1000</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404851</commentid>
    <comment_count>4</comment_count>
      <attachid>93720</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-16 17:48:27 -0700</bug_when>
    <thetext>Created attachment 93720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404855</commentid>
    <comment_count>5</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-16 17:49:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 93719 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93719&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/chromium/SystemTimeChromium.cpp:48
&gt; &gt; +    uint64_t tickCount = static_cast&lt;uint64_t&gt;(currentTime() * 1000000.0);
&gt; 
&gt; why is this currentTime() * 1000000.0 when the wtf/ version is currentTimeMS() * 1000.0?

It means an extra #include. I changed it so they match. (Note that the Chromium version will be replaced shortly anyway.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404864</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-16 17:56:00 -0700</bug_when>
    <thetext>+cc some folks for comment on the API

Monotonically non-decreasing isn&apos;t the most interesting property - uniformly increasing is.  I think this is a step in the right direction and assume that we&apos;ll want to implement this with the appropriate system APIs (mach_absolute_time(), QueryPerformanceCounter(), etc).  I&apos;m not sure &quot;tick count&quot; is the correct thing to call this - in chromium we call this TimeTicks, although in practice I always want to use this sort of API to measure intervals or durations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404913</commentid>
    <comment_count>7</comment_count>
      <attachid>93720</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-05-16 19:49:31 -0700</bug_when>
    <thetext>Comment on attachment 93720
Patch

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

&gt; Source/JavaScriptCore/wtf/CurrentTime.cpp:302
&gt; +        return lastTickCount;

1. This is clearly wrong since lastTickCount isn&apos;t set.
2. I find it sad that we have two copies of this code.
3. How does this work in the presence of multiple threads?

Ditto for the other instance of this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404950</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-16 23:14:28 -0700</bug_when>
    <thetext>The name &quot;tick count&quot; is quite opaque. Are you intentionally abstracting away how long a tick takes? Why is it not 1/60th of a second?

&gt; Monotonically non-decreasing isn&apos;t the most interesting property - uniformly increasing is.

I wonder if uniformly increasing time across sleeps can be implemented on a sufficiently large amount of platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405024</commentid>
    <comment_count>9</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-05-17 05:34:04 -0700</bug_when>
    <thetext>I&apos;m more interested in the duration of the document. I wonder why you describe the API as from an arbitrary point? Also, like JamesR, I expect this to be always increasing, not not-decreasing. It seems that in the current patch the tick would stop for an hour if the user&apos;s real clock moved backwards an hour.

Also, you never assign lastTickCount = tickCount. (Maybe you meant to do that in both return cases, in which case the tick would only stop once).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405165</commentid>
    <comment_count>10</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-17 10:56:07 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 93720 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93720&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/CurrentTime.cpp:302
&gt; &gt; +        return lastTickCount;
&gt; 
&gt; 1. This is clearly wrong since lastTickCount isn&apos;t set.

Yep, that was stupid. :( Fixed.

&gt; 2. I find it sad that we have two copies of this code.

It&apos;s only temporary. I expect each platform to implement it correctly. Chromium is special because it doesn&apos;t compile CurrentTime.cpp.

&gt; 3. How does this work in the presence of multiple threads?

It should work as well as currentTime() works now. There are similar blocks of code elsewhere in this file.

(In reply to comment #8)
&gt; The name &quot;tick count&quot; is quite opaque. Are you intentionally abstracting away how long a tick takes? Why is it not 1/60th of a second?

No, I&apos;m not trying to abstract it away. I only wanted a name that makes it clear it&apos;s different than currentTime() so they&apos;re not mixed up. The choice of units is somewhat arbitrary. I chose microseconds since that&apos;s what Chromium uses. Really, I&apos;d be happy with anything that has at least millisecond resolution. Does anyone else have a preference?

(In reply to comment #9)
&gt; I&apos;m more interested in the duration of the document. I wonder why you describe the API as from an arbitrary point?

That&apos;s definitely what I intend to use it for. We can grab a reference tick count when the document is created and then get deltas from that.

The purpose of the API is to measure duration, so the absolute value returned shouldn&apos;t be important. That&apos;s why I call it arbitrary. The platform can choose whatever point in time is convenient.

&gt; Also, like JamesR, I expect this to be always increasing, not not-decreasing. It seems that in the current patch the tick would stop for an hour if the user&apos;s real clock moved backwards an hour.

Yeah, my hope is that nobody ever uses this implementation. Ideally, each platform will implement a true always increasing clock.

Perhaps I shouldn&apos;t even provide this clearly hacky default implementation? Should I instead put this behind an ENABLE and force platforms to implement it in order to use features that require it? Or should we try to implement it correctly on all platforms in this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405166</commentid>
    <comment_count>11</comment_count>
      <attachid>93797</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-17 10:57:25 -0700</bug_when>
    <thetext>Created attachment 93797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409295</commentid>
    <comment_count>12</comment_count>
      <attachid>94709</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-24 16:28:20 -0700</bug_when>
    <thetext>Created attachment 94709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409307</commentid>
    <comment_count>13</comment_count>
      <attachid>94709</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-24 16:47:09 -0700</bug_when>
    <thetext>Comment on attachment 94709
Patch

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

This seems like a good start to me - there&apos;s a good implementation here for PLATFORM(MAC) and a reasonable fallback for other platforms, so we can start depending on it now and then improve the implementations on each port as we go.  Does that sound good to everyone?

&gt; Source/JavaScriptCore/wtf/CurrentTime.cpp:310
&gt; +    return mach_absolute_time() / 1000 * timebaseInfo.numer / timebaseInfo.denom;

nit: the order of operations/evaluation here is hard to follow, could you reorder or add some parens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409409</commentid>
    <comment_count>14</comment_count>
      <attachid>94735</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-24 20:38:34 -0700</bug_when>
    <thetext>Created attachment 94735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410227</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-25 23:26:30 -0700</bug_when>
    <thetext>*** Bug 61456 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412612</commentid>
    <comment_count>16</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-05-31 07:33:31 -0700</bug_when>
    <thetext>This seems the same issue of https://bugs.webkit.org/show_bug.cgi?id=37743

Can we merge them into one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412902</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-31 15:04:39 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 37743 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414140</commentid>
    <comment_count>18</comment_count>
      <attachid>94735</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-02 08:28:58 -0700</bug_when>
    <thetext>Comment on attachment 94735
Patch

Cleared review? from attachment 94735 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93719</attachid>
            <date>2011-05-16 17:38:16 -0700</date>
            <delta_ts>2011-05-16 17:48:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60936-20110516173815.patch</filename>
            <type>text/plain</type>
            <size>3562</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1NzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUz
YWQwNjY1MTFiMGI0YTVhMTNkMGJkMzk4YzlmZDZiMTI5NmVkOTQuLjIwNDRmNmYxMzQzNzhkYTA0
MTYzOWViOTFjYmE1Mjg4ZWJhYjhlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA1LTE2ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdGlt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzYK
KworICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6IEFkZCBwcmltaXRpdmUgY3VycmVudFRp
Y2tDb3VudCgpIHdoaWNoIGp1c3Qgd3JhcHMgY3VycmVudFRpbWUoKS4KKyAgICAgICAgKFdURjo6
Y3VycmVudFRpY2tDb3VudCk6CisgICAgICAgICogd3RmL0N1cnJlbnRUaW1lLmg6IEFkZCBjdXJy
ZW50VGlja0NvdW50KCkuCisKIDIwMTEtMDUtMTYgIFNpZGRoYXJ0aCBNYXRodXIgIDxzaWRkaGFy
dGgubWF0aHVyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9z
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJyZW50VGltZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAppbmRleCA0MjA1MjI3
NjA4NWU4MjA5ZWM4M2U5MWUxMTYwZGNhNzNjYmIxZDhmLi5iMWQ4ZjgxMDI4N2IyM2EzOTUxN2Yx
MjZlNTBhZjg0Yzk0OTUxYmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0N1cnJlbnRUaW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRU
aW1lLmNwcApAQCAtMjk0LDQgKzI5NCwxMyBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogCiAjZW5k
aWYKIAordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90
IGxhc3RUaWNrQ291bnQgPSAwOworICAgIHVpbnQ2NF90IHRpY2tDb3VudCA9IHN0YXRpY19jYXN0
PHVpbnQ2NF90PihjdXJyZW50VGltZU1TKCkgKiAxMDAwLjApOworICAgIGlmICh0aWNrQ291bnQg
PCBsYXN0VGlja0NvdW50KQorICAgICAgICByZXR1cm4gbGFzdFRpY2tDb3VudDsKKyAgICByZXR1
cm4gdGlja0NvdW50OworfQorCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQ3VycmVudFRpbWUuaAppbmRleCA1ZmNiNjNhODFmZGYyMDNlOWRiYjk4MjU2OTlkZWVj
ODYxN2UwYzNiLi40MDkwYzdlMjk0OWE3YTc4MWY1MWNmODA0ODdhMmNkYTRkZGI2ZmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJyZW50VGltZS5oCkBAIC01OCwxMSArNTgsMTQgQEAg
aW5saW5lIHZvaWQgZ2V0TG9jYWxUaW1lKGNvbnN0IHRpbWVfdCogbG9jYWxUaW1lLCBzdHJ1Y3Qg
dG0qIGxvY2FsVE0pCiAjZW5kaWYKIH0KIAorLy8gUHJvdmlkZXMgYSBub24tZGVjcmVhc2luZyBj
b3VudCBvZiBtaWNyb3NlY29uZHMgc2luY2UgYW4gYXJiaXRyYXJ5IHBvaW50IGluIHRoZSBwYXN0
LgordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgpOworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAog
dXNpbmcgV1RGOjpjdXJyZW50VGltZTsKIHVzaW5nIFdURjo6Y3VycmVudFRpbWVNUzsKIHVzaW5n
IFdURjo6Z2V0TG9jYWxUaW1lOwordXNpbmcgV1RGOjpjdXJyZW50VGlja0NvdW50OwogCiAjZW5k
aWYgLy8gQ3VycmVudFRpbWVfaAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDA3OGI1OWQ2MGUyMzJmMmQ4YTQ4
NGE4ZWY3MWU1MGFlNWZmZDUyYS4uMTZlZWUyOGVmODc2N2MxNWViODUzNWEzYWEzYTBhODY2ZDJl
ZTU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA1LTE2ICBKYW1lcyBTaW1v
bnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25v
dG9uaWNhbGx5IGluY3JlYXNpbmcgdGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1N5
c3RlbVRpbWVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJyZW50VGlja0NvdW50
KTogQWRkIHByaW1pdGl2ZSBjdXJyZW50VGlja0NvdW50KCkgd2hpY2gganVzdCB3cmFwcyBjdXJy
ZW50VGltZSgpLgorCiAyMDExLTA1LTE2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFdpbmRvd3MgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1
bS5jcHAKaW5kZXggOTNhYzhiMTIxZDRkY2RiN2IxYTc4NWRkOGI4ZTNkMWJhMTlmNDk2OS4uZTYx
ZjgyMzk3OWY2NWZiMjE5ZTg1YzM1YTJhOTMwNTgwNWUxYzQzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwCkBA
IC00Miw2ICs0MiwxNSBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogICAgIHJldHVybiBQbGF0Zm9y
bUJyaWRnZTo6Y3VycmVudFRpbWUoKTsKIH0KIAordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgp
Cit7CisgICAgc3RhdGljIHVpbnQ2NF90IGxhc3RUaWNrQ291bnQgPSAwOworICAgIHVpbnQ2NF90
IHRpY2tDb3VudCA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihjdXJyZW50VGltZSgpICogMTAwMDAw
MC4wKTsKKyAgICBpZiAodGlja0NvdW50IDwgbGFzdFRpY2tDb3VudCkKKyAgICAgICAgcmV0dXJu
IGxhc3RUaWNrQ291bnQ7CisgICAgcmV0dXJuIHRpY2tDb3VudDsKK30KKwogZmxvYXQgdXNlcklk
bGVUaW1lKCkKIHsKICAgICAvLyBOZWVkZWQgZm9yIGJhY2svZm9yd2FyZCBjYWNoZSwgd2hpY2gg
d2UgY3VycmVudGx5IGhhdmUgZGlzYWJsZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93720</attachid>
            <date>2011-05-16 17:48:27 -0700</date>
            <delta_ts>2011-05-17 10:57:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60936-20110516174826.patch</filename>
            <type>text/plain</type>
            <size>3694</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1NzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUz
YWQwNjY1MTFiMGI0YTVhMTNkMGJkMzk4YzlmZDZiMTI5NmVkOTQuLjIwNDRmNmYxMzQzNzhkYTA0
MTYzOWViOTFjYmE1Mjg4ZWJhYjhlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA1LTE2ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdGlt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzYK
KworICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6IEFkZCBwcmltaXRpdmUgY3VycmVudFRp
Y2tDb3VudCgpIHdoaWNoIGp1c3Qgd3JhcHMgY3VycmVudFRpbWUoKS4KKyAgICAgICAgKFdURjo6
Y3VycmVudFRpY2tDb3VudCk6CisgICAgICAgICogd3RmL0N1cnJlbnRUaW1lLmg6IEFkZCBjdXJy
ZW50VGlja0NvdW50KCkuCisKIDIwMTEtMDUtMTYgIFNpZGRoYXJ0aCBNYXRodXIgIDxzaWRkaGFy
dGgubWF0aHVyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9z
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJyZW50VGltZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAppbmRleCA0MjA1MjI3
NjA4NWU4MjA5ZWM4M2U5MWUxMTYwZGNhNzNjYmIxZDhmLi5iMWQ4ZjgxMDI4N2IyM2EzOTUxN2Yx
MjZlNTBhZjg0Yzk0OTUxYmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0N1cnJlbnRUaW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRU
aW1lLmNwcApAQCAtMjk0LDQgKzI5NCwxMyBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogCiAjZW5k
aWYKIAordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90
IGxhc3RUaWNrQ291bnQgPSAwOworICAgIHVpbnQ2NF90IHRpY2tDb3VudCA9IHN0YXRpY19jYXN0
PHVpbnQ2NF90PihjdXJyZW50VGltZU1TKCkgKiAxMDAwLjApOworICAgIGlmICh0aWNrQ291bnQg
PCBsYXN0VGlja0NvdW50KQorICAgICAgICByZXR1cm4gbGFzdFRpY2tDb3VudDsKKyAgICByZXR1
cm4gdGlja0NvdW50OworfQorCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQ3VycmVudFRpbWUuaAppbmRleCA1ZmNiNjNhODFmZGYyMDNlOWRiYjk4MjU2OTlkZWVj
ODYxN2UwYzNiLi40MDkwYzdlMjk0OWE3YTc4MWY1MWNmODA0ODdhMmNkYTRkZGI2ZmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJyZW50VGltZS5oCkBAIC01OCwxMSArNTgsMTQgQEAg
aW5saW5lIHZvaWQgZ2V0TG9jYWxUaW1lKGNvbnN0IHRpbWVfdCogbG9jYWxUaW1lLCBzdHJ1Y3Qg
dG0qIGxvY2FsVE0pCiAjZW5kaWYKIH0KIAorLy8gUHJvdmlkZXMgYSBub24tZGVjcmVhc2luZyBj
b3VudCBvZiBtaWNyb3NlY29uZHMgc2luY2UgYW4gYXJiaXRyYXJ5IHBvaW50IGluIHRoZSBwYXN0
LgordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgpOworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAog
dXNpbmcgV1RGOjpjdXJyZW50VGltZTsKIHVzaW5nIFdURjo6Y3VycmVudFRpbWVNUzsKIHVzaW5n
IFdURjo6Z2V0TG9jYWxUaW1lOwordXNpbmcgV1RGOjpjdXJyZW50VGlja0NvdW50OwogCiAjZW5k
aWYgLy8gQ3VycmVudFRpbWVfaAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDA3OGI1OWQ2MGUyMzJmMmQ4YTQ4
NGE4ZWY3MWU1MGFlNWZmZDUyYS4uMTZlZWUyOGVmODc2N2MxNWViODUzNWEzYWEzYTBhODY2ZDJl
ZTU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA1LTE2ICBKYW1lcyBTaW1v
bnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25v
dG9uaWNhbGx5IGluY3JlYXNpbmcgdGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1N5
c3RlbVRpbWVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJyZW50VGlja0NvdW50
KTogQWRkIHByaW1pdGl2ZSBjdXJyZW50VGlja0NvdW50KCkgd2hpY2gganVzdCB3cmFwcyBjdXJy
ZW50VGltZSgpLgorCiAyMDExLTA1LTE2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFdpbmRvd3MgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1
bS5jcHAKaW5kZXggOTNhYzhiMTIxZDRkY2RiN2IxYTc4NWRkOGI4ZTNkMWJhMTlmNDk2OS4uYTkx
YmY1MzhmMzA3OTg2ZTQzYjg4OTY2ZGRmMzRjYTU4YjZmYzFlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwCkBA
IC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtQnJpZGdlLmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNiArNDMsMTUgQEAgZG91YmxlIGN1cnJlbnRUaW1lKCkK
ICAgICByZXR1cm4gUGxhdGZvcm1CcmlkZ2U6OmN1cnJlbnRUaW1lKCk7CiB9CiAKK3VpbnQ2NF90
IGN1cnJlbnRUaWNrQ291bnQoKQoreworICAgIHN0YXRpYyB1aW50NjRfdCBsYXN0VGlja0NvdW50
ID0gMDsKKyAgICB1aW50NjRfdCB0aWNrQ291bnQgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oY3Vy
cmVudFRpbWVNUygpICogMTAwMC4wKTsKKyAgICBpZiAodGlja0NvdW50IDwgbGFzdFRpY2tDb3Vu
dCkKKyAgICAgICAgcmV0dXJuIGxhc3RUaWNrQ291bnQ7CisgICAgcmV0dXJuIHRpY2tDb3VudDsK
K30KKwogZmxvYXQgdXNlcklkbGVUaW1lKCkKIHsKICAgICAvLyBOZWVkZWQgZm9yIGJhY2svZm9y
d2FyZCBjYWNoZSwgd2hpY2ggd2UgY3VycmVudGx5IGhhdmUgZGlzYWJsZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93797</attachid>
            <date>2011-05-17 10:57:25 -0700</date>
            <delta_ts>2011-05-24 16:28:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60936-20110517105724.patch</filename>
            <type>text/plain</type>
            <size>3758</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1NzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUz
YWQwNjY1MTFiMGI0YTVhMTNkMGJkMzk4YzlmZDZiMTI5NmVkOTQuLjIwNDRmNmYxMzQzNzhkYTA0
MTYzOWViOTFjYmE1Mjg4ZWJhYjhlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA1LTE2ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdGlt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzYK
KworICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6IEFkZCBwcmltaXRpdmUgY3VycmVudFRp
Y2tDb3VudCgpIHdoaWNoIGp1c3Qgd3JhcHMgY3VycmVudFRpbWUoKS4KKyAgICAgICAgKFdURjo6
Y3VycmVudFRpY2tDb3VudCk6CisgICAgICAgICogd3RmL0N1cnJlbnRUaW1lLmg6IEFkZCBjdXJy
ZW50VGlja0NvdW50KCkuCisKIDIwMTEtMDUtMTYgIFNpZGRoYXJ0aCBNYXRodXIgIDxzaWRkaGFy
dGgubWF0aHVyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9z
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJyZW50VGltZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAppbmRleCA0MjA1MjI3
NjA4NWU4MjA5ZWM4M2U5MWUxMTYwZGNhNzNjYmIxZDhmLi5kMjAzMjc4NTczYTBhNjFkNzMxOGZk
NTFmYjAyYWU3MzY1M2M2YWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0N1cnJlbnRUaW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRU
aW1lLmNwcApAQCAtMjk0LDQgKzI5NCwxNCBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogCiAjZW5k
aWYKIAordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90
IGxhc3RUaWNrQ291bnQgPSAwOworICAgIHVpbnQ2NF90IHRpY2tDb3VudCA9IHN0YXRpY19jYXN0
PHVpbnQ2NF90PihjdXJyZW50VGltZU1TKCkgKiAxMDAwLjApOworICAgIGlmICh0aWNrQ291bnQg
PCBsYXN0VGlja0NvdW50KQorICAgICAgICByZXR1cm4gbGFzdFRpY2tDb3VudDsKKyAgICBsYXN0
VGlja0NvdW50ID0gdGlja0NvdW50OworICAgIHJldHVybiB0aWNrQ291bnQ7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJy
ZW50VGltZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJyZW50VGltZS5oCmluZGV4
IDVmY2I2M2E4MWZkZjIwM2U5ZGJiOTgyNTY5OWRlZWM4NjE3ZTBjM2IuLjQwOTBjN2UyOTQ5YTdh
NzgxZjUxY2Y4MDQ4N2EyY2RhNGRkYjZmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3VycmVudFRpbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1
cnJlbnRUaW1lLmgKQEAgLTU4LDExICs1OCwxNCBAQCBpbmxpbmUgdm9pZCBnZXRMb2NhbFRpbWUo
Y29uc3QgdGltZV90KiBsb2NhbFRpbWUsIHN0cnVjdCB0bSogbG9jYWxUTSkKICNlbmRpZgogfQog
CisvLyBQcm92aWRlcyBhIG5vbi1kZWNyZWFzaW5nIGNvdW50IG9mIG1pY3Jvc2Vjb25kcyBzaW5j
ZSBhbiBhcmJpdHJhcnkgcG9pbnQgaW4gdGhlIHBhc3QuCit1aW50NjRfdCBjdXJyZW50VGlja0Nv
dW50KCk7CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OmN1cnJlbnRUaW1lOwog
dXNpbmcgV1RGOjpjdXJyZW50VGltZU1TOwogdXNpbmcgV1RGOjpnZXRMb2NhbFRpbWU7Cit1c2lu
ZyBXVEY6OmN1cnJlbnRUaWNrQ291bnQ7CiAKICNlbmRpZiAvLyBDdXJyZW50VGltZV9oCi0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBkMDc4YjU5ZDYwZTIzMmYyZDhhNDg0YThlZjcxZTUwYWU1ZmZkNTJhLi4xNmVl
ZTI4ZWY4NzY3YzE1ZWI4NTM1YTNhYTNhMGE4NjZkMmVlNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDUtMTYgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBjdXJyZW50VGlja0NvdW50KCkgdG8gZ2V0IG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB0aW1l
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDkzNgor
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmN1cnJlbnRUaWNrQ291bnQpOiBBZGQgcHJpbWl0aXZlIGN1cnJlbnRU
aWNrQ291bnQoKSB3aGljaCBqdXN0IHdyYXBzIGN1cnJlbnRUaW1lKCkuCisKIDIwMTEtMDUtMTYg
IFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gV2luZG93cyBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcAppbmRleCA5M2FjOGIxMjFkNGRj
ZGI3YjFhNzg1ZGQ4YjhlM2QxYmExOWY0OTY5Li5lMDYxZWNkMzNmYThhNjYyMjE3MjgwNjY1YzE2
ZmI1OWY3OWRkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1bS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1CcmlkZ2UuaCIKKyNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw2
ICs0MywxNiBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogICAgIHJldHVybiBQbGF0Zm9ybUJyaWRn
ZTo6Y3VycmVudFRpbWUoKTsKIH0KIAordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgpCit7Cisg
ICAgc3RhdGljIHVpbnQ2NF90IGxhc3RUaWNrQ291bnQgPSAwOworICAgIHVpbnQ2NF90IHRpY2tD
b3VudCA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihjdXJyZW50VGltZU1TKCkgKiAxMDAwLjApOwor
ICAgIGlmICh0aWNrQ291bnQgPCBsYXN0VGlja0NvdW50KQorICAgICAgICByZXR1cm4gbGFzdFRp
Y2tDb3VudDsKKyAgICBsYXN0VGlja0NvdW50ID0gdGlja0NvdW50OworICAgIHJldHVybiB0aWNr
Q291bnQ7Cit9CisKIGZsb2F0IHVzZXJJZGxlVGltZSgpCiB7CiAgICAgLy8gTmVlZGVkIGZvciBi
YWNrL2ZvcndhcmQgY2FjaGUsIHdoaWNoIHdlIGN1cnJlbnRseSBoYXZlIGRpc2FibGVkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94709</attachid>
            <date>2011-05-24 16:28:20 -0700</date>
            <delta_ts>2011-05-24 20:38:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60936-20110524162819.patch</filename>
            <type>text/plain</type>
            <size>4564</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcxNDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDUw
NTQ5ZDM5ZTA1MDMwN2I1YWE4MzY2MTRlNDU5NTFhM2ZiZmM2ZDEuLmVmYmI0MjI1ODUxZTg3ZWQw
MGUyOGQ3YTZkNTg0YjRmYjFhMzYyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA1LTI0ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdGlt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzYK
KworICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6IEFkZCBjdXJyZW50VGlja0NvdW50KCkg
Zm9yIG1hYyBhbmQgYSBmYWxsYmFjayBpbXBsZW1lbnRhdGlvbiB0aGF0IGp1c3Qgd3JhcHMgY3Vy
cmVudFRpbWUoKS4KKyAgICAgICAgKFdURjo6Y3VycmVudFRpY2tDb3VudCk6CisgICAgICAgICog
d3RmL0N1cnJlbnRUaW1lLmg6IEFkZCBjdXJyZW50VGlja0NvdW50KCkuCisKIDIwMTEtMDUtMjMg
IEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9DdXJyZW50VGltZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRU
aW1lLmNwcAppbmRleCA0MjA1MjI3NjA4NWU4MjA5ZWM4M2U5MWUxMTYwZGNhNzNjYmIxZDhmLi40
NTlmYjQ3MGE4ODg0ZjdmMjc1YTc0MWRmNDE1ODg4NDc5ZTQ5MjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcApAQCAtMzMsNyArMzMsMTAgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDdXJyZW50VGltZS5oIgogCi0jaWYgT1MoV0lORE9XUykK
KyNpZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4KKyNpbmNsdWRl
IDxzeXMvdGltZS5oPgorI2VsaWYgT1MoV0lORE9XUykKIAogLy8gV2luZG93cyBpcyBmaXJzdCBz
aW5jZSB3ZSB3YW50IHRvIHVzZSBoaXJlcyB0aW1lcnMsIGRlc3BpdGUgVVNFKENGKQogLy8gYmVp
bmcgZGVmaW5lZC4KQEAgLTI5NCw0ICsyOTcsMzEgQEAgZG91YmxlIGN1cnJlbnRUaW1lKCkKIAog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisKK3VpbnQ2NF90IGN1cnJlbnRUaWNrQ291bnQo
KQoreworICAgIC8vIEJhc2VkIG9uIGxpc3RpbmcgIzIgZnJvbSBBcHBsZSBRQSAxMzk4LgorICAg
IHN0YXRpYyBtYWNoX3RpbWViYXNlX2luZm9fZGF0YV90IHRpbWViYXNlSW5mbzsKKyAgICBpZiAo
IXRpbWViYXNlSW5mby5kZW5vbSkgeworICAgICAgICBrZXJuX3JldHVybl90IGtyID0gbWFjaF90
aW1lYmFzZV9pbmZvKCZ0aW1lYmFzZUluZm8pOworICAgICAgICBBU1NFUlRfVU5VU0VEKGtyLCBr
ciA9PSBLRVJOX1NVQ0NFU1MpOworICAgIH0KKyAgICByZXR1cm4gbWFjaF9hYnNvbHV0ZV90aW1l
KCkgLyAxMDAwICogdGltZWJhc2VJbmZvLm51bWVyIC8gdGltZWJhc2VJbmZvLmRlbm9tOworfQor
CisjZWxzZQorCit1aW50NjRfdCBjdXJyZW50VGlja0NvdW50KCkKK3sKKyAgICBzdGF0aWMgdWlu
dDY0X3QgbGFzdFRpY2tDb3VudCA9IDA7CisgICAgdWludDY0X3QgdGlja0NvdW50ID0gc3RhdGlj
X2Nhc3Q8dWludDY0X3Q+KGN1cnJlbnRUaW1lTVMoKSAqIDEwMDAuMCk7CisgICAgaWYgKHRpY2tD
b3VudCA8IGxhc3RUaWNrQ291bnQpCisgICAgICAgIHJldHVybiBsYXN0VGlja0NvdW50OworICAg
IGxhc3RUaWNrQ291bnQgPSB0aWNrQ291bnQ7CisgICAgcmV0dXJuIHRpY2tDb3VudDsKK30KKwor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9DdXJyZW50VGltZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DdXJy
ZW50VGltZS5oCmluZGV4IDVmY2I2M2E4MWZkZjIwM2U5ZGJiOTgyNTY5OWRlZWM4NjE3ZTBjM2Iu
LmVmZGViZWVmNzJhMGNlYWM5ZDE4YWJkN2FlY2QwYTFiNDlkYWQ3ZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmgKQEAgLTU4LDExICs1OCwxNSBAQCBpbmxpbmUgdm9p
ZCBnZXRMb2NhbFRpbWUoY29uc3QgdGltZV90KiBsb2NhbFRpbWUsIHN0cnVjdCB0bSogbG9jYWxU
TSkKICNlbmRpZgogfQogCisvLyBQcm92aWRlcyBhIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyBj
b3VudCBvZiBtaWNyb3NlY29uZHMgc2luY2UgYW4gYXJiaXRyYXJ5IHBvaW50IGluIHRoZSBwYXN0
LgorLy8gT24gdW5zdXBwb3J0ZWQgcGxhdGZvcm1zLCB0aGlzIGZ1bmN0aW9uIG9ubHkgZ3VhcmFu
dGVlcyB0aGUgcmVzdWx0IHdpbGwgYmUgbm9uLWRlY3JlYXNpbmcuCit1aW50NjRfdCBjdXJyZW50
VGlja0NvdW50KCk7CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OmN1cnJlbnRU
aW1lOwogdXNpbmcgV1RGOjpjdXJyZW50VGltZU1TOwogdXNpbmcgV1RGOjpnZXRMb2NhbFRpbWU7
Cit1c2luZyBXVEY6OmN1cnJlbnRUaWNrQ291bnQ7CiAKICNlbmRpZiAvLyBDdXJyZW50VGltZV9o
Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA0OTRlZTc0NzY5N2E1MTRkYzU2N2M2ODU1NTZlMDExNmQyY2YyOTMz
Li5iZmU3Y2U2ZTM3MWRlNmY2YjcwOGE5MmNjNGVjMGEyM2YzMDg2NGRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMjQgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBjdXJyZW50VGlja0NvdW50KCkgdG8gZ2V0IG1vbm90b25pY2FsbHkgaW5jcmVhc2lu
ZyB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MDkzNgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmN1cnJlbnRUaWNrQ291bnQpOiBBZGQgcHJpbWl0aXZlIGN1
cnJlbnRUaWNrQ291bnQoKSB3aGljaCBqdXN0IHdyYXBzIGN1cnJlbnRUaW1lKCkuCisKIDIwMTEt
MDUtMjMgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwCmluZGV4IDkzYWM4
YjEyMWQ0ZGNkYjdiMWE3ODVkZDhiOGUzZDFiYTE5ZjQ5NjkuLmUwNjFlY2QzM2ZhOGE2NjIyMTcy
ODA2NjVjMTZmYjU5Zjc5ZGQ5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcApAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUJyaWRnZS5o
IgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQyLDYgKzQzLDE2IEBAIGRvdWJsZSBjdXJyZW50VGltZSgpCiAgICAgcmV0dXJuIFBsYXRm
b3JtQnJpZGdlOjpjdXJyZW50VGltZSgpOwogfQogCit1aW50NjRfdCBjdXJyZW50VGlja0NvdW50
KCkKK3sKKyAgICBzdGF0aWMgdWludDY0X3QgbGFzdFRpY2tDb3VudCA9IDA7CisgICAgdWludDY0
X3QgdGlja0NvdW50ID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGN1cnJlbnRUaW1lTVMoKSAqIDEw
MDAuMCk7CisgICAgaWYgKHRpY2tDb3VudCA8IGxhc3RUaWNrQ291bnQpCisgICAgICAgIHJldHVy
biBsYXN0VGlja0NvdW50OworICAgIGxhc3RUaWNrQ291bnQgPSB0aWNrQ291bnQ7CisgICAgcmV0
dXJuIHRpY2tDb3VudDsKK30KKwogZmxvYXQgdXNlcklkbGVUaW1lKCkKIHsKICAgICAvLyBOZWVk
ZWQgZm9yIGJhY2svZm9yd2FyZCBjYWNoZSwgd2hpY2ggd2UgY3VycmVudGx5IGhhdmUgZGlzYWJs
ZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94735</attachid>
            <date>2011-05-24 20:38:34 -0700</date>
            <delta_ts>2011-06-02 08:28:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60936-20110524203832.patch</filename>
            <type>text/plain</type>
            <size>4568</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcxNDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDUw
NTQ5ZDM5ZTA1MDMwN2I1YWE4MzY2MTRlNDU5NTFhM2ZiZmM2ZDEuLmVmYmI0MjI1ODUxZTg3ZWQw
MGUyOGQ3YTZkNTg0YjRmYjFhMzYyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTA1LTI0ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdGlt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MzYK
KworICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6IEFkZCBjdXJyZW50VGlja0NvdW50KCkg
Zm9yIG1hYyBhbmQgYSBmYWxsYmFjayBpbXBsZW1lbnRhdGlvbiB0aGF0IGp1c3Qgd3JhcHMgY3Vy
cmVudFRpbWUoKS4KKyAgICAgICAgKFdURjo6Y3VycmVudFRpY2tDb3VudCk6CisgICAgICAgICog
d3RmL0N1cnJlbnRUaW1lLmg6IEFkZCBjdXJyZW50VGlja0NvdW50KCkuCisKIDIwMTEtMDUtMjMg
IEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9DdXJyZW50VGltZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRU
aW1lLmNwcAppbmRleCA0MjA1MjI3NjA4NWU4MjA5ZWM4M2U5MWUxMTYwZGNhNzNjYmIxZDhmLi5i
OWE0NDZjY2YzYTFmMmExOWU1MDY4NDBmNTlhYjBmZDE2ZjUxNTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcApAQCAtMzMsNyArMzMsMTAgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDdXJyZW50VGltZS5oIgogCi0jaWYgT1MoV0lORE9XUykK
KyNpZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4KKyNpbmNsdWRl
IDxzeXMvdGltZS5oPgorI2VsaWYgT1MoV0lORE9XUykKIAogLy8gV2luZG93cyBpcyBmaXJzdCBz
aW5jZSB3ZSB3YW50IHRvIHVzZSBoaXJlcyB0aW1lcnMsIGRlc3BpdGUgVVNFKENGKQogLy8gYmVp
bmcgZGVmaW5lZC4KQEAgLTI5NCw0ICsyOTcsMzEgQEAgZG91YmxlIGN1cnJlbnRUaW1lKCkKIAog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisKK3VpbnQ2NF90IGN1cnJlbnRUaWNrQ291bnQo
KQoreworICAgIC8vIEJhc2VkIG9uIGxpc3RpbmcgIzIgZnJvbSBBcHBsZSBRQSAxMzk4LgorICAg
IHN0YXRpYyBtYWNoX3RpbWViYXNlX2luZm9fZGF0YV90IHRpbWViYXNlSW5mbzsKKyAgICBpZiAo
IXRpbWViYXNlSW5mby5kZW5vbSkgeworICAgICAgICBrZXJuX3JldHVybl90IGtyID0gbWFjaF90
aW1lYmFzZV9pbmZvKCZ0aW1lYmFzZUluZm8pOworICAgICAgICBBU1NFUlRfVU5VU0VEKGtyLCBr
ciA9PSBLRVJOX1NVQ0NFU1MpOworICAgIH0KKyAgICByZXR1cm4gKG1hY2hfYWJzb2x1dGVfdGlt
ZSgpICogdGltZWJhc2VJbmZvLm51bWVyKSAvICgxMDAwICogdGltZWJhc2VJbmZvLmRlbm9tKTsK
K30KKworI2Vsc2UKKwordWludDY0X3QgY3VycmVudFRpY2tDb3VudCgpCit7CisgICAgc3RhdGlj
IHVpbnQ2NF90IGxhc3RUaWNrQ291bnQgPSAwOworICAgIHVpbnQ2NF90IHRpY2tDb3VudCA9IHN0
YXRpY19jYXN0PHVpbnQ2NF90PihjdXJyZW50VGltZU1TKCkgKiAxMDAwLjApOworICAgIGlmICh0
aWNrQ291bnQgPCBsYXN0VGlja0NvdW50KQorICAgICAgICByZXR1cm4gbGFzdFRpY2tDb3VudDsK
KyAgICBsYXN0VGlja0NvdW50ID0gdGlja0NvdW50OworICAgIHJldHVybiB0aWNrQ291bnQ7Cit9
CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
Q3VycmVudFRpbWUuaAppbmRleCA1ZmNiNjNhODFmZGYyMDNlOWRiYjk4MjU2OTlkZWVjODYxN2Uw
YzNiLi5lZmRlYmVlZjcyYTBjZWFjOWQxOGFiZDdhZWNkMGExYjQ5ZGFkN2VhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9DdXJyZW50VGltZS5oCkBAIC01OCwxMSArNTgsMTUgQEAgaW5saW5l
IHZvaWQgZ2V0TG9jYWxUaW1lKGNvbnN0IHRpbWVfdCogbG9jYWxUaW1lLCBzdHJ1Y3QgdG0qIGxv
Y2FsVE0pCiAjZW5kaWYKIH0KIAorLy8gUHJvdmlkZXMgYSBtb25vdG9uaWNhbGx5IGluY3JlYXNp
bmcgY291bnQgb2YgbWljcm9zZWNvbmRzIHNpbmNlIGFuIGFyYml0cmFyeSBwb2ludCBpbiB0aGUg
cGFzdC4KKy8vIE9uIHVuc3VwcG9ydGVkIHBsYXRmb3JtcywgdGhpcyBmdW5jdGlvbiBvbmx5IGd1
YXJhbnRlZXMgdGhlIHJlc3VsdCB3aWxsIGJlIG5vbi1kZWNyZWFzaW5nLgordWludDY0X3QgY3Vy
cmVudFRpY2tDb3VudCgpOworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpjdXJy
ZW50VGltZTsKIHVzaW5nIFdURjo6Y3VycmVudFRpbWVNUzsKIHVzaW5nIFdURjo6Z2V0TG9jYWxU
aW1lOwordXNpbmcgV1RGOjpjdXJyZW50VGlja0NvdW50OwogCiAjZW5kaWYgLy8gQ3VycmVudFRp
bWVfaAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNDk0ZWU3NDc2OTdhNTE0ZGM1NjdjNjg1NTU2ZTAxMTZkMmNm
MjkzMy4uYmZlN2NlNmUzNzFkZTZmNmI3MDhhOTJjYzRlYzBhMjNmMzA4NjRkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA1LTI0ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFt
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgY3VycmVudFRpY2tDb3VudCgpIHRvIGdldCBtb25vdG9uaWNhbGx5IGluY3Jl
YXNpbmcgdGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjA5MzYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJyZW50VGlja0NvdW50KTogQWRkIHByaW1pdGl2
ZSBjdXJyZW50VGlja0NvdW50KCkgd2hpY2gganVzdCB3cmFwcyBjdXJyZW50VGltZSgpLgorCiAy
MDExLTA1LTIzICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcAppbmRleCA5
M2FjOGIxMjFkNGRjZGI3YjFhNzg1ZGQ4YjhlM2QxYmExOWY0OTY5Li5lMDYxZWNkMzNmYThhNjYy
MjE3MjgwNjY1YzE2ZmI1OWY3OWRkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1bS5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKIAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Ccmlk
Z2UuaCIKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC00Miw2ICs0MywxNiBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogICAgIHJldHVybiBQ
bGF0Zm9ybUJyaWRnZTo6Y3VycmVudFRpbWUoKTsKIH0KIAordWludDY0X3QgY3VycmVudFRpY2tD
b3VudCgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90IGxhc3RUaWNrQ291bnQgPSAwOworICAgIHVp
bnQ2NF90IHRpY2tDb3VudCA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihjdXJyZW50VGltZU1TKCkg
KiAxMDAwLjApOworICAgIGlmICh0aWNrQ291bnQgPCBsYXN0VGlja0NvdW50KQorICAgICAgICBy
ZXR1cm4gbGFzdFRpY2tDb3VudDsKKyAgICBsYXN0VGlja0NvdW50ID0gdGlja0NvdW50OworICAg
IHJldHVybiB0aWNrQ291bnQ7Cit9CisKIGZsb2F0IHVzZXJJZGxlVGltZSgpCiB7CiAgICAgLy8g
TmVlZGVkIGZvciBiYWNrL2ZvcndhcmQgY2FjaGUsIHdoaWNoIHdlIGN1cnJlbnRseSBoYXZlIGRp
c2FibGVkLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>