<?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>139543</bug_id>
          
          <creation_ts>2014-12-11 10:08:12 -0800</creation_ts>
          <short_desc>Regression(r176212): Carousel on mbusa.com is choppy</short_desc>
          <delta_ts>2015-01-06 09:57:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1054535</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-11 10:08:12 -0800</bug_when>
    <thetext>Carousel on mbusa.com is choppy due to a DOM Timer being throttled when it shouldn&apos;t.

radar: &lt;rdar://problem/19209406&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054579</commentid>
    <comment_count>1</comment_count>
      <attachid>243137</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-11 12:17:19 -0800</bug_when>
    <thetext>Created attachment 243137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054604</commentid>
    <comment_count>2</comment_count>
      <attachid>243143</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-11 13:25:56 -0800</bug_when>
    <thetext>Created attachment 243143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054609</commentid>
    <comment_count>3</comment_count>
      <attachid>243143</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-11 13:51:10 -0800</bug_when>
    <thetext>Comment on attachment 243143
Patch

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

&gt; Source/WebCore/rendering/RenderElement.cpp:1338
&gt; +        accountForSelfPaintingDescendantsOverflow(child, repaintRect);

We can probably optimize further by not traversing the descendants if hasOverflowClip() return true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054850</commentid>
    <comment_count>4</comment_count>
      <attachid>243203</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-12 10:14:17 -0800</bug_when>
    <thetext>Created attachment 243203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054852</commentid>
    <comment_count>5</comment_count>
      <attachid>243203</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-12 10:15:59 -0800</bug_when>
    <thetext>Comment on attachment 243203
Patch

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

&gt; Source/WebCore/rendering/RenderElement.cpp:1341
&gt; +    if (renderer.hasOverflowClip())

We now stop traversing descendants if the renderer clips its overflow to avoid unnecessary work. I also added a layout test to make sure we still throttle if the overflow is hidden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054857</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-12 10:55:53 -0800</bug_when>
    <thetext>Simon, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054860</commentid>
    <comment_count>7</comment_count>
      <attachid>243203</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-12-12 11:01:39 -0800</bug_when>
    <thetext>Comment on attachment 243203
Patch

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

&gt; Source/WebCore/rendering/RenderElement.cpp:1348
&gt; +    for (auto&amp; child : childrenOfType&lt;RenderLayerModelObject&gt;(renderer)) {
&gt; +        if (child.hasSelfPaintingLayer())
&gt; +            repaintRect.unite(child.absoluteClippedOverflowRect());
&gt; +        accountForSelfPaintingDescendantsOverflow(child, repaintRect);
&gt; +    }

This seems very costly for deep trees with no overflow. You&apos;re also doing a tree walk where you do a mapping back to the root (under child.absoluteClippedOverflowRect()) for each node, so this is potentially O(N^2).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054877</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-12 12:12:09 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 243203 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=243203&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderElement.cpp:1348
&gt; &gt; +    for (auto&amp; child : childrenOfType&lt;RenderLayerModelObject&gt;(renderer)) {
&gt; &gt; +        if (child.hasSelfPaintingLayer())
&gt; &gt; +            repaintRect.unite(child.absoluteClippedOverflowRect());
&gt; &gt; +        accountForSelfPaintingDescendantsOverflow(child, repaintRect);
&gt; &gt; +    }
&gt; 
&gt; This seems very costly for deep trees with no overflow. You&apos;re also doing a
&gt; tree walk where you do a mapping back to the root (under
&gt; child.absoluteClippedOverflowRect()) for each node, so this is potentially
&gt; O(N^2).

As per our offline discussion. I will re-upload a patch that is very conservative and does not attempt to compute the overflow rect if:
- The element does not have its own layer
- Any descendant has its own layer

Both checks are very cheap and it will still cover the cases I am interested in.

I will also prepare another patch to only throttle timers that change a few CSS properties we know won&apos;t cause other elements to relayout (and will cause the element to have its own layer), namely left/opacity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055466</commentid>
    <comment_count>9</comment_count>
      <attachid>243262</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-13 20:11:13 -0800</bug_when>
    <thetext>Created attachment 243262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056147</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-16 14:32:15 -0800</bug_when>
    <thetext>Simon, is the latest iteration acceptable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059009</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-06 08:12:38 -0800</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059042</commentid>
    <comment_count>12</comment_count>
      <attachid>243262</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-06 09:57:53 -0800</bug_when>
    <thetext>Comment on attachment 243262
Patch

Clearing flags on attachment: 243262

Committed r177964: &lt;http://trac.webkit.org/changeset/177964&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059043</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-06 09:57:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243137</attachid>
            <date>2014-12-11 12:17:19 -0800</date>
            <delta_ts>2014-12-11 13:25:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139543-20141211121802.patch</filename>
            <type>text/plain</type>
            <size>16333</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3MTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjA5ZDQ1YTYzMzQ2OWQy
