<?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>94719</bug_id>
          
          <creation_ts>2012-08-22 09:29:32 -0700</creation_ts>
          <short_desc>[Chromium] Unnecessary delay when starting to update resources with an inactive vsync timer.</short_desc>
          <delta_ts>2012-08-23 08:42:15 -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>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Reveman">reveman</reporter>
          <assigned_to name="David Reveman">reveman</assigned_to>
          <cc>brianderson</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>piman</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>702003</commentid>
    <comment_count>0</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 09:29:32 -0700</bug_when>
    <thetext>We&apos;re calling CCDelayBasedTimeSource::nextTickTime() before the timer is activated and nextTickTime() then returns 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702004</commentid>
    <comment_count>1</comment_count>
      <attachid>159953</attachid>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 09:32:46 -0700</bug_when>
    <thetext>Created attachment 159953
Patch

Simple fix. It might be more appropriate to re-factor CCScheduler to not call nextTickTime() on an inactive timer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702020</commentid>
    <comment_count>2</comment_count>
      <attachid>159953</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-08-22 10:03:09 -0700</bug_when>
    <thetext>Comment on attachment 159953
Patch

I like this. @brianderson?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702130</commentid>
    <comment_count>3</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 11:52:56 -0700</bug_when>
    <thetext>Increasing priority as this bug is causing animations driven of requestAnimationFrame to run at half of the nominal frame rate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702178</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-22 12:18:31 -0700</bug_when>
    <thetext>This seems OK.  The complexity here is getting scary.  Is there any way we could have caught this regression more directly?

I think Brian should take a look but we should land ASAP to get coverage back on the perf bots downstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702228</commentid>
    <comment_count>5</comment_count>
    <who name="Brian Anderson">brianderson</who>
    <bug_when>2012-08-22 12:44:01 -0700</bug_when>
    <thetext>I&apos;m fine with getting this in, but would like to change it eventually, since it&apos;s lying about what the next tick time actually is.  Also, the behavior for nextTickTime becomes intertwined with specific use cases of CCScheduler, which is only okay for now because CCDelayBasedTimeSource isn&apos;t used in many places.

Note: There is a comment in CCDelayBasedTimeSource.h indicating nextTickTime will return 0 if not active.  That comment should be changed to reflect the new behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702238</commentid>
    <comment_count>6</comment_count>
      <attachid>159953</attachid>
    <who name="Brian Anderson">brianderson</who>
    <bug_when>2012-08-22 12:59:27 -0700</bug_when>
    <thetext>Comment on attachment 159953
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:107
&gt; +    return monotonicTimeNow() + m_currentParameters.interval;

jbates brought up a good point that this fake time will not be vsync aligned.  Could this cause the texture uploading to run long and prevent us from going active again ASAP?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702245</commentid>
    <comment_count>7</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 13:10:01 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 159953 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159953&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:107
&gt; &gt; +    return monotonicTimeNow() + m_currentParameters.interval;
&gt; 
&gt; jbates brought up a good point that this fake time will not be vsync aligned.  Could this cause the texture uploading to run long and prevent us from going active again ASAP?

It looks to me as if tickTarget always becomes &quot;now + interval&quot; when the timer goes from inactive to active state. Maybe I&apos;m missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702246</commentid>
    <comment_count>8</comment_count>
      <attachid>159996</attachid>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 13:10:16 -0700</bug_when>
    <thetext>Created attachment 159996
Patch

Move comment to header</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702250</commentid>
    <comment_count>9</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 13:17:14 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;m fine with getting this in, but would like to change it eventually, since it&apos;s lying about what the next tick time actually is.  Also, the behavior for nextTickTime becomes intertwined with specific use cases of CCScheduler, which is only okay for now because CCDelayBasedTimeSource isn&apos;t used in many places.

Would changing CCScheduler so that it always activates the timer before calling nextTickTime() be enough?

&gt; 
&gt; Note: There is a comment in CCDelayBasedTimeSource.h indicating nextTickTime will return 0 if not active.  That comment should be changed to reflect the new behavior.

Fixed in latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702290</commentid>
    <comment_count>10</comment_count>
    <who name="Brian Anderson">brianderson</who>
    <bug_when>2012-08-22 13:45:14 -0700</bug_when>
    <thetext>&gt; It looks to me as if tickTarget always becomes &quot;now + interval&quot; when the timer goes from inactive to active state. Maybe I&apos;m missing something?

There is some additional logic in CCDelayBasedTimeSource::postNextTickTask that aligns &quot;now&quot; to the nearest vsync when the timer is activated.

&gt; Would changing CCScheduler so that it always activates the timer before calling nextTickTime() be enough?

That would prevent us from lying and would also automatically align nextTickTime to a vsync.  We would end up with ticks that are no-ops, but the overhead should be negligible.  Sounds like a good trade off to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702340</commentid>
    <comment_count>11</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-08-22 14:19:20 -0700</bug_when>
    <thetext>Recapping verbal discussion, how about reusing the lastTickTime of the DBTS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702390</commentid>
    <comment_count>12</comment_count>
      <attachid>160016</attachid>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 14:59:56 -0700</bug_when>
    <thetext>Created attachment 160016
Patch

Add nextTickTimeIfActivated and use postNextTickTask logic determine tick target when inactive</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702398</commentid>
    <comment_count>13</comment_count>
      <attachid>160016</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 15:10:36 -0700</bug_when>
    <thetext>Comment on attachment 160016
Patch

Attachment 160016 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13561421</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702433</commentid>
    <comment_count>14</comment_count>
      <attachid>160021</attachid>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-08-22 15:29:51 -0700</bug_when>
    <thetext>Created attachment 160021