MDQ3NDM5MGM0YmI5OWU1MzQwODI5N2QxMi4uNTQ1NTM5MjY3MjliM2MxNTg3ZWEyYjEwZDhlYjdl
MWFjM2I2MDgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTc2MjEy
KTogQ2Fyb3VzZWwgb24gbWJ1c2EuY29tIGlzIGNob3BweQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NTQzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xOTIwOTQwNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBIHJlcGVhdGluZyBET00gdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1l
bnQgdGhhdCBoYXMKKyAgICAgICAgb3ZlcmZsb3dpbmcgY29udGVudCB0aGF0IGlzIHZpc2libGUg
d291bGQgZ2V0IHRocm90dGxlZCBpbiB0aGUKKyAgICAgICAgY2FzZSB3aGVyZSB0aGUgb3ZlcmZs
b3dpbmcgY29udGVudCBoYXMgaXRzIG93biBsYXllci4gVGhpcyBpcworICAgICAgICBiZWNhdXNl
IHRoZSByZXBhaW50IHJlY3QgcmV0dXJuZWQgYnkKKyAgICAgICAgUmVuZGVyT2JqZWN0OjphYnNv
bHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSBkb2VzIG5vdCB0YWtlIGludG8KKyAgICAgICAgY29u
c2lkZXJpbmcgZGVzY2VuZGFudHMgd2l0aCB0aGVpciBvd24gc2VsZiBwYWludGluZyBsYXllciB3
aGVuCisgICAgICAgIGFjY291bnRpbmcgZm9yIHRoZSBvdmVyZmxvdy4KKworICAgICAgICBBcyB3
ZSBjYW5ub3QgZWFzaWx5IGRldGVybWluZSB0aGUgcmVwYWludCByZWN0IGluIHN1Y2ggY2FzZSwK
KyAgICAgICAgdGhpcyBwYXRjaCB0YWtlcyBhIGNvbnNlcnZhdGl2ZSBhcHByb2FjaCBhbmQgZG9l
cyBub3QgYXR0ZW1wdCB0bworICAgICAgICB0aHJvdHRsZSBET00gdGltZXJzIGNoYW5naW5nIHRo
ZSBzdHlsZSBvZiBzdWNoIGVsZW1lbnRzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBtb3Zl
cyB0aGUgaXNJbnNpZGVWaWV3cG9ydCgpIGhldXJpc3RpYyBmcm9tCisgICAgICAgIFJlbmRlckVs
ZW1lbnQgdG8gRE9NVGltZXIsIGFuZCByZW5hbWVzIHRoZSBmdW5jdGlvbiB0bworICAgICAgICBt
YXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydCgpIGZvciBjbGFyaXR5LgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93
bi1sYXllci10aHJvdHRsaW5nLmh0bWwKKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmlzSW5zaWRlVmlld3BvcnQpOiBEZWxldGVkLgorICAg
ICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogcGFnZS9ET01UaW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpoYXNEZXNjZW5kYW50V2l0aE93bkxheWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Om1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVRpbWVyOjpzY3JpcHREaWRDYXVzZUVsZW1lbnRSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVRpbWVyOjp1cGRhdGVUaHJvdHRsaW5nU3RhdGVBZnRlclZpZXdwb3J0Q2hhbmdlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJFbGVtZW50Ojppc0luc2lkZVZpZXdwb3J0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorCiAyMDE0LTEyLTExICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVudXNlZCBzdG9yYWdlIGhlYWRl
ciBpbmNsdWRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDhiYWQyMjJmNjQxMzQ1ZmE5ZTc1
YTE1NmNiMTJkODNlZWQ4MzY1MDUuLjJkYTE4NzA5Y2Y5YzYzMmZmMDM2NDBmODdiYjA1MWM4YjIy
ZGNhZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTI0MTUsMTEgKzI0MTUsNiBAQCBib29s
IEVsZW1lbnQ6OnNob3VsZEFwcGVhckluZGV0ZXJtaW5hdGUoKSBjb25zdAogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotYm9vbCBFbGVtZW50Ojppc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3Qq
IHZpc2libGVSZWN0KSBjb25zdAotewotICAgIHJldHVybiByZW5kZXJlcigpICYmIHJlbmRlcmVy
KCktPmlzSW5zaWRlVmlld3BvcnQodmlzaWJsZVJlY3QpOwotfQotCiBET01Ub2tlbkxpc3QmIEVs
ZW1lbnQ6OmNsYXNzTGlzdCgpCiB7CiAgICAgRWxlbWVudFJhcmVEYXRhJiBkYXRhID0gZW5zdXJl
RWxlbWVudFJhcmVEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA3ZTgxMjMxN2E3NjlhMDkw
NTY1OWM5ZTcwMjk0YjgzOGJjNTY3Y2QzLi4zYzQ1MzI3OGMyMjU4ZTYxOTVhZDgxZjMwYmEwMGJj
YTNiOThjZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIwMCw4ICsyMDAsNiBAQCBwdWJsaWM6
CiAgICAgZG91YmxlIG9mZnNldFdpZHRoKCk7CiAgICAgZG91YmxlIG9mZnNldEhlaWdodCgpOwog
Ci0gICAgYm9vbCBpc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVSZWN0ID0g
bnVsbHB0cikgY29uc3Q7Ci0KICAgICAvLyBGSVhNRTogUmVwbGFjZSB1c2VzIG9mIG9mZnNldFBh
cmVudCBpbiB0aGUgcGxhdGZvcm0gd2l0aCBjYWxscwogICAgIC8vIHRvIHRoZSByZW5kZXIgbGF5
ZXIgYW5kIG1lcmdlIGJpbmRpbmdzT2Zmc2V0UGFyZW50IGFuZCBvZmZzZXRQYXJlbnQuCiAgICAg
RWxlbWVudCogYmluZGluZ3NPZmZzZXRQYXJlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAK
aW5kZXggM2U1ZmE1ODc3NTI0YjhjODY2NmYzZTlkNTdlNzg5YmVhNjAxMzNmNi4uOWE3MzU0MjAw
NWVhNjY3YzhhYzYxNzllYWEzNzZhODgzY2EzOTMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5j
cHAKQEAgLTMzLDYgKzMzLDEwIEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJQbHVnaW5WaWV3QmFzZS5oIgorI2luY2x1ZGUgIlJlbmRlckNoaWxk
SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVy
TGF5ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0
aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCkBAIC0xODMsNiArMTg3LDQwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRG
b3J3YXJkVXNlckdlc3R1cmUoaW50IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogICAgICAg
ICAmJiAhbmVzdGluZ0xldmVsOyAvLyBHZXN0dXJlcyBzaG91bGQgbm90IGJlIGZvcndhcmRlZCB0
byBuZXN0ZWQgdGltZXJzLgogfQogCitzdGF0aWMgYm9vbCBoYXNEZXNjZW5kYW50V2l0aE93bkxh
eWVyKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQoreworICAgIGZvciAoYXV0byYgY2hp
bGQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJMYXllck1vZGVsT2JqZWN0PihyZW5kZXJlcikpIHsK
KyAgICAgICAgaWYgKGNoaWxkLmhhc0xheWVyKCkgfHwgaGFzRGVzY2VuZGFudFdpdGhPd25MYXll
cihjaGlsZCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZh
bHNlOworfQorCisvLyBIZXVyaXN0aWMgdG8gZGV0ZWN0IGlmIGNoYW5naW5nIHRoZSBzdHlsZSBv
ZiBhbiBlbGVtZW50IG1heSBjYXVzZSB1cyB0byByZXBhaW50IGluc2lkZSB0aGUgdmlld3BvcnQu
CitzdGF0aWMgYm9vbCBtYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydChjb25zdCBFbGVtZW50
JiBlbGVtZW50LCBjb25zdCBJbnRSZWN0KiBvcHRpb25hbFZpc2libGVSZWN0ID0gbnVsbHB0cikK
K3sKKyAgICBhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQucmVuZGVyZXIoKTsKKyAgICBpZiAoIXJl
bmRlcmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvJiBmcmFtZVZpZXcgPSBy
ZW5kZXJlci0+dmlldygpLmZyYW1lVmlldygpOworICAgIGlmIChmcmFtZVZpZXcuaXNPZmZzY3Jl
ZW4oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBl
YXNpbHkgY29tcHV0ZSB0aGUgcmVwYWludCByZWN0IGlmIGFueSBkZXNjZW5kYW50IGhhcyBpdHMg
b3duIGxheWVyLCBzbyBiZSBjb25zZXJ2YXRpdmUKKyAgICAvLyBpbiB0aGlzIGNhc2UgYW5kIGNv
bnNpZGVyIGl0IG1heSBjYXVzZSB1cyB0byByZXBhaW50IGluc2lkZSB0aGUgdmlld3BvcnQuCisg
ICAgaWYgKHJlbmRlcmVyLT5oYXNMYXllcigpKSB7CisgICAgICAgIC8vIEZhc3QgcGF0aCBpZiB3
ZSBoYXZlIGEgbGF5ZXIsIHdlIGNhbiBqdXN0IGNoZWNrIGlmIG91ciBsYXllciBoYXMgY2hpbGRy
ZW4uCisgICAgICAgIGlmIChkb3duY2FzdDxSZW5kZXJMYXllck1vZGVsT2JqZWN0PigqcmVuZGVy
ZXIpLmxheWVyKCktPmZpcnN0Q2hpbGQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0gZWxzZSBpZiAoaGFzRGVzY2VuZGFudFdpdGhPd25MYXllcigqcmVuZGVyZXIpKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIENvbXB1dGUgdmlld3BvcnQgcmVjdCBpZiBpdCB3YXMg
bm90IHByb3ZpZGVkLgorICAgIGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0ID0gb3B0aW9uYWxW
aXNpYmxlUmVjdCA/ICpvcHRpb25hbFZpc2libGVSZWN0IDogZnJhbWVWaWV3LndpbmRvd1RvQ29u
dGVudHMoZnJhbWVWaWV3LndpbmRvd0NsaXBSZWN0KCkpOworICAgIHJldHVybiB2aXNpYmxlUmVj
dC5pbnRlcnNlY3RzKGVuY2xvc2luZ0ludFJlY3QocmVuZGVyZXItPmFic29sdXRlQ2xpcHBlZE92
ZXJmbG93UmVjdCgpKSk7Cit9CisKIERPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
IGludCBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQpAQCAtMzIxLDcgKzM1OSw3IEBAIHZvaWQgRE9NVGltZXI6OnNjcmlwdERpZENhdXNlRWxlbWVu
dFJlcGFpbnQoRWxlbWVudCYgZWxlbWVudCwgYm9vbCBjaGFuZ2VkKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgaWYgKGVsZW1lbnQuaXNJbnNpZGVWaWV3cG9ydCgpKQorICAgIGlmICht
YXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydChlbGVtZW50KSkKICAgICAgICAgRE9NVGltZXJG
aXJlU3RhdGU6OmN1cnJlbnQtPnNldFNjcmlwdE1hZGVVc2VyT2JzZXJ2YWJsZUNoYW5nZXMoKTsK
ICAgICBlbHNlCiAgICAgICAgIERPTVRpbWVyRmlyZVN0YXRlOjpjdXJyZW50LT5zZXRTY3JpcHRN
YWRlTm9uVXNlck9ic2VydmFibGVDaGFuZ2VzVG9FbGVtZW50KGVsZW1lbnQpOwpAQCAtNDgwLDcg
KzUxOCw3IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRocm90dGxpbmdTdGF0ZUFmdGVyVmlld3Bv
cnRDaGFuZ2UoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlCiAgICAgICAgIGlmICghZWxlbWVudCB8
fCAhZWxlbWVudC0+aW5Eb2N1bWVudCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAg
ICAgaWYgKGVsZW1lbnQtPmlzSW5zaWRlVmlld3BvcnQoJnZpc2libGVSZWN0KSkgeworICAgICAg
ICBpZiAobWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQoKmVsZW1lbnQsICZ2aXNpYmxlUmVj
dCkpIHsKICAgICAgICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFNjcmlwdCBpcyBjaGFuZ2lu
ZyBzdHlsZSBvZiBhbiBlbGVtZW50IHRoYXQgaXMgbm93IGluc2lkZSB0aGUgdmlld3BvcnQsIHVu
dGhyb3R0bGluZyB0aGUgdGltZXIuIiwgdGhpcyk7CiAgICAgICAgICAgICBtX3Rocm90dGxlU3Rh
dGUgPSBTaG91bGROb3RUaHJvdHRsZTsKICAgICAgICAgICAgIHVucmVnaXN0ZXJGb3JWaWV3cG9y
dENoYW5nZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApp
bmRleCA0MTM2MGM1ZWMxZDIxMzAzYzJiOWVlYjdlYmZlMmRjM2NhZjc4NmU4Li5lNzM0ZTEzN2Rl
NWNhMzFjYjNkYzkzMzUxMWEzNWUyYjU4NGYwNmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xMzMwLDE3ICsxMzMwLDYgQEAgYm9vbCBSZW5kZXJF
bGVtZW50Ojpib3JkZXJJbWFnZUlzTG9hZGVkQW5kQ2FuQmVSZW5kZXJlZCgpIGNvbnN0CiAgICAg
cmV0dXJuIGJvcmRlckltYWdlICYmIGJvcmRlckltYWdlLT5jYW5SZW5kZXIodGhpcywgc3R5bGUo
KS5lZmZlY3RpdmVab29tKCkpICYmIGJvcmRlckltYWdlLT5pc0xvYWRlZCgpOwogfQogCi1ib29s
IFJlbmRlckVsZW1lbnQ6OmlzSW5zaWRlVmlld3BvcnQoY29uc3QgSW50UmVjdCogdmlzaWJsZVJl
Y3QpIGNvbnN0Ci17Ci0gICAgYXV0byYgZnJhbWVWaWV3ID0gdmlldygpLmZyYW1lVmlldygpOwot
ICAgIGlmIChmcmFtZVZpZXcuaXNPZmZzY3JlZW4oKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgLy8gQ29tcHV0ZSB2aWV3cG9ydCByZWN0IGlmIGl0IHdhcyBub3QgcHJvdmlkZWQuCi0g
ICAgY29uc3QgSW50UmVjdCYgdmlld3BvcnRSZWN0ID0gdmlzaWJsZVJlY3QgPyAqdmlzaWJsZVJl
Y3QgOiBmcmFtZVZpZXcud2luZG93VG9Db250ZW50cyhmcmFtZVZpZXcud2luZG93Q2xpcFJlY3Qo
KSk7Ci0gICAgcmV0dXJuIHZpZXdwb3J0UmVjdC5pbnRlcnNlY3RzKGVuY2xvc2luZ0ludFJlY3Qo
YWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpKTsKLX0KLQogc3RhdGljIGJvb2wgc2hvdWxk
UmVwYWludEZvckltYWdlQW5pbWF0aW9uKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBj
b25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKIHsKICAgICBjb25zdCBEb2N1bWVudCYgZG9jdW1l
bnQgPSByZW5kZXJlci5kb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmgKaW5kZXggNjY0YWMzYjdiMTgxYWFkMDdhOTZlMGE2ZDY5ZTYwM2U4NDRmMDNhYi4u
ZjhmZTNhNDYxMWI0MjNjNGJmZmY1YWIzNzA1ODYzYTZmZGU1YWUxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0xMzMsNyArMTMzLDYgQEAgcHVibGljOgog
ICAgIGJvb2wgcmVwYWludEFmdGVyTGF5b3V0SWZOZWVkZWQoY29uc3QgUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lciwgY29uc3QgTGF5b3V0UmVjdCYgb2xkQm91bmRzLCBj
b25zdCBMYXlvdXRSZWN0JiBvbGRPdXRsaW5lQm94LCBjb25zdCBMYXlvdXRSZWN0KiBuZXdCb3Vu
ZHNQdHIgPSBudWxscHRyLCBjb25zdCBMYXlvdXRSZWN0KiBuZXdPdXRsaW5lQm94UHRyID0gbnVs
bHB0cik7CiAKICAgICBib29sIGJvcmRlckltYWdlSXNMb2FkZWRBbmRDYW5CZVJlbmRlcmVkKCkg
Y29uc3Q7Ci0gICAgYm9vbCBpc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVS
ZWN0ID0gbnVsbHB0cikgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyByZW5k
ZXJlciByZXF1aXJlcyBhIG5ldyBzdGFja2luZyBjb250ZXh0LgogICAgIGJvb2wgY3JlYXRlc0dy
b3VwKCkgY29uc3QgeyByZXR1cm4gaXNUcmFuc3BhcmVudCgpIHx8IGhhc01hc2soKSB8fCBoYXNG
aWx0ZXIoKSB8fCBoYXNCYWNrZHJvcEZpbHRlcigpIHx8IGhhc0JsZW5kTW9kZSgpOyB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMTk5NTVmMzM1ZmIzMzc3YzViZWNjMGNhMDg4MzBiODBlYzI0MjRlOS4uYzY2MDgwYjBjMzc3
NjMzZDE3MTU5MDllNGQ1OTQ2ZWY1Nzc1NWVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0
LTEyLTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVz
c2lvbihyMTc2MjEyKTogQ2Fyb3VzZWwgb24gbWJ1c2EuY29tIGlzIGNob3BweQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NTQzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xOTIwOTQwNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0byBjb3ZlciB0aGUgY2FzZSB3aGVy
ZSBhIHJlcGVhdGluZyBET00gdGltZXIgaXMKKyAgICAgICAgY2hhbmdpbmcgdGhlIHN0eWxlIG9m
IGFuIGVsZW1lbnQgd2hpY2ggaGFzIG92ZXJmbG93aW5nIGNvbnRlbnQgdGhhdAorICAgICAgICBp
cyB2aXNpYmxlIGFuZCBoYXMgaXRzIG93biBsYXllci4gSW4gc3VjaCBjYXNlLCB0aGUgRE9NIHRp
bWVyIHNob3VsZAorICAgICAgICBub3QgYmUgdGhyb3R0bGVkLgorCisgICAgICAgICogZmFzdC9k
b20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRo
cm90dGxpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9yZXBlYXRp
bmctdGltZXItZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0bGluZy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgTmV3IGxheW91dCB0ZXN0LgorCisgICAgICAgICogZmFzdC9k
b20vdGltZXItdW50aHJvdHRsZS1vbi1sYXlvdXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tbGF5b3V0Lmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vdGltZXItdW50aHJvdHRsZS1vbi1zY3JvbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Nyb2xsLmh0bWw6CisgICAgICAgIFN0b3AgdXNp
bmcgPGlucHV0PiB0ZXN0IGVsZW1lbnRzIGFzIGl0IGFwcGVhcnMgb25lIG9mIHRoZSBkZXNjZW5k
YW50cworICAgICAgICBpbiBpdHMgc2hhZG93IHRyZWUgaGFzIGl0cyBvd24gbGF5ZXIuCisKIDIw
MTQtMTItMTAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAg
TWFjIHRlc3QgZXhwZWN0YXRpb25zIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1s
YXllci10aHJvdHRsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVh
dGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5n
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWRhYjEyZWQ2MGViZGM4MjI2NDYxMzM0MjI1YWNk
OTZmOTY0MTg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0
aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRocm90dGxpbmct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRoYXQgYSByZXBlYXRpbmcgdGlt
ZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2l0aCAwIGhlaWdodCBhbmQgdmlz
aWJsZSBvdmVyZmxvd2luZyBjb250ZW50IHRoYXQgaGF2ZSB0aGVpciBvd24gbGF5ZXIgZG9lcyBu
b3QgZ2V0IHRocm90dGxlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
dGVzdEVsZW1lbnQub2Zmc2V0SGVpZ2h0IGlzIDAKK1RoZSB0aW1lciBzaG91bGQgaW5pdGlhbGx5
IG5vdCBiZSB0aHJvdHRsZWQuCitQQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVv
dXRJZCkgaXMgZmFsc2UKKzV0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBub3QgaGF2ZSBiZWVu
IHRocm90dGxlZC4KK1BBU1Mgd2FzVGhyb3R0bGVkIGlzIGZhbHNlCis2dGggaXRlcmF0aW9uLCB0
aW1lciBzaG91bGQgc3RpbGwgYmUgdW50aHJvdHRsZWQuCitQQVNTIGludGVybmFscy5pc1RpbWVy
VGhyb3R0bGVkKHRpbWVvdXRJZCkgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQordGVzdDEKK3Rlc3QyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1v
d24tbGF5ZXItdGhyb3R0bGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5n
LXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRocm90dGxpbmcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hOGE3NzM5ODEwNjE1ZTQ2YjkyYTQ1YzY4NGY4MmExNmM0NmFlYzA4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVs
ZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRocm90dGxpbmcuaHRtbApAQCAtMCww
ICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXN0RWxlbWVudCIg
c3R5bGU9ImhlaWdodDogMDsiPgorPGRpdiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5z
bGF0ZVgoMCk7Ij50ZXN0MTwvZGl2PgorPGRpdiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06IHRy
YW5zbGF0ZVgoMCk7Ij50ZXN0MjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgYSByZXBlYXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVs
ZW1lbnQgd2l0aCAwIGhlaWdodCBhbmQgdmlzaWJsZSBvdmVyZmxvd2luZyBjb250ZW50IHRoYXQg
aGF2ZSB0aGVpciBvd24gbGF5ZXIgZG9lcyBub3QgZ2V0IHRocm90dGxlZC4iKTsKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgaXRlcmF0aW9uQ291bnQgPSAwOwordmFyIHRpbWVvdXRJZDsK
K3ZhciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RWxlbWVudCIp
OwordmFyIHdhc1Rocm90dGxlZCA9IGZhbHNlOworCitmdW5jdGlvbiB0aW1lckNhbGxiYWNrKCkK
K3sKKyAgKytpdGVyYXRpb25Db3VudDsKKyAgLy8gSW50ZXJhY3Qgd2l0aCB0aGUgc3R5bGUgb2Yg
dGhlIGVsZW1lbnQuCisgIHRlc3RFbGVtZW50LnN0eWxlWyJsZWZ0Il0gPSAiIiArIGl0ZXJhdGlv
bkNvdW50ICsgInB4IjsKKworICAvLyA1IGl0ZXJhdGlvbnMgc2hvdWxkIHN1ZmZpY2UgdG8gdGhy
b3R0bGUgdGhlIHRpbWVyLgorICBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNSkgeworICAgIC8vIERv
IG5vdCB1c2Ugc2hvdWxkQmVUcnVlKCkgaGVyZSBiZWNhdXNlIGl0IHdvdWxkIGNhdXNlIGEgRE9N
IHRyZWUgbXV0YXRpb24gYW5kCisgICAgLy8gdW50aHJvdHRsZSB0aGUgRE9NIFRpbWVyLgorICAg
IHdhc1Rocm90dGxlZCA9IGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCk7Cisg
IH0gZWxzZSBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNikgeworICAgIGRlYnVnKCI1dGggaXRlcmF0
aW9uLCB0aW1lciBzaG91bGQgbm90IGhhdmUgYmVlbiB0aHJvdHRsZWQuIik7CisgICAgc2hvdWxk
QmVGYWxzZSgid2FzVGhyb3R0bGVkIik7CisgICAgZGVidWcoIjZ0aCBpdGVyYXRpb24sIHRpbWVy
IHNob3VsZCBzdGlsbCBiZSB1bnRocm90dGxlZC4iKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbnRl
cm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIik7CisgICAgY2xlYXJJbnRlcnZhbCh0
aW1lb3V0SWQpOworICAgIGZpbmlzaEpTVGVzdCgpOworICB9Cit9CisKK3Nob3VsZEJlKCJ0ZXN0
RWxlbWVudC5vZmZzZXRIZWlnaHQiLCAiMCIpOworCit0aW1lb3V0SWQgPSBzZXRJbnRlcnZhbCh0
aW1lckNhbGxiYWNrLCAwKTsKK2RlYnVnKCJUaGUgdGltZXIgc2hvdWxkIGluaXRpYWxseSBub3Qg
YmUgdGhyb3R0bGVkLiIpOworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRs
ZWQodGltZW91dElkKSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLWxheW91dC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLWxheW91dC1leHBlY3RlZC50
eHQKaW5kZXggNDZiNjRhOTIxNjZhMzhiYzc1YTZlNzVlZTgwYmIwNWIzYTdmYmRjZS4uNTA0MjE5
NTY2ZTIyNTZiMWFhOTcyMzc5OTU4YmJhZjQ4ZjMwYzc4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1sYXlvdXQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tbGF5b3V0LWV4cGVjdGVk
LnR4dApAQCAtMTYsNCArMTYsNCBAQCBQQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRp
bWVvdXRJZCkgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQotCitURVNUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1l
ci11bnRocm90dGxlLW9uLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXIt
dW50aHJvdHRsZS1vbi1sYXlvdXQuaHRtbAppbmRleCBiYzM2MjRlMzQwZTcyNWU5MTUxOThhOWY5
YjU3ODFkYjA4ZTEwMTQzLi5mNzFmNjcxYmIwYTBmZGMxMTA5YTYzNDJiYWNiM2NlNjg5YjRiYmY2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLWxh
eW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24t
bGF5b3V0Lmh0bWwKQEAgLTIsMTMgKzIsMTMgQEAKIDxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8ZGl2IHN0eWxlPSJwb3NpdGlv
bjogcmVsYXRpdmU7IHdpZHRoOiAxNjAwcHg7IGhlaWdodDogMjQwMHB4OyBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsiPgotICA8ZGl2IGlkPSJwYXJlbnREaXYiIHN0eWxlPSJwb3NpdGlvbjphYnNv
bHV0ZTsgbGVmdDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlucHV0IGlkPSJ0ZXh0Ym94IiB0eXBl
PSJ0ZXh0Ij48L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50RGl2IiBzdHlsZT0icG9zaXRpb246YWJz
b2x1dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxkaXYgaWQ9InRlc3RFbGVtZW50Ij5U
RVNUPC9kaXY+PC9kaXY+CiA8L2Rpdj4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhh
dCBhIHJlcGVhdGluZyB0aW1lciBjaGFuZ2luZyB0aGUgc3R5bGUgb2YgYW4gZWxlbWVudCBvdXRz
aWRlIHZpZXdwb3J0IGdldHMgdW50aHJvdHRsZWQgaWYgdGhlIGVsZW1lbnRzIGlzIGluc2lkZSB0
aGUgdmlld3BvcnQgYWZ0ZXIgbGF5b3V0LiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLXZh
ciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0Ym94Jyk7Cit2YXIg
dGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdEVsZW1lbnQnKTsKIHZh
ciBpdGVyYXRpb25Db3VudCA9IDA7CiB2YXIgd2FzVGhyb3R0bGVkID0gZmFsc2U7CiB2YXIgd2Fz
VGhyb3R0bGVkQmVmb3JlU2Nyb2xsID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLXNjcm9sbC1leHBlY3RlZC50eHQKaW5k
ZXggNjQzNGJiNGY5NWIwOTFmZGY3MTZmOTNmZjNhNjZiZGZkZjVjMTNmNC4uMzYyNDViMjQwOTIx
YjQ5OGU4ODQwYWI1ODEwOTg0YjI4NjYwMWNiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1zY3JvbGwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Nyb2xsLWV4cGVjdGVkLnR4dApA
QCAtMTYsNCArMTYsNCBAQCBQQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJ
ZCkgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQotCitURVNUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRo
cm90dGxlLW9uLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJv
dHRsZS1vbi1zY3JvbGwuaHRtbAppbmRleCA2MWQwMjFlZDk1ODk5YzEzMGQ5MWE2MGUwNTNmMGNm
YmVmMGJiYmIxLi4xNzUyNTdjNzkzMzNjZTY4OTJkZTgwNmI1ZGU0YTMzYWUyNzI4YmZkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLXNjcm9sbC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Nyb2xs
Lmh0bWwKQEAgLTIsMTMgKzIsMTMgQEAKIDxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVs
YXRpdmU7IHdpZHRoOiAxNjAwcHg7IGhlaWdodDogMjQwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsiPgotICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDogNjAwcHg7IHRv
cDogODAwcHg7Ij4gPGlucHV0IGlkPSJ0ZXh0Ym94IiB0eXBlPSJ0ZXh0Ij48L2Rpdj4KKyAgPGRp
diBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxk
aXYgaWQ9InRlc3RFbGVtZW50Ij5URVNUPC9kaXY+CiA8L2Rpdj4KIDxzY3JpcHQ+CiBkZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCBhIHJlcGVhdGluZyB0aW1lciBjaGFuZ2luZyB0aGUgc3R5bGUgb2Yg
YW4gZWxlbWVudCBvdXRzaWRlIHZpZXdwb3J0IGdldHMgdW50aHJvdHRsZWQgd2hlbiBzY3JvbGxp
bmcgdGhlIGVsZW1lbnQgaW50byB2aWV3LiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLXZh
ciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0Ym94Jyk7Cit2YXIg
dGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdEVsZW1lbnQnKTsKIHZh
ciBpdGVyYXRpb25Db3VudCA9IDA7CiB2YXIgd2FzVGhyb3R0bGVkID0gZmFsc2U7CiB2YXIgd2Fz
VGhyb3R0bGVkQmVmb3JlU2Nyb2xsID0gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243143</attachid>
            <date>2014-12-11 13:25:56 -0800</date>
            <delta_ts>2014-12-12 10:14:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139543-20141211132639.patch</filename>
            <type>text/plain</type>
            <size>11483</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3MTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjA5ZDQ1YTYzMzQ2OWQy
MDQ3NDM5MGM0YmI5OWU1MzQwODI5N2QxMi4uZDAyMzQ1MTkzMTVmNzJlMThhNjBhN2JlMWM1MTFj
ZDI5N2QwMTg0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTc2MjEy
KTogQ2Fyb3VzZWwgb24gbWJ1c2EuY29tIGlzIGNob3BweQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NTQzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xOTIwOTQwNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBIHJlcGVhdGluZyBET00gdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1l
bnQgdGhhdCBoYXMKKyAgICAgICAgb3ZlcmZsb3dpbmcgY29udGVudCB0aGF0IGlzIHZpc2libGUg
d291bGQgZ2V0IHRocm90dGxlZCBpbiB0aGUKKyAgICAgICAgY2FzZSB3aGVyZSB0aGUgb3ZlcmZs
b3dpbmcgY29udGVudCBoYXMgaXRzIG93biBsYXllci4gVGhpcyBpcworICAgICAgICBiZWNhdXNl
IHRoZSByZXBhaW50IHJlY3QgcmV0dXJuZWQgYnkKKyAgICAgICAgUmVuZGVyT2JqZWN0OjphYnNv
bHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSBkb2VzIG5vdCB0YWtlIGludG8KKyAgICAgICAgY29u
c2lkZXJpbmcgZGVzY2VuZGFudHMgd2l0aCB0aGVpciBvd24gc2VsZiBwYWludGluZyBsYXllciB3
aGVuCisgICAgICAgIGFjY291bnRpbmcgZm9yIHRoZSBvdmVyZmxvdy4KKworICAgICAgICBUaGlz
IHBhdGNoIHVwZGF0ZXMgUmVuZGVyRWxlbWVudDo6aXNJbnNpZGVWaWV3cG9ydCgpIHRvIGFjY291
bnQKKyAgICAgICAgZm9yIGRlc2NlbmRhbnRzIHdpdGggdGhlaXIgb3duIHNlbGYgcGFpbnRpbmcg
bGF5ZXIgdG8gY29tcHV0ZQorICAgICAgICB0aGUgb3ZlcmZsb3cgcmVjdC4gVGhlIG1ldGhvZCBp
cyBhbHNvIHJlbmFtZWQgdG8KKyAgICAgICAgbWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQo
KSBmb3IgY2xhcml0eS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9yZXBlYXRpbmctdGltZXIt
ZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0bGluZy5odG1sCisKKyAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjptYXlD
YXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpp
c0luc2lkZVZpZXdwb3J0KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAg
ICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OnNj
cmlwdERpZENhdXNlRWxlbWVudFJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6
OnVwZGF0ZVRocm90dGxpbmdTdGF0ZUFmdGVyVmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFjY291bnRGb3JT
ZWxmUGFpbnRpbmdEZXNjZW5kYW50c092ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6Om1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckVsZW1lbnQ6OmlzSW5zaWRlVmlld3BvcnQpOiBEZWxldGVkLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisKIDIwMTQtMTItMTEgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIHN0b3JhZ2Ug
aGVhZGVyIGluY2x1ZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOGJhZDIyMmY2NDEzNDVm
YTllNzVhMTU2Y2IxMmQ4M2VlZDgzNjUwNS4uMmY5YjE4MGQwMGUyNDU1ZmE2ODFjOTlmMDU0Y2Q5
MjVlYTAwYjkwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMjQxNSw5ICsyNDE1LDkgQEAg
Ym9vbCBFbGVtZW50OjpzaG91bGRBcHBlYXJJbmRldGVybWluYXRlKCkgY29uc3QKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLWJvb2wgRWxlbWVudDo6aXNJbnNpZGVWaWV3cG9ydChjb25zdCBJbnRS
ZWN0KiB2aXNpYmxlUmVjdCkgY29uc3QKK2Jvb2wgRWxlbWVudDo6bWF5Q2F1c2VSZXBhaW50SW5z
aWRlVmlld3BvcnQoY29uc3QgSW50UmVjdCogdmlzaWJsZVJlY3QpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNJbnNpZGVWaWV3cG9ydCh2aXNpYmxlUmVj
dCk7CisgICAgcmV0dXJuIHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+bWF5Q2F1c2VSZXBhaW50
SW5zaWRlVmlld3BvcnQodmlzaWJsZVJlY3QpOwogfQogCiBET01Ub2tlbkxpc3QmIEVsZW1lbnQ6
OmNsYXNzTGlzdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA3ZTgxMjMxN2E3NjlhMDkwNTY1OWM5
ZTcwMjk0YjgzOGJjNTY3Y2QzLi5mYmU3MDAyMTc2NjllNmE4NmZjYmE4MWNlMWM3YzUyNDNhZDUw
NzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIwMCw3ICsyMDAsNyBAQCBwdWJsaWM6CiAgICAg
ZG91YmxlIG9mZnNldFdpZHRoKCk7CiAgICAgZG91YmxlIG9mZnNldEhlaWdodCgpOwogCi0gICAg
Ym9vbCBpc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVSZWN0ID0gbnVsbHB0
cikgY29uc3Q7CisgICAgYm9vbCBtYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydChjb25zdCBJ
bnRSZWN0KiB2aXNpYmxlUmVjdCA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6IFJl
cGxhY2UgdXNlcyBvZiBvZmZzZXRQYXJlbnQgaW4gdGhlIHBsYXRmb3JtIHdpdGggY2FsbHMKICAg
ICAvLyB0byB0aGUgcmVuZGVyIGxheWVyIGFuZCBtZXJnZSBiaW5kaW5nc09mZnNldFBhcmVudCBh
bmQgb2Zmc2V0UGFyZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAppbmRleCAzZTVmYTU4Nzc1
MjRiOGM4NjY2ZjNlOWQ1N2U3ODliZWE2MDEzM2Y2Li5lNmEzN2I2YzM3OWY0YzIwNGQ3N2NmYzUw
MjNkZTI3M2RjZjllOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcApAQCAtMzIxLDcgKzMy
MSw3IEBAIHZvaWQgRE9NVGltZXI6OnNjcmlwdERpZENhdXNlRWxlbWVudFJlcGFpbnQoRWxlbWVu
dCYgZWxlbWVudCwgYm9vbCBjaGFuZ2VkKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKGVsZW1lbnQuaXNJbnNpZGVWaWV3cG9ydCgpKQorICAgIGlmIChlbGVtZW50Lm1heUNhdXNl
UmVwYWludEluc2lkZVZpZXdwb3J0KCkpCiAgICAgICAgIERPTVRpbWVyRmlyZVN0YXRlOjpjdXJy
ZW50LT5zZXRTY3JpcHRNYWRlVXNlck9ic2VydmFibGVDaGFuZ2VzKCk7CiAgICAgZWxzZQogICAg
ICAgICBET01UaW1lckZpcmVTdGF0ZTo6Y3VycmVudC0+c2V0U2NyaXB0TWFkZU5vblVzZXJPYnNl
cnZhYmxlQ2hhbmdlc1RvRWxlbWVudChlbGVtZW50KTsKQEAgLTQ4MCw3ICs0ODAsNyBAQCB2b2lk
IERPTVRpbWVyOjp1cGRhdGVUaHJvdHRsaW5nU3RhdGVBZnRlclZpZXdwb3J0Q2hhbmdlKGNvbnN0
IEludFJlY3QmIHZpc2libGVSZQogICAgICAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmlu
RG9jdW1lbnQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChlbGVtZW50
LT5pc0luc2lkZVZpZXdwb3J0KCZ2aXNpYmxlUmVjdCkpIHsKKyAgICAgICAgaWYgKGVsZW1lbnQt
Pm1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KCZ2aXNpYmxlUmVjdCkpIHsKICAgICAgICAg
ICAgIExPRyhET01UaW1lcnMsICIlcCAtIFNjcmlwdCBpcyBjaGFuZ2luZyBzdHlsZSBvZiBhbiBl
bGVtZW50IHRoYXQgaXMgbm93IGluc2lkZSB0aGUgdmlld3BvcnQsIHVudGhyb3R0bGluZyB0aGUg
dGltZXIuIiwgdGhpcyk7CiAgICAgICAgICAgICBtX3Rocm90dGxlU3RhdGUgPSBTaG91bGROb3RU
aHJvdHRsZTsKICAgICAgICAgICAgIHVucmVnaXN0ZXJGb3JWaWV3cG9ydENoYW5nZXMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCA0MTM2MGM1ZWMx
ZDIxMzAzYzJiOWVlYjdlYmZlMmRjM2NhZjc4NmU4Li5kNDdlOTgyYjY1ZjQ0ZDA2OGEyZDc1ZTdl
ZWU3ZGIyZjA3OGJkMDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwCkBAIC0xMzMwLDE1ICsxMzMwLDI3IEBAIGJvb2wgUmVuZGVyRWxlbWVudDo6Ym9yZGVy
SW1hZ2VJc0xvYWRlZEFuZENhbkJlUmVuZGVyZWQoKSBjb25zdAogICAgIHJldHVybiBib3JkZXJJ
bWFnZSAmJiBib3JkZXJJbWFnZS0+Y2FuUmVuZGVyKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9v
bSgpKSAmJiBib3JkZXJJbWFnZS0+aXNMb2FkZWQoKTsKIH0KIAotYm9vbCBSZW5kZXJFbGVtZW50
Ojppc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVSZWN0KSBjb25zdAorc3Rh
dGljIHZvaWQgYWNjb3VudEZvclNlbGZQYWludGluZ0Rlc2NlbmRhbnRzT3ZlcmZsb3coY29uc3Qg
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIExheW91dFJlY3QmIHJlcGFpbnRSZWN0KQoreworICAg
IGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJMYXllck1vZGVsT2JqZWN0
PihyZW5kZXJlcikpIHsKKyAgICAgICAgaWYgKGNoaWxkLmhhc1NlbGZQYWludGluZ0xheWVyKCkp
CisgICAgICAgICAgICByZXBhaW50UmVjdC51bml0ZShjaGlsZC5hYnNvbHV0ZUNsaXBwZWRPdmVy
Zmxvd1JlY3QoKSk7CisgICAgICAgIGFjY291bnRGb3JTZWxmUGFpbnRpbmdEZXNjZW5kYW50c092
ZXJmbG93KGNoaWxkLCByZXBhaW50UmVjdCk7CisgICAgfQorfQorCitib29sIFJlbmRlckVsZW1l
bnQ6Om1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIG9wdGlvbmFs
VmlzaWJsZVJlY3QpIGNvbnN0CiB7CiAgICAgYXV0byYgZnJhbWVWaWV3ID0gdmlldygpLmZyYW1l
VmlldygpOwogICAgIGlmIChmcmFtZVZpZXcuaXNPZmZzY3JlZW4oKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdCA9IGFic29sdXRlQ2xpcHBlZE92
ZXJmbG93UmVjdCgpOworICAgIGFjY291bnRGb3JTZWxmUGFpbnRpbmdEZXNjZW5kYW50c092ZXJm
bG93KCp0aGlzLCByZXBhaW50UmVjdCk7CisKICAgICAvLyBDb21wdXRlIHZpZXdwb3J0IHJlY3Qg
aWYgaXQgd2FzIG5vdCBwcm92aWRlZC4KLSAgICBjb25zdCBJbnRSZWN0JiB2aWV3cG9ydFJlY3Qg
PSB2aXNpYmxlUmVjdCA/ICp2aXNpYmxlUmVjdCA6IGZyYW1lVmlldy53aW5kb3dUb0NvbnRlbnRz
KGZyYW1lVmlldy53aW5kb3dDbGlwUmVjdCgpKTsKLSAgICByZXR1cm4gdmlld3BvcnRSZWN0Lmlu
dGVyc2VjdHMoZW5jbG9zaW5nSW50UmVjdChhYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSkp
OworICAgIGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0ID0gb3B0aW9uYWxWaXNpYmxlUmVjdCA/
ICpvcHRpb25hbFZpc2libGVSZWN0IDogZnJhbWVWaWV3LndpbmRvd1RvQ29udGVudHMoZnJhbWVW
aWV3LndpbmRvd0NsaXBSZWN0KCkpOworICAgIHJldHVybiB2aXNpYmxlUmVjdC5pbnRlcnNlY3Rz
KGVuY2xvc2luZ0ludFJlY3QocmVwYWludFJlY3QpKTsKIH0KIAogc3RhdGljIGJvb2wgc2hvdWxk
UmVwYWludEZvckltYWdlQW5pbWF0aW9uKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBj
b25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCmluZGV4IDY2NGFjM2I3YjE4MWFhZDA3YTk2ZTBhNmQ2OWU2MDNlODQ0ZjAzYWIu
LjkwMjQ0YzMzMTdmNzYwOWJmMWYyNzRiMjc1MTFlZDRiNTIwMDQwMGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoK
ICAgICBib29sIHJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGNvbnN0IExheW91dFJlY3QmIG9sZEJvdW5kcywg
Y29uc3QgTGF5b3V0UmVjdCYgb2xkT3V0bGluZUJveCwgY29uc3QgTGF5b3V0UmVjdCogbmV3Qm91
bmRzUHRyID0gbnVsbHB0ciwgY29uc3QgTGF5b3V0UmVjdCogbmV3T3V0bGluZUJveFB0ciA9IG51
bGxwdHIpOwogCiAgICAgYm9vbCBib3JkZXJJbWFnZUlzTG9hZGVkQW5kQ2FuQmVSZW5kZXJlZCgp
IGNvbnN0OwotICAgIGJvb2wgaXNJbnNpZGVWaWV3cG9ydChjb25zdCBJbnRSZWN0KiB2aXNpYmxl
UmVjdCA9IG51bGxwdHIpIGNvbnN0OworICAgIGJvb2wgbWF5Q2F1c2VSZXBhaW50SW5zaWRlVmll
d3BvcnQoY29uc3QgSW50UmVjdCogdmlzaWJsZVJlY3QgPSBudWxscHRyKSBjb25zdDsKIAogICAg
IC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHJlbmRlcmVyIHJlcXVpcmVzIGEgbmV3IHN0YWNraW5n
IGNvbnRleHQuCiAgICAgYm9vbCBjcmVhdGVzR3JvdXAoKSBjb25zdCB7IHJldHVybiBpc1RyYW5z
cGFyZW50KCkgfHwgaGFzTWFzaygpIHx8IGhhc0ZpbHRlcigpIHx8IGhhc0JhY2tkcm9wRmlsdGVy
KCkgfHwgaGFzQmxlbmRNb2RlKCk7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxOTk1NWYzMzVmYjMzNzdjNWJlY2MwY2Ew
ODgzMGI4MGVjMjQyNGU5Li4zNGJiNzBmNmZiNTBkMjI4NGI5NDM4MzllNDc0OGFkZGQ2YmI1NmQ4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMTItMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIxNzYyMTIpOiBDYXJvdXNlbCBvbiBt
YnVzYS5jb20gaXMgY2hvcHB5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzk1NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5MjA5NDA2PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGxheW91
dCB0ZXN0IHRvIGNvdmVyIHRoZSBjYXNlIHdoZXJlIGEgcmVwZWF0aW5nIERPTSB0aW1lciBpcwor
ICAgICAgICBjaGFuZ2luZyB0aGUgc3R5bGUgb2YgYW4gZWxlbWVudCB3aGljaCBoYXMgb3ZlcmZs
b3dpbmcgY29udGVudCB0aGF0CisgICAgICAgIGlzIHZpc2libGUgYW5kIGhhcyBpdHMgb3duIGxh
eWVyLiBJbiBzdWNoIGNhc2UsIHRoZSBET00gdGltZXIgc2hvdWxkCisgICAgICAgIG5vdCBiZSB0
aHJvdHRsZWQuCisKKyAgICAgICAgKiBmYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1v
dmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0bGluZy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5n
LWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLmh0bWw6IEFkZGVkLgorCiAyMDE0LTEyLTEwICBB
bGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE1hYyB0ZXN0IGV4
cGVjdGF0aW9ucyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9y
ZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0
bGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXIt
ZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0bGluZy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTlkYWIxMmVkNjBlYmRjODIyNjQ2MTMzNDIyNWFjZDk2Zjk2NDE4NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1l
bGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitUZXN0cyB0aGF0IGEgcmVwZWF0aW5nIHRpbWVyIGNoYW5naW5n
IHRoZSBzdHlsZSBvZiBhbiBlbGVtZW50IHdpdGggMCBoZWlnaHQgYW5kIHZpc2libGUgb3ZlcmZs
b3dpbmcgY29udGVudCB0aGF0IGhhdmUgdGhlaXIgb3duIGxheWVyIGRvZXMgbm90IGdldCB0aHJv
dHRsZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RFbGVtZW50
Lm9mZnNldEhlaWdodCBpcyAwCitUaGUgdGltZXIgc2hvdWxkIGluaXRpYWxseSBub3QgYmUgdGhy
b3R0bGVkLgorUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIGZh
bHNlCis1dGggaXRlcmF0aW9uLCB0aW1lciBzaG91bGQgbm90IGhhdmUgYmVlbiB0aHJvdHRsZWQu
CitQQVNTIHdhc1Rocm90dGxlZCBpcyBmYWxzZQorNnRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxk
IHN0aWxsIGJlIHVudGhyb3R0bGVkLgorUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0
aW1lb3V0SWQpIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKK3Rlc3QxCit0ZXN0MgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRo
cm90dGxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVt
ZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYThhNzczOTgxMDYxNWU0NmI5MmE0NWM2ODRmODJhMTZjNDZhZWMwOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJm
bG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLmh0bWwKQEAgLTAsMCArMSw0NSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGVzdEVsZW1lbnQiIHN0eWxlPSJoZWln
aHQ6IDA7Ij4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyI+
dGVzdDE8L2Rpdj4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAp
OyI+dGVzdDI8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0
IGEgcmVwZWF0aW5nIHRpbWVyIGNoYW5naW5nIHRoZSBzdHlsZSBvZiBhbiBlbGVtZW50IHdpdGgg
MCBoZWlnaHQgYW5kIHZpc2libGUgb3ZlcmZsb3dpbmcgY29udGVudCB0aGF0IGhhdmUgdGhlaXIg
b3duIGxheWVyIGRvZXMgbm90IGdldCB0aHJvdHRsZWQuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGl0ZXJhdGlvbkNvdW50ID0gMDsKK3ZhciB0aW1lb3V0SWQ7Cit2YXIgdGVzdEVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEVsZW1lbnQiKTsKK3ZhciB3YXNU
aHJvdHRsZWQgPSBmYWxzZTsKKworZnVuY3Rpb24gdGltZXJDYWxsYmFjaygpCit7CisgICsraXRl
cmF0aW9uQ291bnQ7CisgIC8vIEludGVyYWN0IHdpdGggdGhlIHN0eWxlIG9mIHRoZSBlbGVtZW50
LgorICB0ZXN0RWxlbWVudC5zdHlsZVsibGVmdCJdID0gIiIgKyBpdGVyYXRpb25Db3VudCArICJw
eCI7CisKKyAgLy8gNSBpdGVyYXRpb25zIHNob3VsZCBzdWZmaWNlIHRvIHRocm90dGxlIHRoZSB0
aW1lci4KKyAgaWYgKGl0ZXJhdGlvbkNvdW50ID09IDUpIHsKKyAgICAvLyBEbyBub3QgdXNlIHNo
b3VsZEJlVHJ1ZSgpIGhlcmUgYmVjYXVzZSBpdCB3b3VsZCBjYXVzZSBhIERPTSB0cmVlIG11dGF0
aW9uIGFuZAorICAgIC8vIHVudGhyb3R0bGUgdGhlIERPTSBUaW1lci4KKyAgICB3YXNUaHJvdHRs
ZWQgPSBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpOworICB9IGVsc2UgaWYg
KGl0ZXJhdGlvbkNvdW50ID09IDYpIHsKKyAgICBkZWJ1ZygiNXRoIGl0ZXJhdGlvbiwgdGltZXIg
c2hvdWxkIG5vdCBoYXZlIGJlZW4gdGhyb3R0bGVkLiIpOworICAgIHNob3VsZEJlRmFsc2UoIndh
c1Rocm90dGxlZCIpOworICAgIGRlYnVnKCI2dGggaXRlcmF0aW9uLCB0aW1lciBzaG91bGQgc3Rp
bGwgYmUgdW50aHJvdHRsZWQuIik7CisgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzVGlt
ZXJUaHJvdHRsZWQodGltZW91dElkKSIpOworICAgIGNsZWFySW50ZXJ2YWwodGltZW91dElkKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgfQorfQorCitzaG91bGRCZSgidGVzdEVsZW1lbnQub2Zm
c2V0SGVpZ2h0IiwgIjAiKTsKKwordGltZW91dElkID0gc2V0SW50ZXJ2YWwodGltZXJDYWxsYmFj
aywgMCk7CitkZWJ1ZygiVGhlIHRpbWVyIHNob3VsZCBpbml0aWFsbHkgbm90IGJlIHRocm90dGxl
ZC4iKTsKK3Nob3VsZEJlRmFsc2UoImludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJ
ZCkiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243203</attachid>
            <date>2014-12-12 10:14:17 -0800</date>
            <delta_ts>2014-12-13 20:11:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139543-20141212101501.patch</filename>
            <type>text/plain</type>
            <size>14916</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3MjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc4ZGVkOTNmOGI0YTBm