Patch

Fix unit test and ASSERT in postNextTickTask</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702490</commentid>
    <comment_count>15</comment_count>
      <attachid>160021</attachid>
    <who name="Brian Anderson">brianderson</who>
    <bug_when>2012-08-22 16:02:01 -0700</bug_when>
    <thetext>Comment on attachment 160021
Patch

New version looks good.  It returns a vsync aligned timestamp, the function name doesn&apos;t lie about what it&apos;s doing, and it doesn&apos;t spuriously activate ticking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703028</commentid>
    <comment_count>16</comment_count>
      <attachid>160021</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 08:42:11 -0700</bug_when>
    <thetext>Comment on attachment 160021
Patch

Clearing flags on attachment: 160021

Committed r126431: &lt;http://trac.webkit.org/changeset/126431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703029</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 08:42:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159953</attachid>
            <date>2012-08-22 09:32:46 -0700</date>
            <delta_ts>2012-08-22 13:10:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94719-20120822123244.patch</filename>
            <type>text/plain</type>
            <size>1806</size>
            <attacher name="David Reveman">reveman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmMzAyYjA5MWQ1MTZm
YTAyMGRjYThmMjllYzI5YjE0OWEyYzcyYS4uOWY0ZGYwMGQwMjE3YWNlMzY1NjgyNGRlZDhjODU2
YWYyY2Q3YWE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTIyICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBV
bm5lY2Vzc2FyeSBkZWxheSB3aGVuIHN0YXJ0aW5nIHRvIHVwZGF0ZSByZXNvdXJjZXMgd2l0aCBh
biBpbmFjdGl2ZSB2c3luYyB0aW1lci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk0NzE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSGF2ZSBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpuZXh0VGlja1RpbWUo
KSByZXR1cm4gYSBtb3JlIHJlYXNvbmFibGUKKyAgICAgICAgdmFsdWUgd2hlbiB0aW1lciBpcyBp
bmFjdGl2ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Om5leHRUaWNrVGltZSk6CisKIDIwMTIt
MDgtMjIgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JF
U1NJT04ocjEyNTU3OCk6IGZhc3QvcmVnZXgvdW5pY29kZUNhc2VJbnNlbnNpdGl2ZS5odG1sIGNy
YXNoIG9uIExpbnV4IERlYnVnIENocm9taXVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNl
ZFRpbWVTb3VyY2UuY3BwCmluZGV4IDI3MTE3NDAwMmI4ZjYzODA0N2EwY2E4YmRmZGUxN2I5YmQz
NDkyNWQuLjkwYThkMTVjMjJlNTBjZDIyZjMyZWVlMGFiNDE4OThhN2Y4MzVhZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlC
YXNlZFRpbWVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwCkBAIC05OSw3ICs5OSwxMiBA
QCBkb3VibGUgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bGFzdFRpY2tUaW1lKCkKIAogZG91Ymxl
IENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Om5leHRUaWNrVGltZSgpCiB7Ci0gICAgcmV0dXJuIGFj
dGl2ZSgpID8gbV9jdXJyZW50UGFyYW1ldGVycy50aWNrVGFyZ2V0IDogMC4wOworICAgIGlmIChh
Y3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIG1fY3VycmVudFBhcmFtZXRlcnMudGlja1RhcmdldDsK
KworICAgIC8vIElmIHdlIGFyZW4ndCBhY3RpdmUsIHJldHVybiB0aWNrIHRpbWUgYXMgaWYgd2Ug
YXJlIGp1c3QgYWJvdXQgdG8KKyAgICAvLyBiZSBhY3RpdmF0ZWQuCisgICAgcmV0dXJuIG1vbm90
b25pY1RpbWVOb3coKSArIG1fY3VycmVudFBhcmFtZXRlcnMuaW50ZXJ2YWw7CiB9CiAKIHZvaWQg
Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6b25UaW1lckZpcmVkKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159996</attachid>
            <date>2012-08-22 13:10:16 -0700</date>
            <delta_ts>2012-08-22 14:59:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94719-20120822161014.patch</filename>
            <type>text/plain</type>
            <size>2580</size>
            <attacher name="David Reveman">reveman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmMzAyYjA5MWQ1MTZm