ZTBlZGRlOTU4NDJlZjhmZWEzNWUwNjZhNC4uMjM0ZDE0ZjVlZGQyZDM1MjQ2OWQyN2Y4ZjJhODdl
OTA0YTFiM2IxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTc2MjEy
KTogQ2Fyb3VzZWwgb24gbWJ1c2EuY29tIGlzIGNob3BweQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NTQzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xOTIwOTQwNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBIHJlcGVhdGluZyBET00gdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1l
bnQgdGhhdCBoYXMKKyAgICAgICAgb3ZlcmZsb3dpbmcgY29udGVudCB0aGF0IGlzIHZpc2libGUg
d291bGQgZ2V0IHRocm90dGxlZCBpbiB0aGUKKyAgICAgICAgY2FzZSB3aGVyZSB0aGUgb3ZlcmZs
b3dpbmcgY29udGVudCBoYXMgaXRzIG93biBsYXllci4gVGhpcyBpcworICAgICAgICBiZWNhdXNl
IHRoZSByZXBhaW50IHJlY3QgcmV0dXJuZWQgYnkKKyAgICAgICAgUmVuZGVyT2JqZWN0OjphYnNv
bHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSBkb2VzIG5vdCB0YWtlIGludG8KKyAgICAgICAgY29u
c2lkZXJpbmcgZGVzY2VuZGFudHMgd2l0aCB0aGVpciBvd24gc2VsZiBwYWludGluZyBsYXllciB3
aGVuCisgICAgICAgIGFjY291bnRpbmcgZm9yIHRoZSBvdmVyZmxvdy4KKworICAgICAgICBUaGlz
IHBhdGNoIHVwZGF0ZXMgUmVuZGVyRWxlbWVudDo6aXNJbnNpZGVWaWV3cG9ydCgpIHRvIGFjY291
bnQKKyAgICAgICAgZm9yIGRlc2NlbmRhbnRzIHdpdGggdGhlaXIgb3duIHNlbGYgcGFpbnRpbmcg
bGF5ZXIgdG8gY29tcHV0ZQorICAgICAgICB0aGUgb3ZlcmZsb3cgcmVjdC4gVGhlIG1ldGhvZCBp
cyBhbHNvIHJlbmFtZWQgdG8KKyAgICAgICAgbWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQo
KSBmb3IgY2xhcml0eS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9yZXBlYXRpbmctdGltZXIt
ZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0bGluZy5odG1sCisKKyAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjptYXlD
YXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpp
c0luc2lkZVZpZXdwb3J0KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAg
ICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OnNj
cmlwdERpZENhdXNlRWxlbWVudFJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6
OnVwZGF0ZVRocm90dGxpbmdTdGF0ZUFmdGVyVmlld3BvcnRDaGFuZ2UpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFjY291bnRGb3JT
ZWxmUGFpbnRpbmdEZXNjZW5kYW50c092ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6Om1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckVsZW1lbnQ6OmlzSW5zaWRlVmlld3BvcnQpOiBEZWxldGVkLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisKIDIwMTQtMTItMTIgIFJhZHUgU3RhdmlsYSAg
PHN0YXZpbGFAYWRvYmUuY29tPgogCiAgICAgICAgIFtTVkcgTWFza2luZ10gRW5hYmxlIHRoZSB1
c2Ugb2YgPG1hc2s+IGVsZW1lbnRzIGZvciAtd2Via2l0LW1hc2staW1hZ2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAppbmRleCA4YmFkMjIyZjY0MTM0NWZhOWU3NWExNTZjYjEyZDgzZWVkODM2NTA1Li4y
ZjliMTgwZDAwZTI0NTVmYTY4MWM5OWYwNTRjZDkyNWVhMDBiOTA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCkBAIC0yNDE1LDkgKzI0MTUsOSBAQCBib29sIEVsZW1lbnQ6OnNob3VsZEFwcGVhcklu
ZGV0ZXJtaW5hdGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBFbGVtZW50
Ojppc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVSZWN0KSBjb25zdAorYm9v
bCBFbGVtZW50OjptYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydChjb25zdCBJbnRSZWN0KiB2
aXNpYmxlUmVjdCkgY29uc3QKIHsKLSAgICByZXR1cm4gcmVuZGVyZXIoKSAmJiByZW5kZXJlcigp
LT5pc0luc2lkZVZpZXdwb3J0KHZpc2libGVSZWN0KTsKKyAgICByZXR1cm4gcmVuZGVyZXIoKSAm
JiByZW5kZXJlcigpLT5tYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydCh2aXNpYmxlUmVjdCk7
CiB9CiAKIERPTVRva2VuTGlzdCYgRWxlbWVudDo6Y2xhc3NMaXN0KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CmluZGV4IDdlODEyMzE3YTc2OWEwOTA1NjU5YzllNzAyOTRiODM4YmM1NjdjZDMuLmZiZTcwMDIx
NzY2OWU2YTg2ZmNiYTgxY2UxYzdjNTI0M2FkNTA3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAt
MjAwLDcgKzIwMCw3IEBAIHB1YmxpYzoKICAgICBkb3VibGUgb2Zmc2V0V2lkdGgoKTsKICAgICBk
b3VibGUgb2Zmc2V0SGVpZ2h0KCk7CiAKLSAgICBib29sIGlzSW5zaWRlVmlld3BvcnQoY29uc3Qg
SW50UmVjdCogdmlzaWJsZVJlY3QgPSBudWxscHRyKSBjb25zdDsKKyAgICBib29sIG1heUNhdXNl
UmVwYWludEluc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVSZWN0ID0gbnVsbHB0
cikgY29uc3Q7CiAKICAgICAvLyBGSVhNRTogUmVwbGFjZSB1c2VzIG9mIG9mZnNldFBhcmVudCBp
biB0aGUgcGxhdGZvcm0gd2l0aCBjYWxscwogICAgIC8vIHRvIHRoZSByZW5kZXIgbGF5ZXIgYW5k
IG1lcmdlIGJpbmRpbmdzT2Zmc2V0UGFyZW50IGFuZCBvZmZzZXRQYXJlbnQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NVGltZXIuY3BwCmluZGV4IDNlNWZhNTg3NzUyNGI4Yzg2NjZmM2U5ZDU3ZTc4OWJlYTYwMTMz
ZjYuLmU2YTM3YjZjMzc5ZjRjMjA0ZDc3Y2ZjNTAyM2RlMjczZGNmOWU5YWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NVGltZXIuY3BwCkBAIC0zMjEsNyArMzIxLDcgQEAgdm9pZCBET01UaW1lcjo6c2NyaXB0
RGlkQ2F1c2VFbGVtZW50UmVwYWludChFbGVtZW50JiBlbGVtZW50LCBib29sIGNoYW5nZWQpCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoZWxlbWVudC5pc0luc2lkZVZpZXdwb3J0
KCkpCisgICAgaWYgKGVsZW1lbnQubWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQoKSkKICAg
ICAgICAgRE9NVGltZXJGaXJlU3RhdGU6OmN1cnJlbnQtPnNldFNjcmlwdE1hZGVVc2VyT2JzZXJ2
YWJsZUNoYW5nZXMoKTsKICAgICBlbHNlCiAgICAgICAgIERPTVRpbWVyRmlyZVN0YXRlOjpjdXJy
ZW50LT5zZXRTY3JpcHRNYWRlTm9uVXNlck9ic2VydmFibGVDaGFuZ2VzVG9FbGVtZW50KGVsZW1l
bnQpOwpAQCAtNDgwLDcgKzQ4MCw3IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRocm90dGxpbmdT
dGF0ZUFmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlCiAgICAgICAg
IGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aW5Eb2N1bWVudCgpKQogICAgICAgICAgICAgY29u
dGludWU7CiAKLSAgICAgICAgaWYgKGVsZW1lbnQtPmlzSW5zaWRlVmlld3BvcnQoJnZpc2libGVS
ZWN0KSkgeworICAgICAgICBpZiAoZWxlbWVudC0+bWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3Bv
cnQoJnZpc2libGVSZWN0KSkgewogICAgICAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gU2Ny
aXB0IGlzIGNoYW5naW5nIHN0eWxlIG9mIGFuIGVsZW1lbnQgdGhhdCBpcyBub3cgaW5zaWRlIHRo
ZSB2aWV3cG9ydCwgdW50aHJvdHRsaW5nIHRoZSB0aW1lci4iLCB0aGlzKTsKICAgICAgICAgICAg
IG1fdGhyb3R0bGVTdGF0ZSA9IFNob3VsZE5vdFRocm90dGxlOwogICAgICAgICAgICAgdW5yZWdp
c3RlckZvclZpZXdwb3J0Q2hhbmdlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCmluZGV4IDhkYjY4MzVkMTk2NGU4ODY1NTRjNTNlZTkzYjk3MjA4OWI0ZDhl
ZjEuLjUzODlkYmI3OGRhZjI2NDY2ZWZiOGMwOGI0NzJmYTRlNmZlOWNhNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTEzMzYsMTUgKzEzMzYsMzAg
QEAgYm9vbCBSZW5kZXJFbGVtZW50Ojpib3JkZXJJbWFnZUlzTG9hZGVkQW5kQ2FuQmVSZW5kZXJl
ZCgpIGNvbnN0CiAgICAgcmV0dXJuIGJvcmRlckltYWdlICYmIGJvcmRlckltYWdlLT5jYW5SZW5k
ZXIodGhpcywgc3R5bGUoKS5lZmZlY3RpdmVab29tKCkpICYmIGJvcmRlckltYWdlLT5pc0xvYWRl
ZCgpOwogfQogCi1ib29sIFJlbmRlckVsZW1lbnQ6OmlzSW5zaWRlVmlld3BvcnQoY29uc3QgSW50
UmVjdCogdmlzaWJsZVJlY3QpIGNvbnN0CitzdGF0aWMgdm9pZCBhY2NvdW50Rm9yU2VsZlBhaW50
aW5nRGVzY2VuZGFudHNPdmVyZmxvdyhjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgTGF5
b3V0UmVjdCYgcmVwYWludFJlY3QpCit7CisgICAgaWYgKHJlbmRlcmVyLmhhc092ZXJmbG93Q2xp
cCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5P
ZlR5cGU8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4ocmVuZGVyZXIpKSB7CisgICAgICAgIGlmIChj
aGlsZC5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAgcmVwYWludFJlY3QudW5p
dGUoY2hpbGQuYWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpOworICAgICAgICBhY2NvdW50
Rm9yU2VsZlBhaW50aW5nRGVzY2VuZGFudHNPdmVyZmxvdyhjaGlsZCwgcmVwYWludFJlY3QpOwor
ICAgIH0KK30KKworYm9vbCBSZW5kZXJFbGVtZW50OjptYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3
cG9ydChjb25zdCBJbnRSZWN0KiBvcHRpb25hbFZpc2libGVSZWN0KSBjb25zdAogewogICAgIGF1
dG8mIGZyYW1lVmlldyA9IHZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBpZiAoZnJhbWVWaWV3Lmlz
T2Zmc2NyZWVuKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIExheW91dFJlY3QgcmVw
YWludFJlY3QgPSBhYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKTsKKyAgICBhY2NvdW50Rm9y
U2VsZlBhaW50aW5nRGVzY2VuZGFudHNPdmVyZmxvdygqdGhpcywgcmVwYWludFJlY3QpOworCiAg
ICAgLy8gQ29tcHV0ZSB2aWV3cG9ydCByZWN0IGlmIGl0IHdhcyBub3QgcHJvdmlkZWQuCi0gICAg
Y29uc3QgSW50UmVjdCYgdmlld3BvcnRSZWN0ID0gdmlzaWJsZVJlY3QgPyAqdmlzaWJsZVJlY3Qg
OiBmcmFtZVZpZXcud2luZG93VG9Db250ZW50cyhmcmFtZVZpZXcud2luZG93Q2xpcFJlY3QoKSk7
Ci0gICAgcmV0dXJuIHZpZXdwb3J0UmVjdC5pbnRlcnNlY3RzKGVuY2xvc2luZ0ludFJlY3QoYWJz
b2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpKTsKKyAgICBjb25zdCBJbnRSZWN0JiB2aXNpYmxl
UmVjdCA9IG9wdGlvbmFsVmlzaWJsZVJlY3QgPyAqb3B0aW9uYWxWaXNpYmxlUmVjdCA6IGZyYW1l
Vmlldy53aW5kb3dUb0NvbnRlbnRzKGZyYW1lVmlldy53aW5kb3dDbGlwUmVjdCgpKTsKKyAgICBy
ZXR1cm4gdmlzaWJsZVJlY3QuaW50ZXJzZWN0cyhlbmNsb3NpbmdJbnRSZWN0KHJlcGFpbnRSZWN0
KSk7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZFJlcGFpbnRGb3JJbWFnZUFuaW1hdGlvbihjb25z
dCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA2NjRhYzNiN2IxODFh
YWQwN2E5NmUwYTZkNjllNjAzZTg0NGYwM2FiLi45MDI0NGMzMzE3Zjc2MDliZjFmMjc0YjI3NTEx
ZWQ0YjUyMDA0MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgK
QEAgLTEzMyw3ICsxMzMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCByZXBhaW50QWZ0ZXJMYXlvdXRJ
Zk5lZWRlZChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBj
b25zdCBMYXlvdXRSZWN0JiBvbGRCb3VuZHMsIGNvbnN0IExheW91dFJlY3QmIG9sZE91dGxpbmVC
b3gsIGNvbnN0IExheW91dFJlY3QqIG5ld0JvdW5kc1B0ciA9IG51bGxwdHIsIGNvbnN0IExheW91
dFJlY3QqIG5ld091dGxpbmVCb3hQdHIgPSBudWxscHRyKTsKIAogICAgIGJvb2wgYm9yZGVySW1h
Z2VJc0xvYWRlZEFuZENhbkJlUmVuZGVyZWQoKSBjb25zdDsKLSAgICBib29sIGlzSW5zaWRlVmll
d3BvcnQoY29uc3QgSW50UmVjdCogdmlzaWJsZVJlY3QgPSBudWxscHRyKSBjb25zdDsKKyAgICBi
b29sIG1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVS
ZWN0ID0gbnVsbHB0cikgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyByZW5k
ZXJlciByZXF1aXJlcyBhIG5ldyBzdGFja2luZyBjb250ZXh0LgogICAgIGJvb2wgY3JlYXRlc0dy
b3VwKCkgY29uc3QgeyByZXR1cm4gaXNUcmFuc3BhcmVudCgpIHx8IGhhc01hc2soKSB8fCBoYXNG
aWx0ZXIoKSB8fCBoYXNCYWNrZHJvcEZpbHRlcigpIHx8IGhhc0JsZW5kTW9kZSgpOyB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMjYwNmRmZTMyY2RjYTFkMTk4NmEzZDJmZTRiNDIzYzEzMjA5YzY5MS4uZmNhZDViNWJlMmJj
MzViOTgwZTllOTFiMmE0ZTgzZWVjMmQxOGM0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0
LTEyLTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVz
c2lvbihyMTc2MjEyKTogQ2Fyb3VzZWwgb24gbWJ1c2EuY29tIGlzIGNob3BweQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NTQzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xOTIwOTQwNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0byBjb3ZlciB0aGUgY2FzZSB3aGVy
ZSBhIHJlcGVhdGluZyBET00gdGltZXIgaXMKKyAgICAgICAgY2hhbmdpbmcgdGhlIHN0eWxlIG9m
IGFuIGVsZW1lbnQgd2hpY2ggaGFzIG92ZXJmbG93aW5nIGNvbnRlbnQgdGhhdAorICAgICAgICBp
cyB2aXNpYmxlIGFuZCBoYXMgaXRzIG93biBsYXllci4gSW4gc3VjaCBjYXNlLCB0aGUgRE9NIHRp
bWVyIHNob3VsZAorICAgICAgICBub3QgYmUgdGhyb3R0bGVkLiBBbHNvIGFkZCBhIGxheW91dCB0
ZXN0IHRvIG1ha2Ugc3VyZSB3ZSBzdGlsbCB0aHJvdHRsZQorICAgICAgICBpZiB0aGUgZWxlbWVu
dCBjbGlwcyBpdHMgb3ZlcmZsb3cuCisKKyAgICAgICAgKiBmYXN0L2RvbS9yZXBlYXRpbmctdGlt
ZXItZWxlbWVudC1vdmVyZmxvdy1oaWRkZW4tdGhyb3R0bGluZy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LWhp
ZGRlbi10aHJvdHRsaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3JlcGVhdGlu
Zy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVs
ZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRocm90dGxpbmcuaHRtbDogQWRkZWQu
CisKIDIwMTQtMTItMTIgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgogCiAgICAg
ICAgIFtTVkcgTWFza2luZ10gRW5hYmxlIHRoZSB1c2Ugb2YgPG1hc2s+IGVsZW1lbnRzIGZvciAt
d2Via2l0LW1hc2staW1hZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVh
dGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LWhpZGRlbi10aHJvdHRsaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93
LWhpZGRlbi10aHJvdHRsaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDBjNDU4ZmE2YTYx
YmYyODJmNzQ2ODJlMDc3YjUxMzZmMzRjNzRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90
dGxpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3RzIHRoYXQgYSByZXBlYXRp
bmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2l0aCAwIGhlaWdodCBh
bmQgaGlkZGVuIG92ZXJmbG93IGNvbnRlbnQgdGhhdCBoYXZlIHRoZWlyIG93biBsYXllciBnZXRz
IHRocm90dGxlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdEVs
ZW1lbnQub2Zmc2V0SGVpZ2h0IGlzIDAKK1RoZSB0aW1lciBzaG91bGQgaW5pdGlhbGx5IG5vdCBi
ZSB0aHJvdHRsZWQuCitQQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkg
aXMgZmFsc2UKKzV0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBoYXZlIGJlZW4gdGhyb3R0bGVk
LgorUEFTUyB3YXNUaHJvdHRsZWQgaXMgdHJ1ZQorNnRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxk
IHN0aWxsIGJlIHVudGhyb3R0bGVkLgorUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0
aW1lb3V0SWQpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmct
dGltZXItZWxlbWVudC1vdmVyZmxvdy1oaWRkZW4tdGhyb3R0bGluZy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90
dGxpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTRlMjgzNGJlZGU2NTQ1OGU4ZGQwMmJkMjE3NjMxYjVk
YTcxOWEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5n
LXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90dGxpbmcuaHRtbApAQCAtMCwwICsx
LDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXN0RWxlbWVudCIgc3R5
bGU9ImhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsiPgorPGRpdiBzdHlsZT0iLXdlYmtpdC10
cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7Ij50ZXN0MTwvZGl2PgorPGRpdiBzdHlsZT0iLXdlYmtp
dC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7Ij50ZXN0MjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSByZXBlYXRpbmcgdGltZXIgY2hhbmdpbmcgdGhl
IHN0eWxlIG9mIGFuIGVsZW1lbnQgd2l0aCAwIGhlaWdodCBhbmQgaGlkZGVuIG92ZXJmbG93IGNv
bnRlbnQgdGhhdCBoYXZlIHRoZWlyIG93biBsYXllciBnZXRzIHRocm90dGxlZC4iKTsKK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCit2YXIgaXRlcmF0aW9uQ291bnQgPSAwOwordmFyIHRpbWVvdXRJ
ZDsKK3ZhciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RWxlbWVu
dCIpOwordmFyIHdhc1Rocm90dGxlZCA9IGZhbHNlOworCitmdW5jdGlvbiB0aW1lckNhbGxiYWNr
KCkKK3sKKyAgKytpdGVyYXRpb25Db3VudDsKKyAgLy8gSW50ZXJhY3Qgd2l0aCB0aGUgc3R5bGUg
b2YgdGhlIGVsZW1lbnQuCisgIHRlc3RFbGVtZW50LnN0eWxlWyJsZWZ0Il0gPSAiIiArIGl0ZXJh
dGlvbkNvdW50ICsgInB4IjsKKworICAvLyA1IGl0ZXJhdGlvbnMgc2hvdWxkIHN1ZmZpY2UgdG8g
dGhyb3R0bGUgdGhlIHRpbWVyLgorICBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNSkgeworICAgIC8v
IERvIG5vdCB1c2Ugc2hvdWxkQmVUcnVlKCkgaGVyZSBiZWNhdXNlIGl0IHdvdWxkIGNhdXNlIGEg
RE9NIHRyZWUgbXV0YXRpb24gYW5kCisgICAgLy8gdW50aHJvdHRsZSB0aGUgRE9NIFRpbWVyLgor
ICAgIHdhc1Rocm90dGxlZCA9IGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCk7
CisgIH0gZWxzZSBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNikgeworICAgIGRlYnVnKCI1dGggaXRl
cmF0aW9uLCB0aW1lciBzaG91bGQgaGF2ZSBiZWVuIHRocm90dGxlZC4iKTsKKyAgICBzaG91bGRC
ZVRydWUoIndhc1Rocm90dGxlZCIpOworICAgIGRlYnVnKCI2dGggaXRlcmF0aW9uLCB0aW1lciBz
aG91bGQgc3RpbGwgYmUgdW50aHJvdHRsZWQuIik7CisgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5h
bHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIik7CisgICAgY2xlYXJJbnRlcnZhbCh0aW1l
b3V0SWQpOworICAgIGZpbmlzaEpTVGVzdCgpOworICB9Cit9CisKK3Nob3VsZEJlKCJ0ZXN0RWxl
bWVudC5vZmZzZXRIZWlnaHQiLCAiMCIpOworCit0aW1lb3V0SWQgPSBzZXRJbnRlcnZhbCh0aW1l
ckNhbGxiYWNrLCAwKTsKK2RlYnVnKCJUaGUgdGltZXIgc2hvdWxkIGluaXRpYWxseSBub3QgYmUg
dGhyb3R0bGVkLiIpOworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQo
dGltZW91dElkKSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24t
bGF5ZXItdGhyb3R0bGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBl
YXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0bGlu
Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkYWIxMmVkNjBlYmRjODIyNjQ2MTMzNDIyNWFj
ZDk2Zjk2NDE4NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVh
dGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5n
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0cyB0aGF0IGEgcmVwZWF0aW5nIHRp
bWVyIGNoYW5naW5nIHRoZSBzdHlsZSBvZiBhbiBlbGVtZW50IHdpdGggMCBoZWlnaHQgYW5kIHZp
c2libGUgb3ZlcmZsb3dpbmcgY29udGVudCB0aGF0IGhhdmUgdGhlaXIgb3duIGxheWVyIGRvZXMg
bm90IGdldCB0aHJvdHRsZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHRlc3RFbGVtZW50Lm9mZnNldEhlaWdodCBpcyAwCitUaGUgdGltZXIgc2hvdWxkIGluaXRpYWxs
eSBub3QgYmUgdGhyb3R0bGVkLgorUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1l
b3V0SWQpIGlzIGZhbHNlCis1dGggaXRlcmF0aW9uLCB0aW1lciBzaG91bGQgbm90IGhhdmUgYmVl
biB0aHJvdHRsZWQuCitQQVNTIHdhc1Rocm90dGxlZCBpcyBmYWxzZQorNnRoIGl0ZXJhdGlvbiwg
dGltZXIgc2hvdWxkIHN0aWxsIGJlIHVudGhyb3R0bGVkLgorUEFTUyBpbnRlcm5hbHMuaXNUaW1l
clRocm90dGxlZCh0aW1lb3V0SWQpIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK3Rlc3QxCit0ZXN0MgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQt
b3duLWxheWVyLXRocm90dGxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGlu
Zy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzI1M2Y4NzE4Mzg4MjllMjFiYjhmZTM5ZGQyMWIzNjE3NTM4MDdkZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1l
bGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLmh0bWwKQEAgLTAs
MCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGVzdEVsZW1lbnQi
IHN0eWxlPSJoZWlnaHQ6IDA7Ij4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiB0cmFu
c2xhdGVYKDApOyI+dGVzdDE8L2Rpdj4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiB0
cmFuc2xhdGVYKDApOyI+dGVzdDI8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGEgcmVwZWF0aW5nIHRpbWVyIGNoYW5naW5nIHRoZSBzdHlsZSBvZiBhbiBl
bGVtZW50IHdpdGggMCBoZWlnaHQgYW5kIHZpc2libGUgb3ZlcmZsb3dpbmcgY29udGVudCB0aGF0
IGhhdmUgdGhlaXIgb3duIGxheWVyIGRvZXMgbm90IGdldCB0aHJvdHRsZWQuIik7Citqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKwordmFyIGl0ZXJhdGlvbkNvdW50ID0gMDsKK3ZhciB0aW1lb3V0SWQ7
Cit2YXIgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEVsZW1lbnQi
KTsKK3ZhciB3YXNUaHJvdHRsZWQgPSBmYWxzZTsKKworZnVuY3Rpb24gdGltZXJDYWxsYmFjaygp
Cit7CisgICsraXRlcmF0aW9uQ291bnQ7CisgIC8vIEludGVyYWN0IHdpdGggdGhlIHN0eWxlIG9m
IHRoZSBlbGVtZW50LgorICB0ZXN0RWxlbWVudC5zdHlsZVsibGVmdCJdID0gIiIgKyBpdGVyYXRp
b25Db3VudCArICJweCI7CisKKyAgLy8gNSBpdGVyYXRpb25zIHNob3VsZCBzdWZmaWNlIHRvIHRo
cm90dGxlIHRoZSB0aW1lci4KKyAgaWYgKGl0ZXJhdGlvbkNvdW50ID09IDUpIHsKKyAgICAvLyBE
byBub3QgdXNlIHNob3VsZEJlRmFsc2UoKSBoZXJlIGJlY2F1c2UgaXQgd291bGQgY2F1c2UgYSBE
T00gdHJlZSBtdXRhdGlvbiBhbmQKKyAgICAvLyB1bnRocm90dGxlIHRoZSBET00gVGltZXIuCisg
ICAgd2FzVGhyb3R0bGVkID0gaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKTsK
KyAgfSBlbHNlIGlmIChpdGVyYXRpb25Db3VudCA9PSA2KSB7CisgICAgZGVidWcoIjV0aCBpdGVy
YXRpb24sIHRpbWVyIHNob3VsZCBub3QgaGF2ZSBiZWVuIHRocm90dGxlZC4iKTsKKyAgICBzaG91
bGRCZUZhbHNlKCJ3YXNUaHJvdHRsZWQiKTsKKyAgICBkZWJ1ZygiNnRoIGl0ZXJhdGlvbiwgdGlt
ZXIgc2hvdWxkIHN0aWxsIGJlIHVudGhyb3R0bGVkLiIpOworICAgIHNob3VsZEJlRmFsc2UoImlu
dGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkiKTsKKyAgICBjbGVhckludGVydmFs
KHRpbWVvdXRJZCk7CisgICAgZmluaXNoSlNUZXN0KCk7CisgIH0KK30KKworc2hvdWxkQmUoInRl
c3RFbGVtZW50Lm9mZnNldEhlaWdodCIsICIwIik7CisKK3RpbWVvdXRJZCA9IHNldEludGVydmFs
KHRpbWVyQ2FsbGJhY2ssIDApOworZGVidWcoIlRoZSB0aW1lciBzaG91bGQgaW5pdGlhbGx5IG5v
dCBiZSB0aHJvdHRsZWQuIik7CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRocm90
dGxlZCh0aW1lb3V0SWQpIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243262</attachid>
            <date>2014-12-13 20:11:13 -0800</date>
            <delta_ts>2015-01-06 09:57:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139543-20141213201207.patch</filename>
            <type>text/plain</type>
            <size>18533</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3MjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJkOTA2NWM4ODVlZDdh
MjIxNmY5N2NiZmM2ZTNhMDBhN2VhN2RhOC4uNGVkMGVkNWRkMjhkOTE3YmYyM2VjMjg1NTQxYzJi
OWQ4ODY5OTBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE0LTEyLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTc2MjEy
KTogQ2Fyb3VzZWwgb24gbWJ1c2EuY29tIGlzIGNob3BweQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NTQzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xOTIwOTQwNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBIHJlcGVhdGluZyBET00gdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1l
bnQgdGhhdCBoYXMKKyAgICAgICAgb3ZlcmZsb3dpbmcgY29udGVudCB0aGF0IGlzIHZpc2libGUg
d291bGQgZ2V0IHRocm90dGxlZCBpbiB0aGUKKyAgICAgICAgY2FzZSB3aGVyZSB0aGUgb3ZlcmZs
b3dpbmcgY29udGVudCBoYXMgaXRzIG93biBsYXllci4gVGhpcyBpcworICAgICAgICBiZWNhdXNl
IHRoZSByZXBhaW50IHJlY3QgcmV0dXJuZWQgYnkKKyAgICAgICAgUmVuZGVyT2JqZWN0OjphYnNv
bHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSBkb2VzIG5vdCB0YWtlIGludG8KKyAgICAgICAgY29u
c2lkZXJhdGlvbiBkZXNjZW5kYW50cyB3aXRoIHRoZWlyIG93biBzZWxmLXBhaW50aW5nIGxheWVy
IHdoZW4KKyAgICAgICAgYWNjb3VudGluZyBmb3IgdGhlIG92ZXJmbG93LgorCisgICAgICAgIFVu
dGlsIEkgY2FuIGZpbmQgYSByZWxhdGl2ZWx5IGNoZWFwIHdheSBvZiBjb21wdXRpbmcgdGhlIG92
ZXJmbG93CisgICAgICAgIGluIHRoaXMgY2FzZSwgdGhpcyBwYXRjaCB0YWtlcyB0aGUgY29uc2Vy
dmF0aXZlIGFwcHJvYWNoIGFuZAorICAgICAgICBhc3N1bWVzIHdlIG1heSByZXBhaW50IGluc2lk
ZSB0aGUgdmlld3BvcnQgaWYgdGhlIGVsZW1lbnQgZG9lcyBub3QKKyAgICAgICAgaGF2ZSBhIGxh
eWVyIG9yIGlmIGFueSBvZiBpdHMgZGVzY2VuZGFudHMgaGFzIGl0cyBvd24gbGF5ZXIuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBhbHNvIHJlbmFtZXMgaXNJbnNpZGVWaWV3cG9ydCgpIGZ1bmN0aW9u
IHRvCisgICAgICAgIG1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KCkgZm9yIGNsYXJpdHku
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJm
bG93LWhpZGRlbi10aHJvdHRsaW5nLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL3JlcGVh
dGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5n
Lmh0bWwKKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6Om1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmlzSW5zaWRlVmlld3BvcnQpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6CisgICAgICAgICogcGFnZS9ET01UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6c2NyaXB0RGlkQ2F1c2VFbGVtZW50UmVwYWludCk6CisgICAgICAgIChXZWJDb3Jl
OjpET01UaW1lcjo6dXBkYXRlVGhyb3R0bGluZ1N0YXRlQWZ0ZXJWaWV3cG9ydENoYW5nZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRWxlbWVudDo6bWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aXNJbnNpZGVWaWV3cG9ydCk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKwogMjAxNC0xMi0xMiAgTWFyayBSb3dl
ICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFdvcmsgYXJvdW5kIGEgYnVnIGlu
IGRzeW11dGlsIG9uIG9sZGVyIE9TIHZlcnNpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXgg
OGJhZDIyMmY2NDEzNDVmYTllNzVhMTU2Y2IxMmQ4M2VlZDgzNjUwNS4uMmY5YjE4MGQwMGUyNDU1
ZmE2ODFjOTlmMDU0Y2Q5MjVlYTAwYjkwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMjQx
NSw5ICsyNDE1LDkgQEAgYm9vbCBFbGVtZW50OjpzaG91bGRBcHBlYXJJbmRldGVybWluYXRlKCkg
Y29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgRWxlbWVudDo6aXNJbnNpZGVWaWV3
cG9ydChjb25zdCBJbnRSZWN0KiB2aXNpYmxlUmVjdCkgY29uc3QKK2Jvb2wgRWxlbWVudDo6bWF5
Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQoY29uc3QgSW50UmVjdCogdmlzaWJsZVJlY3QpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNJbnNpZGVWaWV3
cG9ydCh2aXNpYmxlUmVjdCk7CisgICAgcmV0dXJuIHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+
bWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQodmlzaWJsZVJlY3QpOwogfQogCiBET01Ub2tl
bkxpc3QmIEVsZW1lbnQ6OmNsYXNzTGlzdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA3ZTgxMjMx
N2E3NjlhMDkwNTY1OWM5ZTcwMjk0YjgzOGJjNTY3Y2QzLi5mYmU3MDAyMTc2NjllNmE4NmZjYmE4
MWNlMWM3YzUyNDNhZDUwNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIwMCw3ICsyMDAsNyBA
QCBwdWJsaWM6CiAgICAgZG91YmxlIG9mZnNldFdpZHRoKCk7CiAgICAgZG91YmxlIG9mZnNldEhl
aWdodCgpOwogCi0gICAgYm9vbCBpc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2li
bGVSZWN0ID0gbnVsbHB0cikgY29uc3Q7CisgICAgYm9vbCBtYXlDYXVzZVJlcGFpbnRJbnNpZGVW
aWV3cG9ydChjb25zdCBJbnRSZWN0KiB2aXNpYmxlUmVjdCA9IG51bGxwdHIpIGNvbnN0OwogCiAg
ICAgLy8gRklYTUU6IFJlcGxhY2UgdXNlcyBvZiBvZmZzZXRQYXJlbnQgaW4gdGhlIHBsYXRmb3Jt
IHdpdGggY2FsbHMKICAgICAvLyB0byB0aGUgcmVuZGVyIGxheWVyIGFuZCBtZXJnZSBiaW5kaW5n
c09mZnNldFBhcmVudCBhbmQgb2Zmc2V0UGFyZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcApp
bmRleCAzZTVmYTU4Nzc1MjRiOGM4NjY2ZjNlOWQ1N2U3ODliZWE2MDEzM2Y2Li5lNmEzN2I2YzM3
OWY0YzIwNGQ3N2NmYzUwMjNkZTI3M2RjZjllOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNw
cApAQCAtMzIxLDcgKzMyMSw3IEBAIHZvaWQgRE9NVGltZXI6OnNjcmlwdERpZENhdXNlRWxlbWVu
dFJlcGFpbnQoRWxlbWVudCYgZWxlbWVudCwgYm9vbCBjaGFuZ2VkKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgaWYgKGVsZW1lbnQuaXNJbnNpZGVWaWV3cG9ydCgpKQorICAgIGlmIChl
bGVtZW50Lm1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KCkpCiAgICAgICAgIERPTVRpbWVy
RmlyZVN0YXRlOjpjdXJyZW50LT5zZXRTY3JpcHRNYWRlVXNlck9ic2VydmFibGVDaGFuZ2VzKCk7
CiAgICAgZWxzZQogICAgICAgICBET01UaW1lckZpcmVTdGF0ZTo6Y3VycmVudC0+c2V0U2NyaXB0
TWFkZU5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlc1RvRWxlbWVudChlbGVtZW50KTsKQEAgLTQ4MCw3
ICs0ODAsNyBAQCB2b2lkIERPTVRpbWVyOjp1cGRhdGVUaHJvdHRsaW5nU3RhdGVBZnRlclZpZXdw
b3J0Q2hhbmdlKGNvbnN0IEludFJlY3QmIHZpc2libGVSZQogICAgICAgICBpZiAoIWVsZW1lbnQg
fHwgIWVsZW1lbnQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAg
ICAgIGlmIChlbGVtZW50LT5pc0luc2lkZVZpZXdwb3J0KCZ2aXNpYmxlUmVjdCkpIHsKKyAgICAg
ICAgaWYgKGVsZW1lbnQtPm1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KCZ2aXNpYmxlUmVj
dCkpIHsKICAgICAgICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFNjcmlwdCBpcyBjaGFuZ2lu
ZyBzdHlsZSBvZiBhbiBlbGVtZW50IHRoYXQgaXMgbm93IGluc2lkZSB0aGUgdmlld3BvcnQsIHVu
dGhyb3R0bGluZyB0aGUgdGltZXIuIiwgdGhpcyk7CiAgICAgICAgICAgICBtX3Rocm90dGxlU3Rh
dGUgPSBTaG91bGROb3RUaHJvdHRsZTsKICAgICAgICAgICAgIHVucmVnaXN0ZXJGb3JWaWV3cG9y
dENoYW5nZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApp
bmRleCA4ZGI2ODM1ZDE5NjRlODg2NTU0YzUzZWU5M2I5NzIwODliNGQ4ZWYxLi42MDQ3M2Q0OWY2
MzU3MzA4ZDFjZGE2N2E2Nzg1NzY3MmM4MTJmOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xMzM2LDE1ICsxMzM2LDIzIEBAIGJvb2wgUmVuZGVy
RWxlbWVudDo6Ym9yZGVySW1hZ2VJc0xvYWRlZEFuZENhbkJlUmVuZGVyZWQoKSBjb25zdAogICAg
IHJldHVybiBib3JkZXJJbWFnZSAmJiBib3JkZXJJbWFnZS0+Y2FuUmVuZGVyKHRoaXMsIHN0eWxl
KCkuZWZmZWN0aXZlWm9vbSgpKSAmJiBib3JkZXJJbWFnZS0+aXNMb2FkZWQoKTsKIH0KIAotYm9v
bCBSZW5kZXJFbGVtZW50Ojppc0luc2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVS
ZWN0KSBjb25zdAorYm9vbCBSZW5kZXJFbGVtZW50OjptYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3
cG9ydChjb25zdCBJbnRSZWN0KiBvcHRpb25hbFZpZXdwb3J0UmVjdCkgY29uc3QKIHsKICAgICBh
dXRvJiBmcmFtZVZpZXcgPSB2aWV3KCkuZnJhbWVWaWV3KCk7CiAgICAgaWYgKGZyYW1lVmlldy5p
c09mZnNjcmVlbigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWhhc092ZXJm
bG93Q2xpcCgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBDb21wdXRpbmcgdGhlIG92ZXJmbG93IHJl
Y3QgaXMgZXhwZW5zaXZlIGlmIGFueSBkZXNjZW5kYW50IGhhcworICAgICAgICAvLyBpdHMgb3du
IHNlbGYtcGFpbnRpbmcgbGF5ZXIuIEFzIGEgcmVzdWx0LCB3ZSBwcmVmZXIgdG8gYWJvcnQgZWFy
bHkgaW4KKyAgICAgICAgLy8gdGhpcyBjYXNlIGFuZCBhc3N1bWUgaXQgbWF5IGNhdXNlIHVzIHRv
IHJlcGFpbnQgaW5zaWRlIHRoZSB2aWV3cG9ydC4KKyAgICAgICAgaWYgKCFoYXNMYXllcigpIHx8
IGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmplY3Q+KCp0aGlzKS5sYXllcigpLT5maXJzdENo
aWxkKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKICAgICAvLyBDb21wdXRl
IHZpZXdwb3J0IHJlY3QgaWYgaXQgd2FzIG5vdCBwcm92aWRlZC4KLSAgICBjb25zdCBJbnRSZWN0
JiB2aWV3cG9ydFJlY3QgPSB2aXNpYmxlUmVjdCA/ICp2aXNpYmxlUmVjdCA6IGZyYW1lVmlldy53
aW5kb3dUb0NvbnRlbnRzKGZyYW1lVmlldy53aW5kb3dDbGlwUmVjdCgpKTsKLSAgICByZXR1cm4g
dmlld3BvcnRSZWN0LmludGVyc2VjdHMoZW5jbG9zaW5nSW50UmVjdChhYnNvbHV0ZUNsaXBwZWRP
dmVyZmxvd1JlY3QoKSkpOworICAgIGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0ID0gb3B0aW9u
YWxWaWV3cG9ydFJlY3QgPyAqb3B0aW9uYWxWaWV3cG9ydFJlY3QgOiBmcmFtZVZpZXcud2luZG93
VG9Db250ZW50cyhmcmFtZVZpZXcud2luZG93Q2xpcFJlY3QoKSk7CisgICAgcmV0dXJuIHZpc2li
bGVSZWN0LmludGVyc2VjdHMoZW5jbG9zaW5nSW50UmVjdChhYnNvbHV0ZUNsaXBwZWRPdmVyZmxv
d1JlY3QoKSkpOwogfQogCiBzdGF0aWMgYm9vbCBzaG91bGRSZXBhaW50Rm9ySW1hZ2VBbmltYXRp
b24oY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IEludFJlY3QmIHZpc2libGVS
ZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggNjY0YWMz
YjdiMTgxYWFkMDdhOTZlMGE2ZDY5ZTYwM2U4NDRmMDNhYi4uOTAyNDRjMzMxN2Y3NjA5YmYxZjI3
NGIyNzUxMWVkNGI1MjAwNDAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oCkBAIC0xMzMsNyArMTMzLDcgQEAgcHVibGljOgogICAgIGJvb2wgcmVwYWludEFmdGVy
TGF5b3V0SWZOZWVkZWQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRh
aW5lciwgY29uc3QgTGF5b3V0UmVjdCYgb2xkQm91bmRzLCBjb25zdCBMYXlvdXRSZWN0JiBvbGRP
dXRsaW5lQm94LCBjb25zdCBMYXlvdXRSZWN0KiBuZXdCb3VuZHNQdHIgPSBudWxscHRyLCBjb25z
dCBMYXlvdXRSZWN0KiBuZXdPdXRsaW5lQm94UHRyID0gbnVsbHB0cik7CiAKICAgICBib29sIGJv
cmRlckltYWdlSXNMb2FkZWRBbmRDYW5CZVJlbmRlcmVkKCkgY29uc3Q7Ci0gICAgYm9vbCBpc0lu
c2lkZVZpZXdwb3J0KGNvbnN0IEludFJlY3QqIHZpc2libGVSZWN0ID0gbnVsbHB0cikgY29uc3Q7
CisgICAgYm9vbCBtYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydChjb25zdCBJbnRSZWN0KiB2
aXNpYmxlUmVjdCA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRo
aXMgcmVuZGVyZXIgcmVxdWlyZXMgYSBuZXcgc3RhY2tpbmcgY29udGV4dC4KICAgICBib29sIGNy
ZWF0ZXNHcm91cCgpIGNvbnN0IHsgcmV0dXJuIGlzVHJhbnNwYXJlbnQoKSB8fCBoYXNNYXNrKCkg
fHwgaGFzRmlsdGVyKCkgfHwgaGFzQmFja2Ryb3BGaWx0ZXIoKSB8fCBoYXNCbGVuZE1vZGUoKTsg
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDhiOWE1MDYzMTU0NTEzYzRlZWM2ZjAxNzk4MjM1ZDhiMjQxODQ5ZDkuLjMyYzE4
MzNlZWMxZmI0MTI4MWU3N2NkMzFmZjU0ZjE5MGY2MGUzOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBA
QAorMjAxNC0xMi0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IFJlZ3Jlc3Npb24ocjE3NjIxMik6IENhcm91c2VsIG9uIG1idXNhLmNvbSBpcyBjaG9wcHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTU0MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTkyMDk0MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbGF5b3V0IHRlc3QgdG8gY292ZXIgdGhlIGNh
c2Ugd2hlcmUgYSByZXBlYXRpbmcgRE9NIHRpbWVyIGlzCisgICAgICAgIGNoYW5naW5nIHRoZSBz
dHlsZSBvZiBhbiBlbGVtZW50IHdoaWNoIGhhcyBvdmVyZmxvd2luZyBjb250ZW50IHRoYXQKKyAg
ICAgICAgaXMgdmlzaWJsZSBhbmQgaGFzIGl0cyBvd24gbGF5ZXIuIEluIHN1Y2ggY2FzZSwgdGhl
IERPTSB0aW1lciBzaG91bGQKKyAgICAgICAgbm90IGJlIHRocm90dGxlZC4gQWxzbyBhZGQgYSBs
YXlvdXQgdGVzdCB0byBtYWtlIHN1cmUgd2Ugc3RpbGwgdGhyb3R0bGUKKyAgICAgICAgaWYgdGhl
IGVsZW1lbnQgY2xpcHMgaXRzIG92ZXJmbG93LgorCisgICAgICAgICogZmFzdC9kb20vcmVwZWF0
aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90dGxpbmctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVy
Zmxvdy1oaWRkZW4tdGhyb3R0bGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9y
ZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvd2luZy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0
bGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3JlcGVhdGluZy10
aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10aHJvdHRsaW5nLmh0bWw6
IEFkZGVkLgorICAgICAgICBOZXcgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS90aW1lci11
bnRocm90dGxlLW9uLWxheW91dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vdGlt
ZXItdW50aHJvdHRsZS1vbi1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS90aW1lci11
bnRocm90dGxlLW9uLXNjcm9sbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vdGlt
ZXItdW50aHJvdHRsZS1vbi1zY3JvbGwuaHRtbDoKKyAgICAgICAgU3RvcCB1c2luZyA8aW5wdXQ+
IHRlc3QgZWxlbWVudHMgYXMgaXQgYXBwZWFycyBvbmUgb2YgdGhlIGRlc2NlbmRhbnRzCisgICAg
ICAgIGluIGl0cyBzaGFkb3cgdHJlZSBoYXMgaXRzIG93biBsYXllci4KKwogMjAxNC0xMi0xMiAg
QWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR0xdIFRl
eHR1cmUgc2l6ZSB0ZXN0cyBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90dGxpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQt
b3ZlcmZsb3ctaGlkZGVuLXRocm90dGxpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0MGM0
NThmYTZhNjFiZjI4MmY3NDY4MmUwNzdiNTEzNmYzNGM3NGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy1oaWRk
ZW4tdGhyb3R0bGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdHMgdGhhdCBh
IHJlcGVhdGluZyB0aW1lciBjaGFuZ2luZyB0aGUgc3R5bGUgb2YgYW4gZWxlbWVudCB3aXRoIDAg
aGVpZ2h0IGFuZCBoaWRkZW4gb3ZlcmZsb3cgY29udGVudCB0aGF0IGhhdmUgdGhlaXIgb3duIGxh
eWVyIGdldHMgdGhyb3R0bGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyB0ZXN0RWxlbWVudC5vZmZzZXRIZWlnaHQgaXMgMAorVGhlIHRpbWVyIHNob3VsZCBpbml0aWFs
bHkgbm90IGJlIHRocm90dGxlZC4KK1BBU1MgaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGlt
ZW91dElkKSBpcyBmYWxzZQorNXRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIGhhdmUgYmVlbiB0
aHJvdHRsZWQuCitQQVNTIHdhc1Rocm90dGxlZCBpcyB0cnVlCis2dGggaXRlcmF0aW9uLCB0aW1l
ciBzaG91bGQgc3RpbGwgYmUgdW50aHJvdHRsZWQuCitQQVNTIGludGVybmFscy5pc1RpbWVyVGhy
b3R0bGVkKHRpbWVvdXRJZCkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Jl
cGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LWhpZGRlbi10aHJvdHRsaW5nLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy1oaWRk
ZW4tdGhyb3R0bGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1NGUyODM0YmVkZTY1NDU4ZThkZDAyYmQy
MTc2MzFiNWRhNzE5YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9y
ZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy1oaWRkZW4tdGhyb3R0bGluZy5odG1sCkBA
IC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9InRlc3RFbGVt
ZW50IiBzdHlsZT0iaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyI+Cis8ZGl2IHN0eWxlPSIt
d2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsiPnRlc3QxPC9kaXY+Cis8ZGl2IHN0eWxl
PSItd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsiPnRlc3QyPC9kaXY+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHJlcGVhdGluZyB0aW1lciBjaGFu
Z2luZyB0aGUgc3R5bGUgb2YgYW4gZWxlbWVudCB3aXRoIDAgaGVpZ2h0IGFuZCBoaWRkZW4gb3Zl
cmZsb3cgY29udGVudCB0aGF0IGhhdmUgdGhlaXIgb3duIGxheWVyIGdldHMgdGhyb3R0bGVkLiIp
OworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBpdGVyYXRpb25Db3VudCA9IDA7Cit2YXIg
dGltZW91dElkOwordmFyIHRlc3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
c3RFbGVtZW50Iik7Cit2YXIgd2FzVGhyb3R0bGVkID0gZmFsc2U7CisKK2Z1bmN0aW9uIHRpbWVy
Q2FsbGJhY2soKQoreworICArK2l0ZXJhdGlvbkNvdW50OworICAvLyBJbnRlcmFjdCB3aXRoIHRo
ZSBzdHlsZSBvZiB0aGUgZWxlbWVudC4KKyAgdGVzdEVsZW1lbnQuc3R5bGVbImxlZnQiXSA9ICIi
ICsgaXRlcmF0aW9uQ291bnQgKyAicHgiOworCisgIC8vIDUgaXRlcmF0aW9ucyBzaG91bGQgc3Vm
ZmljZSB0byB0aHJvdHRsZSB0aGUgdGltZXIuCisgIGlmIChpdGVyYXRpb25Db3VudCA9PSA1KSB7
CisgICAgLy8gRG8gbm90IHVzZSBzaG91bGRCZVRydWUoKSBoZXJlIGJlY2F1c2UgaXQgd291bGQg
Y2F1c2UgYSBET00gdHJlZSBtdXRhdGlvbiBhbmQKKyAgICAvLyB1bnRocm90dGxlIHRoZSBET00g
VGltZXIuCisgICAgd2FzVGhyb3R0bGVkID0gaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGlt
ZW91dElkKTsKKyAgfSBlbHNlIGlmIChpdGVyYXRpb25Db3VudCA9PSA2KSB7CisgICAgZGVidWco
IjV0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBoYXZlIGJlZW4gdGhyb3R0bGVkLiIpOworICAg
IHNob3VsZEJlVHJ1ZSgid2FzVGhyb3R0bGVkIik7CisgICAgZGVidWcoIjZ0aCBpdGVyYXRpb24s
IHRpbWVyIHNob3VsZCBzdGlsbCBiZSB1bnRocm90dGxlZC4iKTsKKyAgICBzaG91bGRCZVRydWUo
ImludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkiKTsKKyAgICBjbGVhckludGVy
dmFsKHRpbWVvdXRJZCk7CisgICAgZmluaXNoSlNUZXN0KCk7CisgIH0KK30KKworc2hvdWxkQmUo
InRlc3RFbGVtZW50Lm9mZnNldEhlaWdodCIsICIwIik7CisKK3RpbWVvdXRJZCA9IHNldEludGVy
dmFsKHRpbWVyQ2FsbGJhY2ssIDApOworZGVidWcoIlRoZSB0aW1lciBzaG91bGQgaW5pdGlhbGx5
IG5vdCBiZSB0aHJvdHRsZWQuIik7CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRo
cm90dGxlZCh0aW1lb3V0SWQpIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNo
aWxkLW93bi1sYXllci10aHJvdHRsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93aW5nLWNoaWxkLW93bi1sYXllci10
aHJvdHRsaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWRhYjEyZWQ2MGViZGM4MjI2NDYx
MzM0MjI1YWNkOTZmOTY0MTg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRo
cm90dGxpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRoYXQgYSByZXBl
YXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2l0aCAwIGhlaWdo
dCBhbmQgdmlzaWJsZSBvdmVyZmxvd2luZyBjb250ZW50IHRoYXQgaGF2ZSB0aGVpciBvd24gbGF5
ZXIgZG9lcyBub3QgZ2V0IHRocm90dGxlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgdGVzdEVsZW1lbnQub2Zmc2V0SGVpZ2h0IGlzIDAKK1RoZSB0aW1lciBzaG91bGQg
aW5pdGlhbGx5IG5vdCBiZSB0aHJvdHRsZWQuCitQQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0
bGVkKHRpbWVvdXRJZCkgaXMgZmFsc2UKKzV0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBub3Qg
aGF2ZSBiZWVuIHRocm90dGxlZC4KK1BBU1Mgd2FzVGhyb3R0bGVkIGlzIGZhbHNlCis2dGggaXRl
cmF0aW9uLCB0aW1lciBzaG91bGQgc3RpbGwgYmUgdW50aHJvdHRsZWQuCitQQVNTIGludGVybmFs
cy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQordGVzdDEKK3Rlc3QyCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvd2lu
Zy1jaGlsZC1vd24tbGF5ZXItdGhyb3R0bGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
cmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRocm90
dGxpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjUzZjg3MTgzODgyOWUyMWJiOGZlMzlkZDIxYjM2MTc1
MzgwN2RlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5n
LXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3dpbmctY2hpbGQtb3duLWxheWVyLXRocm90dGxpbmcuaHRt
bApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXN0
RWxlbWVudCIgc3R5bGU9ImhlaWdodDogMDsiPgorPGRpdiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zv
cm06IHRyYW5zbGF0ZVgoMCk7Ij50ZXN0MTwvZGl2PgorPGRpdiBzdHlsZT0iLXdlYmtpdC10cmFu
c2Zvcm06IHRyYW5zbGF0ZVgoMCk7Ij50ZXN0MjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgYSByZXBlYXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxl
IG9mIGFuIGVsZW1lbnQgd2l0aCAwIGhlaWdodCBhbmQgdmlzaWJsZSBvdmVyZmxvd2luZyBjb250
ZW50IHRoYXQgaGF2ZSB0aGVpciBvd24gbGF5ZXIgZG9lcyBub3QgZ2V0IHRocm90dGxlZC4iKTsK
K2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgaXRlcmF0aW9uQ291bnQgPSAwOwordmFyIHRp
bWVvdXRJZDsKK3ZhciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
RWxlbWVudCIpOwordmFyIHdhc1Rocm90dGxlZCA9IGZhbHNlOworCitmdW5jdGlvbiB0aW1lckNh
bGxiYWNrKCkKK3sKKyAgKytpdGVyYXRpb25Db3VudDsKKyAgLy8gSW50ZXJhY3Qgd2l0aCB0aGUg
c3R5bGUgb2YgdGhlIGVsZW1lbnQuCisgIHRlc3RFbGVtZW50LnN0eWxlWyJsZWZ0Il0gPSAiIiAr
IGl0ZXJhdGlvbkNvdW50ICsgInB4IjsKKworICAvLyA1IGl0ZXJhdGlvbnMgc2hvdWxkIHN1ZmZp
Y2UgdG8gdGhyb3R0bGUgdGhlIHRpbWVyLgorICBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNSkgewor
ICAgIC8vIERvIG5vdCB1c2Ugc2hvdWxkQmVGYWxzZSgpIGhlcmUgYmVjYXVzZSBpdCB3b3VsZCBj
YXVzZSBhIERPTSB0cmVlIG11dGF0aW9uIGFuZAorICAgIC8vIHVudGhyb3R0bGUgdGhlIERPTSBU
aW1lci4KKyAgICB3YXNUaHJvdHRsZWQgPSBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1l
b3V0SWQpOworICB9IGVsc2UgaWYgKGl0ZXJhdGlvbkNvdW50ID09IDYpIHsKKyAgICBkZWJ1Zygi
NXRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIG5vdCBoYXZlIGJlZW4gdGhyb3R0bGVkLiIpOwor
ICAgIHNob3VsZEJlRmFsc2UoIndhc1Rocm90dGxlZCIpOworICAgIGRlYnVnKCI2dGggaXRlcmF0
aW9uLCB0aW1lciBzaG91bGQgc3RpbGwgYmUgdW50aHJvdHRsZWQuIik7CisgICAgc2hvdWxkQmVG
YWxzZSgiaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSIpOworICAgIGNsZWFy
SW50ZXJ2YWwodGltZW91dElkKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgfQorfQorCitzaG91
bGRCZSgidGVzdEVsZW1lbnQub2Zmc2V0SGVpZ2h0IiwgIjAiKTsKKwordGltZW91dElkID0gc2V0
SW50ZXJ2YWwodGltZXJDYWxsYmFjaywgMCk7CitkZWJ1ZygiVGhlIHRpbWVyIHNob3VsZCBpbml0
aWFsbHkgbm90IGJlIHRocm90dGxlZC4iKTsKK3Nob3VsZEJlRmFsc2UoImludGVybmFscy5pc1Rp
bWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1sYXlvdXQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1sYXlvdXQt
ZXhwZWN0ZWQudHh0CmluZGV4IDQ2YjY0YTkyMTY2YTM4YmM3NWE2ZTc1ZWU4MGJiMDViM2E3ZmJk
Y2UuLjUwNDIxOTU2NmUyMjU2YjFhYTk3MjM3OTk1OGJiYWY0OGYzMGM3OGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tbGF5b3V0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLWxheW91
dC1leHBlY3RlZC50eHQKQEAgLTE2LDQgKzE2LDQgQEAgUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRo
cm90dGxlZCh0aW1lb3V0SWQpIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKLQorVEVTVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1sYXlvdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tbGF5b3V0Lmh0bWwKaW5kZXggYmMzNjI0ZTM0MGU3MjVl
OTE1MTk4YTlmOWI1NzgxZGIwOGUxMDE0My4uYTBmYThlNjBkMzg3ZjU0OGFjMTA0ZDBjZjQ3NjAw
ZjZmMGE4YTEwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJv
dHRsZS1vbi1sYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRo
cm90dGxlLW9uLWxheW91dC5odG1sCkBAIC0yLDEzICsyLDE1IEBACiA8Ym9keT4KIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPGRpdiBzdHls
ZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTYwMHB4OyBoZWlnaHQ6IDI0MDBweDsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47Ij4KLSAgPGRpdiBpZD0icGFyZW50RGl2IiBzdHlsZT0icG9z
aXRpb246YWJzb2x1dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxpbnB1dCBpZD0idGV4
dGJveCIgdHlwZT0idGV4dCI+PC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudERpdiIgc3R5bGU9InBv
c2l0aW9uOmFic29sdXRlOyBsZWZ0OiA2MDBweDsgdG9wOiA4MDBweDsiPgorICAgIDxkaXYgaWQ9
InRlc3RFbGVtZW50Ij5URVNUPC9kaXY+CisgIDwvZGl2PgogPC9kaXY+CiA8c2NyaXB0PgogZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgYSByZXBlYXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxl
IG9mIGFuIGVsZW1lbnQgb3V0c2lkZSB2aWV3cG9ydCBnZXRzIHVudGhyb3R0bGVkIGlmIHRoZSBl
bGVtZW50cyBpcyBpbnNpZGUgdGhlIHZpZXdwb3J0IGFmdGVyIGxheW91dC4iKTsKIGpzVGVzdElz
QXN5bmMgPSB0cnVlOwogCi12YXIgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGV4dGJveCcpOwordmFyIHRlc3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3RFbGVtZW50Jyk7CiB2YXIgaXRlcmF0aW9uQ291bnQgPSAwOwogdmFyIHdhc1Rocm90dGxl
ZCA9IGZhbHNlOwogdmFyIHdhc1Rocm90dGxlZEJlZm9yZVNjcm9sbCA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1zY3JvbGwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1zY3Jv
bGwtZXhwZWN0ZWQudHh0CmluZGV4IDY0MzRiYjRmOTViMDkxZmRmNzE2ZjkzZmYzYTY2YmRmZGY1
YzEzZjQuLjM2MjQ1YjI0MDkyMWI0OThlODg0MGFiNTgxMDk4NGIyODY2MDFjYjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Nyb2xsLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLXNj
cm9sbC1leHBlY3RlZC50eHQKQEAgLTE2LDQgKzE2LDQgQEAgUEFTUyBpbnRlcm5hbHMuaXNUaW1l
clRocm90dGxlZCh0aW1lb3V0SWQpIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLQorVEVTVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Nyb2xsLmh0bWwKaW5kZXggNjFkMDIxZWQ5NTg5
OWMxMzBkOTFhNjBlMDUzZjBjZmJlZjBiYmJiMS4uNWZmMzQ3ZWM3NDUwNDlhMDYyNTRiZjRlNjRh
Njg1NTg3MWY3N2UwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdW50
aHJvdHRsZS1vbi1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11
bnRocm90dGxlLW9uLXNjcm9sbC5odG1sCkBAIC0yLDEzICsyLDE1IEBACiA8Ym9keT4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPGRpdiBz
dHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTYwMHB4OyBoZWlnaHQ6IDI0MDBweDsg
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij4KLSAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1
dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxpbnB1dCBpZD0idGV4dGJveCIgdHlwZT0i
dGV4dCI+PC9kaXY+CisgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyBsZWZ0OiA2MDBw
eDsgdG9wOiA4MDBweDsiPgorICAgIDxkaXYgaWQ9InRlc3RFbGVtZW50Ij5URVNUPC9kaXY+Cisg
IDwvZGl2PgogPC9kaXY+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSByZXBl
YXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1lbnQgb3V0c2lkZSB2aWV3
cG9ydCBnZXRzIHVudGhyb3R0bGVkIHdoZW4gc2Nyb2xsaW5nIHRoZSBlbGVtZW50IGludG8gdmll
dy4iKTsKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgdGVzdEVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGV4dGJveCcpOwordmFyIHRlc3RFbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3RFbGVtZW50Jyk7CiB2YXIgaXRlcmF0aW9uQ291bnQgPSAwOwog
dmFyIHdhc1Rocm90dGxlZCA9IGZhbHNlOwogdmFyIHdhc1Rocm90dGxlZEJlZm9yZVNjcm9sbCA9
IGZhbHNlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>