YTAyMGRjYThmMjllYzI5YjE0OWEyYzcyYS4uYzZhYTEwZjkwODc4OTBhOWY2MjgzMjJiZjA3YWY5
ZmYyOTQ4M2ViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTIyICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBV
bm5lY2Vzc2FyeSBkZWxheSB3aGVuIHN0YXJ0aW5nIHRvIHVwZGF0ZSByZXNvdXJjZXMgd2l0aCBh
biBpbmFjdGl2ZSB2c3luYyB0aW1lci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk0NzE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSGF2ZSBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpuZXh0VGlja1RpbWUo
KSByZXR1cm4gYSBtb3JlIHJlYXNvbmFibGUKKyAgICAgICAgdmFsdWUgd2hlbiB0aW1lciBpcyBp
bmFjdGl2ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Om5leHRUaWNrVGltZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5o
OgorCiAyMDEyLTA4LTIyICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSRUdSRVNTSU9OKHIxMjU1NzgpOiBmYXN0L3JlZ2V4L3VuaWNvZGVDYXNlSW5zZW5zaXRp
dmUuaHRtbCBjcmFzaCBvbiBMaW51eCBEZWJ1ZyBDaHJvbWl1bQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcAppbmRleCAyNzExNzQwMDJiOGY2MzgwNDdhMGNhOGJk
ZmRlMTdiOWJkMzQ5MjVkLi4yMGU5YjI5NTIyMTRkOWRiMmQxMDk2YTRlNzE2YjhkMmM5NDEzYjI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcApAQCAtOTks
NyArOTksMTAgQEAgZG91YmxlIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Omxhc3RUaWNrVGltZSgp
CiAKIGRvdWJsZSBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpuZXh0VGlja1RpbWUoKQogewotICAg
IHJldHVybiBhY3RpdmUoKSA/IG1fY3VycmVudFBhcmFtZXRlcnMudGlja1RhcmdldCA6IDAuMDsK
KyAgICBpZiAoYWN0aXZlKCkpCisgICAgICAgIHJldHVybiBtX2N1cnJlbnRQYXJhbWV0ZXJzLnRp
Y2tUYXJnZXQ7CisKKyAgICByZXR1cm4gbW9ub3RvbmljVGltZU5vdygpICsgbV9jdXJyZW50UGFy
YW1ldGVycy5pbnRlcnZhbDsKIH0KIAogdm9pZCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpvblRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5oCmluZGV4
IGY5OTgzNzQ0NmNkZDU4ZGI4NTMyZTQzMzM3MjQzODk0NjA4NjliYzIuLjE1ZjBlM2YzNzgzYzRi
MThjNDEzY2NmZWVlZThlMWRkYzViYTc3OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFz
ZWRUaW1lU291cmNlLmgKQEAgLTUwLDcgKzUwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBhY3RpdmUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX3N0YXRlICE9IFNUQVRFX0lOQUNU
SVZFOyB9CiAKICAgICAvLyBHZXQgdGhlIGxhc3QgYW5kIG5leHQgdGljayB0aW1lcy4KLSAgICAv
LyBJZiBub3QgYWN0aXZlLCBuZXh0VGlja1RpbWUgd2lsbCByZXR1cm4gMC4KKyAgICAvLyBJZiBu
b3QgYWN0aXZlLCBuZXh0VGlja1RpbWUgd2lsbCByZXR1cm4gYSB2YWx1ZSBhcyBpZiB3ZSBhcmUg
anVzdAorICAgIC8vIGFib3V0IHRvIGJlY29tZSBhY3RpdmUuCiAgICAgdmlydHVhbCBkb3VibGUg
bGFzdFRpY2tUaW1lKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBkb3VibGUgbmV4dFRpY2tUaW1l
KCkgT1ZFUlJJREU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160016</attachid>
            <date>2012-08-22 14:59:56 -0700</date>
            <delta_ts>2012-08-22 15:29:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94719-20120822175954.patch</filename>
            <type>text/plain</type>
            <size>7641</size>
            <attacher name="David Reveman">reveman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmMzAyYjA5MWQ1MTZm
YTAyMGRjYThmMjllYzI5YjE0OWEyYzcyYS4uM2ZiNGFkN2YzNGQ2NTEyZTRjMzI3MGNiN2Q1ZmE3
NzgyNzY2YWI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTIyICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBV
bm5lY2Vzc2FyeSBkZWxheSB3aGVuIHN0YXJ0aW5nIHRvIHVwZGF0ZSByZXNvdXJjZXMgd2l0aCBh
biBpbmFjdGl2ZSB2c3luYyB0aW1lci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk0NzE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVwbGFjZSBuZXh0VGlja1RpbWUoKSB3aXRoIG5leHRUaWNrVGltZUlm
QWN0aXZhdGVkKCkgYW5kIHJldHVybgorICAgICAgICBhcHByb3ByaWF0ZSB2YWx1ZSB3aGVuIHRp
bWVyIGlzIGluYWN0aXZlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bmV4dFRpY2tUaW1lSWZB
Y3RpdmF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bmV4
dFRpY2tUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpwb3N0TmV4dFRpY2tUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNDRnJhbWVSYXRlQ29udHJvbGxlcjo6bmV4dFRpY2tUaW1l
SWZBY3RpdmF0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RnJhbWVSYXRlQ29udHJvbGxlci5oOgorICAgICAgICAoQ0NGcmFtZVJhdGVDb250cm9sbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6cHJvY2Vzc1NjaGVkdWxlZEFjdGlvbnMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZVNvdXJjZS5o
OgorICAgICAgICAoQ0NUaW1lU291cmNlKToKKwogMjAxMi0wOC0yMiAgUm9iZXJ0IEhvZ2FuICA8
cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTI1NTc4KTogZmFzdC9y
ZWdleC91bmljb2RlQ2FzZUluc2Vuc2l0aXZlLmh0bWwgY3Jhc2ggb24gTGludXggRGVidWcgQ2hy
b21pdW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKaW5kZXgg
MjcxMTc0MDAyYjhmNjM4MDQ3YTBjYThiZGZkZTE3YjliZDM0OTI1ZC4uNDVhNWMwN2NiNjJhNGYy
NGZhYmU4ZjZiYzgwZGYyNWNmNjZhMjg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJh
c2VkVGltZVNvdXJjZS5jcHAKQEAgLTk3LDkgKzk3LDkgQEAgZG91YmxlIENDRGVsYXlCYXNlZFRp
bWVTb3VyY2U6Omxhc3RUaWNrVGltZSgpCiAgICAgcmV0dXJuIG1fbGFzdFRpY2tUaW1lOwogfQog
Ci1kb3VibGUgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bmV4dFRpY2tUaW1lKCkKK2RvdWJsZSBD
Q0RlbGF5QmFzZWRUaW1lU291cmNlOjpuZXh0VGlja1RpbWVJZkFjdGl2YXRlZCgpCiB7Ci0gICAg
cmV0dXJuIGFjdGl2ZSgpID8gbV9jdXJyZW50UGFyYW1ldGVycy50aWNrVGFyZ2V0IDogMC4wOwor
ICAgIHJldHVybiBhY3RpdmUoKSA/IG1fY3VycmVudFBhcmFtZXRlcnMudGlja1RhcmdldCA6IG5l
eHRUaWNrVGFyZ2V0KG1vbm90b25pY1RpbWVOb3coKSk7CiB9CiAKIHZvaWQgQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZTo6b25UaW1lckZpcmVkKCkKQEAgLTIwNyw3ICsyMDcsNyBAQCBkb3VibGUgQ0NE
ZWxheUJhc2VkVGltZVNvdXJjZTo6bW9ub3RvbmljVGltZU5vdygpIGNvbnN0CiAvLyAgICAgIG5v
dz0zNyAgIHRpY2tUYXJnZXQ9MTYuNjY3ICBuZXdUYXJnZXQ9NTAuMDAwICAtLT4gdGljaygpLCBw
b3N0RGVsYXllZFRhc2soZmxvb3IoNTAuMDAwLTM3KSkgLS0+IHBvc3REZWxheWVkVGFzaygxMykK
IC8vCiAvLyBOb3RlLCB0aGF0IGluIHRoZSBhYm92ZSBkaXNjdXNzaW9uLCB0aW1lcyBhcmUgZXhw
cmVzc2VkIGluIG1pbGxpc2Vjb25kcywgYnV0IGluIHRoZSBjb2RlLCBzZWNvbmRzIGFyZSB1c2Vk
Lgotdm9pZCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpwb3N0TmV4dFRpY2tUYXNrKGRvdWJsZSBu
b3cpCitkb3VibGUgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bmV4dFRpY2tUYXJnZXQoZG91Ymxl
IG5vdykKIHsKICAgICBkb3VibGUgbmV3SW50ZXJ2YWwgPSBtX25leHRQYXJhbWV0ZXJzLmludGVy
dmFsOwogICAgIGRvdWJsZSBpbnRlcnZhbHNFbGFwc2VkID0gZmxvb3IoKG5vdyAtIG1fbmV4dFBh
cmFtZXRlcnMudGlja1RhcmdldCkgLyBuZXdJbnRlcnZhbCk7CkBAIC0yMjEsNiArMjIxLDEzIEBA
IHZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6cG9zdE5leHRUaWNrVGFzayhkb3VibGUgbm93
KQogICAgIGlmIChuZXdUaWNrVGFyZ2V0IC0gbV9sYXN0VGlja1RpbWUgPD0gbmV3SW50ZXJ2YWwg
KiBkb3VibGVUaWNrVGhyZXNob2xkKQogICAgICAgICBuZXdUaWNrVGFyZ2V0ICs9IG5ld0ludGVy
dmFsOwogCisgICAgcmV0dXJuIG5ld1RpY2tUYXJnZXQ7Cit9CisKK3ZvaWQgQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZTo6cG9zdE5leHRUaWNrVGFzayhkb3VibGUgbm93KQoreworICAgIGRvdWJsZSBu
ZXdUaWNrVGFyZ2V0ID0gbmV4dFRpY2tUYXJnZXQobm93KTsKKwogICAgIC8vIFBvc3QgYW5vdGhl
ciB0YXNrICpiZWZvcmUqIHRoZSB0aWNrIGFuZCB1cGRhdGUgc3RhdGUKICAgICBkb3VibGUgZGVs
YXkgPSBuZXdUaWNrVGFyZ2V0IC0gbm93OwogICAgIEFTU0VSVChkZWxheSA8PSBuZXdJbnRlcnZh
bCAqICgxLjAgKyBkb3VibGVUaWNrVGhyZXNob2xkKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5
QmFzZWRUaW1lU291cmNlLmgKaW5kZXggZjk5ODM3NDQ2Y2RkNThkYjg1MzJlNDMzMzcyNDM4OTQ2
MDg2OWJjMi4uYzY4ZGMwYjk5M2NjZGU1MmI5NWZjNzhhMGMxYzU0NWZlMjBiZTMxMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxh
eUJhc2VkVGltZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuaApAQCAtNTAsOSArNTAsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFjdGl2ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IG1fc3RhdGUgIT0gU1RBVEVfSU5BQ1RJVkU7IH0KIAogICAgIC8vIEdldCB0aGUgbGFzdCBhbmQg
bmV4dCB0aWNrIHRpbWVzLgotICAgIC8vIElmIG5vdCBhY3RpdmUsIG5leHRUaWNrVGltZSB3aWxs
IHJldHVybiAwLgogICAgIHZpcnR1YWwgZG91YmxlIGxhc3RUaWNrVGltZSgpIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgZG91YmxlIG5leHRUaWNrVGltZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
ZG91YmxlIG5leHRUaWNrVGltZUlmQWN0aXZhdGVkKCkgT1ZFUlJJREU7CiAKICAgICAvLyBDQ1Rp
bWVyQ2xpZW50IGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBvblRpbWVyRmlyZWQo
KSBPVkVSUklERTsKQEAgLTYyLDYgKzYxLDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAg
Q0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUgaW50ZXJ2YWwsIENDVGhyZWFkKik7CisgICAg
ZG91YmxlIG5leHRUaWNrVGFyZ2V0KGRvdWJsZSBub3cpOwogICAgIHZvaWQgcG9zdE5leHRUaWNr
VGFzayhkb3VibGUgbm93KTsKIAogICAgIGVudW0gU3RhdGUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RnJhbWVSYXRlQ29udHJvbGxlci5jcHAKaW5kZXggNWIwMGZlZjc5ZGRiZTM4YjQwNzRkNTFkNGI0
MjE2ZjMyMDQ1MmYwZi4uOGQ4NWZiMzQyOTNlZmUwOTI4ODcyNjkwODBmZTZlZGU4NWI4MTRjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NGcmFtZVJhdGVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIuY3BwCkBAIC0xNTEsMTAg
KzE1MSwxMCBAQCB2b2lkIENDRnJhbWVSYXRlQ29udHJvbGxlcjo6ZGlkQWJvcnRBbGxQZW5kaW5n
RnJhbWVzKCkKICAgICBtX251bUZyYW1lc1BlbmRpbmcgPSAwOwogfQogCi1kb3VibGUgQ0NGcmFt
ZVJhdGVDb250cm9sbGVyOjpuZXh0VGlja1RpbWUoKQorZG91YmxlIENDRnJhbWVSYXRlQ29udHJv
bGxlcjo6bmV4dFRpY2tUaW1lSWZBY3RpdmF0ZWQoKQogewogICAgIGlmIChtX2lzVGltZVNvdXJj
ZVRocm90dGxpbmcpCi0gICAgICAgIHJldHVybiBtX3RpbWVTb3VyY2UtPm5leHRUaWNrVGltZSgp
OworICAgICAgICByZXR1cm4gbV90aW1lU291cmNlLT5uZXh0VGlja1RpbWVJZkFjdGl2YXRlZCgp
OwogCiAgICAgcmV0dXJuIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFt
ZVJhdGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIuaAppbmRleCAxM2Q4NTNiNzBiOGFlMGE0ZDJl
MGFmMzRhNGNkNTUwZmNiYmNmZTlkLi4xMWIyOWE3MmUyNTFhYWIwOWU0ZWMwMDFiZTE5ODkwOTBj
M2E0MjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIuaApAQCAtNjcs
NyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRGaW5pc2hGcmFtZSgpOwogICAgIHZvaWQg
ZGlkQWJvcnRBbGxQZW5kaW5nRnJhbWVzKCk7CiAgICAgdm9pZCBzZXRNYXhGcmFtZXNQZW5kaW5n
KGludCk7IC8vIDAgZm9yIHVubGltaXRlZC4KLSAgICBkb3VibGUgbmV4dFRpY2tUaW1lKCk7Cisg
ICAgZG91YmxlIG5leHRUaWNrVGltZUlmQWN0aXZhdGVkKCk7CiAKICAgICB2b2lkIHNldFRpbWVi
YXNlQW5kSW50ZXJ2YWwoZG91YmxlIHRpbWViYXNlLCBkb3VibGUgaW50ZXJ2YWxTZWNvbmRzKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwCmluZGV4IGZhM2RiZTFlZDE0ZWJlZjFiMmI0ODE4YTg0
MDk2ZmJiYTFmMzcwMGQuLjk5OWEwOGVjOWQwNTE0ODE3NGQxM2MwZmE1Mjg4YmVmMWIyZGJmNjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCB2b2lkIENDU2No
ZWR1bGVyOjpwcm9jZXNzU2NoZWR1bGVkQWN0aW9ucygpCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6QUNUSU9OX0JFR0lOX1VQREFURV9N
T1JFX1JFU09VUkNFUzoKICAgICAgICAgICAgIGlmIChtX2NsaWVudC0+aGFzTW9yZVJlc291cmNl
VXBkYXRlcygpKSB7Ci0gICAgICAgICAgICAgICAgbV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvblVw
ZGF0ZU1vcmVSZXNvdXJjZXMobV9mcmFtZVJhdGVDb250cm9sbGVyLT5uZXh0VGlja1RpbWUoKSk7
CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvblVwZGF0ZU1vcmVSZXNv
dXJjZXMobV9mcmFtZVJhdGVDb250cm9sbGVyLT5uZXh0VGlja1RpbWVJZkFjdGl2YXRlZCgpKTsK
ICAgICAgICAgICAgICAgICBtX3VwZGF0ZU1vcmVSZXNvdXJjZXNQZW5kaW5nID0gdHJ1ZTsKICAg
ICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIG1fc3RhdGVNYWNoaW5lLmJlZ2luVXBk
YXRlTW9yZVJlc291cmNlc0NvbXBsZXRlKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZVNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lU291cmNlLmgKaW5k
ZXggYzYzMDlkMjEwYjc2Yzk3ZjA0MTcwOGQ5NTQ0MDFmMjQ5ZjU2MWMzNS4uNDI2YTI1MzY0YzIy
YThiNGYyNDg3MjhmMmM5ZTE2MjAxZWZmMTJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lU291cmNlLmgKQEAg
LTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBhY3RpdmUoKSBjb25zdCA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFRpbWViYXNlQW5kSW50ZXJ2YWwoZG91YmxlIHRpbWVi
YXNlLCBkb3VibGUgaW50ZXJ2YWxTZWNvbmRzKSA9IDA7CiAgICAgdmlydHVhbCBkb3VibGUgbGFz
dFRpY2tUaW1lKCkgPSAwOwotICAgIHZpcnR1YWwgZG91YmxlIG5leHRUaWNrVGltZSgpID0gMDsK
KyAgICB2aXJ0dWFsIGRvdWJsZSBuZXh0VGlja1RpbWVJZkFjdGl2YXRlZCgpID0gMDsKIH07CiAK
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160021</attachid>
            <date>2012-08-22 15:29:51 -0700</date>
            <delta_ts>2012-08-23 08:42:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94719-20120822182948.patch</filename>
            <type>text/plain</type>
            <size>9191</size>
            <attacher name="David Reveman">reveman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmMzAyYjA5MWQ1MTZm
YTAyMGRjYThmMjllYzI5YjE0OWEyYzcyYS4uM2ZiNGFkN2YzNGQ2NTEyZTRjMzI3MGNiN2Q1ZmE3
NzgyNzY2YWI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTIyICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBV
bm5lY2Vzc2FyeSBkZWxheSB3aGVuIHN0YXJ0aW5nIHRvIHVwZGF0ZSByZXNvdXJjZXMgd2l0aCBh
biBpbmFjdGl2ZSB2c3luYyB0aW1lci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk0NzE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVwbGFjZSBuZXh0VGlja1RpbWUoKSB3aXRoIG5leHRUaWNrVGltZUlm
QWN0aXZhdGVkKCkgYW5kIHJldHVybgorICAgICAgICBhcHByb3ByaWF0ZSB2YWx1ZSB3aGVuIHRp
bWVyIGlzIGluYWN0aXZlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bmV4dFRpY2tUaW1lSWZB
Y3RpdmF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bmV4
dFRpY2tUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpwb3N0TmV4dFRpY2tUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNDRnJhbWVSYXRlQ29udHJvbGxlcjo6bmV4dFRpY2tUaW1l
SWZBY3RpdmF0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RnJhbWVSYXRlQ29udHJvbGxlci5oOgorICAgICAgICAoQ0NGcmFtZVJhdGVDb250cm9sbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6cHJvY2Vzc1NjaGVkdWxlZEFjdGlvbnMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGltZVNvdXJjZS5o
OgorICAgICAgICAoQ0NUaW1lU291cmNlKToKKwogMjAxMi0wOC0yMiAgUm9iZXJ0IEhvZ2FuICA8
cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTI1NTc4KTogZmFzdC9y
ZWdleC91bmljb2RlQ2FzZUluc2Vuc2l0aXZlLmh0bWwgY3Jhc2ggb24gTGludXggRGVidWcgQ2hy
b21pdW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNzgwNGVjZDk3ZjE0OWJmMDgzNDkw
MzIzMGU3N2IwMDE3Mjk0MTIyZi4uNzA3MjRhZDQzOTZhZGMzYTFmMWUxNWExMTQ2OWZlYzU5MjQz
YzMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0w
OC0yMiAgRGF2aWQgUmV2ZW1hbiAgPHJldmVtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtD
aHJvbWl1bV0gVW5uZWNlc3NhcnkgZGVsYXkgd2hlbiBzdGFydGluZyB0byB1cGRhdGUgcmVzb3Vy
Y2VzIHdpdGggYW4gaW5hY3RpdmUgdnN5bmMgdGltZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDcxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NTY2hlZHVsZXJUZXN0Q29tbW9uLmg6
CisKIDIwMTItMDgtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKaW5kZXggMjcxMTc0MDAyYjhmNjM4MDQ3YTBjYThi
ZGZkZTE3YjliZDM0OTI1ZC4uYzJhODg5MmQwZDgyY2EwODkwNmZkNmVhN2Q4OTU3YjhjMzNmYTAx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKQEAgLTk3
LDkgKzk3LDkgQEAgZG91YmxlIENDRGVsYXlCYXNlZFRpbWVTb3VyY2U6Omxhc3RUaWNrVGltZSgp
CiAgICAgcmV0dXJuIG1fbGFzdFRpY2tUaW1lOwogfQogCi1kb3VibGUgQ0NEZWxheUJhc2VkVGlt
ZVNvdXJjZTo6bmV4dFRpY2tUaW1lKCkKK2RvdWJsZSBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpu
ZXh0VGlja1RpbWVJZkFjdGl2YXRlZCgpCiB7Ci0gICAgcmV0dXJuIGFjdGl2ZSgpID8gbV9jdXJy
ZW50UGFyYW1ldGVycy50aWNrVGFyZ2V0IDogMC4wOworICAgIHJldHVybiBhY3RpdmUoKSA/IG1f
Y3VycmVudFBhcmFtZXRlcnMudGlja1RhcmdldCA6IG5leHRUaWNrVGFyZ2V0KG1vbm90b25pY1Rp
bWVOb3coKSk7CiB9CiAKIHZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6b25UaW1lckZpcmVk
KCkKQEAgLTIwNyw3ICsyMDcsNyBAQCBkb3VibGUgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bW9u
b3RvbmljVGltZU5vdygpIGNvbnN0CiAvLyAgICAgIG5vdz0zNyAgIHRpY2tUYXJnZXQ9MTYuNjY3
ICBuZXdUYXJnZXQ9NTAuMDAwICAtLT4gdGljaygpLCBwb3N0RGVsYXllZFRhc2soZmxvb3IoNTAu
MDAwLTM3KSkgLS0+IHBvc3REZWxheWVkVGFzaygxMykKIC8vCiAvLyBOb3RlLCB0aGF0IGluIHRo
ZSBhYm92ZSBkaXNjdXNzaW9uLCB0aW1lcyBhcmUgZXhwcmVzc2VkIGluIG1pbGxpc2Vjb25kcywg
YnV0IGluIHRoZSBjb2RlLCBzZWNvbmRzIGFyZSB1c2VkLgotdm9pZCBDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpwb3N0TmV4dFRpY2tUYXNrKGRvdWJsZSBub3cpCitkb3VibGUgQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZTo6bmV4dFRpY2tUYXJnZXQoZG91YmxlIG5vdykKIHsKICAgICBkb3VibGUgbmV3
SW50ZXJ2YWwgPSBtX25leHRQYXJhbWV0ZXJzLmludGVydmFsOwogICAgIGRvdWJsZSBpbnRlcnZh
bHNFbGFwc2VkID0gZmxvb3IoKG5vdyAtIG1fbmV4dFBhcmFtZXRlcnMudGlja1RhcmdldCkgLyBu
ZXdJbnRlcnZhbCk7CkBAIC0yMjEsOSArMjIxLDE2IEBAIHZvaWQgQ0NEZWxheUJhc2VkVGltZVNv
dXJjZTo6cG9zdE5leHRUaWNrVGFzayhkb3VibGUgbm93KQogICAgIGlmIChuZXdUaWNrVGFyZ2V0
IC0gbV9sYXN0VGlja1RpbWUgPD0gbmV3SW50ZXJ2YWwgKiBkb3VibGVUaWNrVGhyZXNob2xkKQog
ICAgICAgICBuZXdUaWNrVGFyZ2V0ICs9IG5ld0ludGVydmFsOwogCisgICAgcmV0dXJuIG5ld1Rp
Y2tUYXJnZXQ7Cit9CisKK3ZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6cG9zdE5leHRUaWNr
VGFzayhkb3VibGUgbm93KQoreworICAgIGRvdWJsZSBuZXdUaWNrVGFyZ2V0ID0gbmV4dFRpY2tU
YXJnZXQobm93KTsKKwogICAgIC8vIFBvc3QgYW5vdGhlciB0YXNrICpiZWZvcmUqIHRoZSB0aWNr
IGFuZCB1cGRhdGUgc3RhdGUKICAgICBkb3VibGUgZGVsYXkgPSBuZXdUaWNrVGFyZ2V0IC0gbm93
OwotICAgIEFTU0VSVChkZWxheSA8PSBuZXdJbnRlcnZhbCAqICgxLjAgKyBkb3VibGVUaWNrVGhy
ZXNob2xkKSk7CisgICAgQVNTRVJUKGRlbGF5IDw9IG1fbmV4dFBhcmFtZXRlcnMuaW50ZXJ2YWwg
KiAoMS4wICsgZG91YmxlVGlja1RocmVzaG9sZCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KGRlbGF5KTsKIAogICAgIG1fbmV4dFBhcmFtZXRlcnMudGlja1RhcmdldCA9IG5ld1RpY2tUYXJn
ZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmgKaW5kZXggZjk5ODM3
NDQ2Y2RkNThkYjg1MzJlNDMzMzcyNDM4OTQ2MDg2OWJjMi4uYzY4ZGMwYjk5M2NjZGU1MmI5NWZj
NzhhMGMxYzU0NWZlMjBiZTMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVT
b3VyY2UuaApAQCAtNTAsOSArNTAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFjdGl2
ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fc3RhdGUgIT0gU1RBVEVfSU5BQ1RJVkU7IH0K
IAogICAgIC8vIEdldCB0aGUgbGFzdCBhbmQgbmV4dCB0aWNrIHRpbWVzLgotICAgIC8vIElmIG5v
dCBhY3RpdmUsIG5leHRUaWNrVGltZSB3aWxsIHJldHVybiAwLgogICAgIHZpcnR1YWwgZG91Ymxl
IGxhc3RUaWNrVGltZSgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgZG91YmxlIG5leHRUaWNrVGlt
ZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgZG91YmxlIG5leHRUaWNrVGltZUlmQWN0aXZhdGVk
KCkgT1ZFUlJJREU7CiAKICAgICAvLyBDQ1RpbWVyQ2xpZW50IGltcGxlbWVudGF0aW9uLgogICAg
IHZpcnR1YWwgdm9pZCBvblRpbWVyRmlyZWQoKSBPVkVSUklERTsKQEAgLTYyLDYgKzYxLDcgQEAg
cHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgQ0NEZWxheUJhc2VkVGltZVNvdXJjZShkb3VibGUg
aW50ZXJ2YWwsIENDVGhyZWFkKik7CisgICAgZG91YmxlIG5leHRUaWNrVGFyZ2V0KGRvdWJsZSBu
b3cpOwogICAgIHZvaWQgcG9zdE5leHRUaWNrVGFzayhkb3VibGUgbm93KTsKIAogICAgIGVudW0g
U3RhdGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRnJhbWVSYXRlQ29udHJvbGxlci5jcHAKaW5kZXgg
NWIwMGZlZjc5ZGRiZTM4YjQwNzRkNTFkNGI0MjE2ZjMyMDQ1MmYwZi4uOGQ4NWZiMzQyOTNlZmUw
OTI4ODcyNjkwODBmZTZlZGU4NWI4MTRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0
ZUNvbnRyb2xsZXIuY3BwCkBAIC0xNTEsMTAgKzE1MSwxMCBAQCB2b2lkIENDRnJhbWVSYXRlQ29u
dHJvbGxlcjo6ZGlkQWJvcnRBbGxQZW5kaW5nRnJhbWVzKCkKICAgICBtX251bUZyYW1lc1BlbmRp
bmcgPSAwOwogfQogCi1kb3VibGUgQ0NGcmFtZVJhdGVDb250cm9sbGVyOjpuZXh0VGlja1RpbWUo
KQorZG91YmxlIENDRnJhbWVSYXRlQ29udHJvbGxlcjo6bmV4dFRpY2tUaW1lSWZBY3RpdmF0ZWQo
KQogewogICAgIGlmIChtX2lzVGltZVNvdXJjZVRocm90dGxpbmcpCi0gICAgICAgIHJldHVybiBt
X3RpbWVTb3VyY2UtPm5leHRUaWNrVGltZSgpOworICAgICAgICByZXR1cm4gbV90aW1lU291cmNl
LT5uZXh0VGlja1RpbWVJZkFjdGl2YXRlZCgpOwogCiAgICAgcmV0dXJuIG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIu
aAppbmRleCAxM2Q4NTNiNzBiOGFlMGE0ZDJlMGFmMzRhNGNkNTUwZmNiYmNmZTlkLi4xMWIyOWE3
MmUyNTFhYWIwOWU0ZWMwMDFiZTE5ODkwOTBjM2E0MjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Zy
YW1lUmF0ZUNvbnRyb2xsZXIuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBk
aWRGaW5pc2hGcmFtZSgpOwogICAgIHZvaWQgZGlkQWJvcnRBbGxQZW5kaW5nRnJhbWVzKCk7CiAg
ICAgdm9pZCBzZXRNYXhGcmFtZXNQZW5kaW5nKGludCk7IC8vIDAgZm9yIHVubGltaXRlZC4KLSAg
ICBkb3VibGUgbmV4dFRpY2tUaW1lKCk7CisgICAgZG91YmxlIG5leHRUaWNrVGltZUlmQWN0aXZh
dGVkKCk7CiAKICAgICB2b2lkIHNldFRpbWViYXNlQW5kSW50ZXJ2YWwoZG91YmxlIHRpbWViYXNl
LCBkb3VibGUgaW50ZXJ2YWxTZWNvbmRzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwCmluZGV4
IGZhM2RiZTFlZDE0ZWJlZjFiMmI0ODE4YTg0MDk2ZmJiYTFmMzcwMGQuLjk5OWEwOGVjOWQwNTE0
ODE3NGQxM2MwZmE1Mjg4YmVmMWIyZGJmNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAKQEAg
LTE3NSw3ICsxNzUsNyBAQCB2b2lkIENDU2NoZWR1bGVyOjpwcm9jZXNzU2NoZWR1bGVkQWN0aW9u
cygpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDQ1NjaGVkdWxlclN0YXRlTWFj
aGluZTo6QUNUSU9OX0JFR0lOX1VQREFURV9NT1JFX1JFU09VUkNFUzoKICAgICAgICAgICAgIGlm
IChtX2NsaWVudC0+aGFzTW9yZVJlc291cmNlVXBkYXRlcygpKSB7Ci0gICAgICAgICAgICAgICAg
bV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvblVwZGF0ZU1vcmVSZXNvdXJjZXMobV9mcmFtZVJhdGVD
b250cm9sbGVyLT5uZXh0VGlja1RpbWUoKSk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPnNj
aGVkdWxlZEFjdGlvblVwZGF0ZU1vcmVSZXNvdXJjZXMobV9mcmFtZVJhdGVDb250cm9sbGVyLT5u
ZXh0VGlja1RpbWVJZkFjdGl2YXRlZCgpKTsKICAgICAgICAgICAgICAgICBtX3VwZGF0ZU1vcmVS
ZXNvdXJjZXNQZW5kaW5nID0gdHJ1ZTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
ICAgIG1fc3RhdGVNYWNoaW5lLmJlZ2luVXBkYXRlTW9yZVJlc291cmNlc0NvbXBsZXRlKGZhbHNl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVGltZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaW1lU291cmNlLmgKaW5kZXggYzYzMDlkMjEwYjc2Yzk3ZjA0MTcwOGQ5NTQ0
MDFmMjQ5ZjU2MWMzNS4uNDI2YTI1MzY0YzIyYThiNGYyNDg3MjhmMmM5ZTE2MjAxZWZmMTJjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NUaW1lU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaW1lU291cmNlLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBhY3RpdmUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFRpbWVi
YXNlQW5kSW50ZXJ2YWwoZG91YmxlIHRpbWViYXNlLCBkb3VibGUgaW50ZXJ2YWxTZWNvbmRzKSA9
IDA7CiAgICAgdmlydHVhbCBkb3VibGUgbGFzdFRpY2tUaW1lKCkgPSAwOwotICAgIHZpcnR1YWwg
ZG91YmxlIG5leHRUaWNrVGltZSgpID0gMDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBuZXh0VGlja1Rp
bWVJZkFjdGl2YXRlZCgpID0gMDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVsZXJUZXN0Q29tbW9uLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdENvbW1vbi5oCmluZGV4IDgyNGFmMjZjN2ZjZGU0
ZWViYjNmNTZhODI0MGI5NGMzZmFhMDNhZDkuLmE1MDRiNjBiYjBlM2M2NmQ3OGE4ODhkNGY5OTM4
NzliY2E2OWI2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NT
Y2hlZHVsZXJUZXN0Q29tbW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q1NjaGVkdWxlclRlc3RDb21tb24uaApAQCAtMTA2LDcgKzEwNiw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgYWN0aXZlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9hY3RpdmU7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VGltZWJhc2VBbmRJbnRlcnZhbChkb3VibGUgdGltZWJhc2Us
IGRvdWJsZSBpbnRlcnZhbCkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBkb3VibGUgbGFzdFRp
Y2tUaW1lKCkgT1ZFUlJJREUgeyByZXR1cm4gMDsgfQotICAgIHZpcnR1YWwgZG91YmxlIG5leHRU
aWNrVGltZSgpIE9WRVJSSURFIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBuZXh0
VGlja1RpbWVJZkFjdGl2YXRlZCgpIE9WRVJSSURFIHsgcmV0dXJuIDA7IH0KIAogICAgIHZvaWQg
dGljaygpCiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>