<?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>80994</bug_id>
          
          <creation_ts>2012-03-13 08:53:28 -0700</creation_ts>
          <short_desc>Web Inspector: add didCancelFrame timeline event</short_desc>
          <delta_ts>2012-03-14 09:06:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577369</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-13 08:53:28 -0700</bug_when>
    <thetext>This adds a an ability to cancel certain timeline events, unless they&apos;ve been followed by other events.
The above is used to implement didCancelFrame() event, which is fired when a platform decides not to render frame after didBeginFrame() was called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577378</commentid>
    <comment_count>1</comment_count>
      <attachid>131628</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-13 08:57:23 -0700</bug_when>
    <thetext>Created attachment 131628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577384</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 08:59:44 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577449</commentid>
    <comment_count>3</comment_count>
      <attachid>131628</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-13 09:48:25 -0700</bug_when>
    <thetext>Comment on attachment 131628
Patch

Please provide a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577547</commentid>
    <comment_count>4</comment_count>
      <attachid>131671</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-13 10:57:49 -0700</bug_when>
    <thetext>Created attachment 131671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577579</commentid>
    <comment_count>5</comment_count>
      <attachid>131676</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-13 11:18:24 -0700</bug_when>
    <thetext>Created attachment 131676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577599</commentid>
    <comment_count>6</comment_count>
      <attachid>131671</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-13 11:30:04 -0700</bug_when>
    <thetext>Comment on attachment 131671
Patch

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

Overall looks good, a bunch of nits to be fixed prior to landing.

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

Could you generate fresh ChangeLogs?

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:177
&gt; +    pushCancellableRecord(InspectorObject::create(), TimelineRecordType::BeginFrame);

&quot;Cancelable&quot; ?

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:423
&gt;          entry.record-&gt;setArray(&quot;children&quot;, entry.children);

You should move children to under the cancelable as well.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:466
&gt; +        didCompleteCurrentRecord(m_recordStack.last().type);

didCompleteCurrentRecord is not applicable to atomic events, you should do appendRecord instead. I am not sure you even need a stack for them.

&gt; Source/WebCore/testing/Internals.cpp:676
&gt; +void Internals::emitTimelineDidBeginFrame()

emitInspectorDidBeginFrame ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577661</commentid>
    <comment_count>7</comment_count>
      <attachid>131671</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-13 12:27:41 -0700</bug_when>
    <thetext>Comment on attachment 131671
Patch

Attachment 131671 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11942659</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577847</commentid>
    <comment_count>8</comment_count>
      <attachid>131671</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-13 15:00:15 -0700</bug_when>
    <thetext>Comment on attachment 131671
Patch

Attachment 131671 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11947774</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578029</commentid>
    <comment_count>9</comment_count>
      <attachid>131671</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2012-03-13 17:23:36 -0700</bug_when>
    <thetext>Comment on attachment 131671
Patch

Attachment 131671 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11945747</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578268</commentid>
    <comment_count>10</comment_count>
      <attachid>131813</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-14 02:25:15 -0700</bug_when>
    <thetext>Created attachment 131813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578272</commentid>
    <comment_count>11</comment_count>
      <attachid>131813</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-14 02:36:44 -0700</bug_when>
    <thetext>Comment on attachment 131813
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:459
&gt; +    m_recordStack.append(TimelineRecordEntry(record.release(), data, InspectorArray::create(), type, true));

I&apos;d be great if we could make this children array nullable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578286</commentid>
    <comment_count>12</comment_count>
      <attachid>131813</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-14 03:19:01 -0700</bug_when>
    <thetext>Comment on attachment 131813
Patch

Attachment 131813 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11949926</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578294</commentid>
    <comment_count>13</comment_count>
      <attachid>131813</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-14 03:43:11 -0700</bug_when>
    <thetext>Comment on attachment 131813
Patch

Attachment 131813 did not pass win-ews (win):
Output: http://queues.webkit.org/results/11949938</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578461</commentid>
    <comment_count>14</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-14 09:06:06 -0700</bug_when>
    <thetext>Committed r110706: &lt;http://trac.webkit.org/changeset/110706&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131628</attachid>
            <date>2012-03-13 08:57:23 -0700</date>
            <delta_ts>2012-03-13 10:57:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80994-20120313195721.patch</filename>
            <type>text/plain</type>
            <size>12282</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg0NTBlNDkwZWE3YmU1
MTc1YTE0ZjE3OTY2NzNlNzdiMTYxNGU2ZS4uYTllMDExYTc1ZGMwMjE0Y2U2YjhlMTg0NDA4MzU4
N2I1NzU0YjAxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTEzICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGRpZENhbmNlbEZyYW1lIHRpbWVsaW5lIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZENhbmNlbEZyYW1lSW1wbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDYW5jZWxGcmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpkaWRCZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ2FuY2VsRnJhbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJy
ZW50UmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFw
cGVuZFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpw
dXNoQ3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjpwdXNoQ2FuY2VsbGFibGVSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6Y29tbWl0Q2FuY2VsbGFibGVSZWNvcmRzKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNhbmNlbFJlY29yZCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6VGlt
ZWxpbmVSZWNvcmRFbnRyeTo6VGltZWxpbmVSZWNvcmRFbnRyeSk6CisgICAgICAgIChUaW1lbGlu
ZVJlY29yZEVudHJ5KToKKwogMjAxMi0wMy0xMyAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGluc3BlY3RvciBjb21waWxhdGlvbiBt
b2R1bGUgbmFtZSBmaXggYWZ0ZXIgcjExMDU1MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggMjI4MmYwODQ0ZWJhZjlkYTNiODhlZThiMDI0ZThjNTlhY2IzNmViNS4uZGQ4ODYyMDIwMzgx
YTAyY2E3YmVmMTc3NjZmMTAwMTUyMDEyNmY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMi0wMy0xMyAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBkaWRDYW5jZWxGcmFtZSB0
aW1lbGluZSBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODA5OTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHB1YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYldpZGdldCk6CisgICAgICAg
IChXZWJLaXQ6OldlYldpZGdldDo6aW5zdHJ1bWVudENhbmNlbEZyYW1lKToKKyAgICAgICAgKiBz
cmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aW5zdHJ1
bWVudENhbmNlbEZyYW1lKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlZp
ZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDMtMTIgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMTA1MjkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDI3Yjc0MmMyZThkNTEzZWVmMzM2
MjY0NmIyNzdkMDQyMjlhYzQ0MDkuLjE5OTNiNDYyNTc5MjlhNWIyZTE3NTg5MTI4MzBjMzUyM2Zm
N2ZjZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCkBAIC0zODgsNiArMzg4LDEyIEBAIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRCZWdpbkZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50CiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEJlZ2luRnJhbWUoKTsKIH0KIAordm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENhbmNlbEZyYW1lSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlmIChJbnNwZWN0b3JUaW1l
bGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
VGltZWxpbmVBZ2VudCgpKQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRDYW5jZWxGcmFtZSgp
OworfQorCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsTGF5b3V0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzKQogewogICAgIGludCB0aW1lbGluZUFnZW50SWQgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDJhYzc0
ZGFjMDZjMTNiZGQ0MWZlZmRlYjI2MGYyMTZkOWEyMjVlYTQuLjk1MjRmNmM4MjQ3ZWI4NWVhYTFl
OTYyNDM3OTY1MzlkYmE1ZjFkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTEyMSw2ICsxMjEsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRmlyZVRpbWVy
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBpbnQgdGltZXJJZCk7CiAgICAgc3RhdGljIHZvaWQg
ZGlkRmlyZVRpbWVyKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAg
IHN0YXRpYyB2b2lkIGRpZEJlZ2luRnJhbWUoUGFnZSopOworICAgIHN0YXRpYyB2b2lkIGRpZENh
bmNlbEZyYW1lKFBhZ2UqKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llIHdpbGxMYXlvdXQoRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRMYXlvdXQoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsTG9hZFhIUihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
WE1MSHR0cFJlcXVlc3QqKTsKQEAgLTI3NCw2ICsyNzUsNyBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1lckltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyosIGludCB0aW1lcklkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRGaXJlVGlt
ZXJJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRp
YyB2b2lkIGRpZEJlZ2luRnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKKyAgICBzdGF0
aWMgdm9pZCBkaWRDYW5jZWxGcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAgIHN0
YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbExheW91dEltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyopOwogICAgIHN0YXRpYyB2b2lkIGRpZExheW91dEltcGwoY29uc3QgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSB3aWxsTG9hZFhIUkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFhN
TEh0dHBSZXF1ZXN0Kik7CkBAIC03MjEsNiArNzIzLDE1IEBAIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZShQYWdlKiBwYWdlKQogI2VuZGlmCiB9CiAK
K2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FuY2VsRnJhbWUoUGFn
ZSogcGFnZSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZBU1RfUkVUVVJOX0lGX05P
X0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCisgICAgICAg
IGRpZENhbmNlbEZyYW1lSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzKTsKKyNlbmRpZgorfQorCiBp
bmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbExheW91dChGcmFtZSogZnJhbWUpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmNwcAppbmRleCA3ZDQ3MDM3MzFkZTAxM2FmNjc3NjljNzcyZDkyNTA4ZjRmMDY5Njg5Li5lNDA5
YWEwMGNkY2E0N2Y1MmQ0YzhmNDliYTBiMTU4ZjljNWUyY2EzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0xNzQsNyAr
MTc0LDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SW5jbHVkZU1lbW9yeURl
dGFpbHMoRXJyb3JTdHJpbmcqLCBib29sIHZhbHVlKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZEJlZ2luRnJhbWUoKQogewotICAgIGFwcGVuZFJlY29yZChJbnNwZWN0b3JPYmpl
Y3Q6OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5cGU6OkJlZ2luRnJhbWUsIHRydWUpOworICAg
IHB1c2hDYW5jZWxsYWJsZVJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBUaW1lbGlu
ZVJlY29yZFR5cGU6OkJlZ2luRnJhbWUpOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZENhbmNlbEZyYW1lKCkKK3sKKyAgICBjYW5jZWxSZWNvcmQoVGltZWxpbmVSZWNvcmRU
eXBlOjpCZWdpbkZyYW1lKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
Q2FsbEZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0TmFtZSwgaW50IHNjcmlwdExpbmUpCkBA
IC00MTYsNyArNDIxLDggQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0
ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAgICBBU1NFUlQoZW50cnku
dHlwZSA9PSB0eXBlKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBl
bnRyeS5kYXRhKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRBcnJheSgiY2hpbGRyZW4iLCBl
bnRyeS5jaGlsZHJlbik7Ci0gICAgICAgIGVudHJ5LnJlY29yZC0+c2V0TnVtYmVyKCJlbmRUaW1l
IiwgdGltZXN0YW1wKCkpOworICAgICAgICBpZiAoIWVudHJ5LmNhbmNlbGxhYmxlKQorICAgICAg
ICAgICAgZW50cnkucmVjb3JkLT5zZXROdW1iZXIoImVuZFRpbWUiLCB0aW1lc3RhbXAoKSk7CiAg
ICAgICAgIGFkZFJlY29yZFRvVGltZWxpbmUoZW50cnkucmVjb3JkLCB0eXBlKTsKICAgICB9CiB9
CkBAIC00MzMsNiArNDM5LDcgQEAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW4KIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6YXBwZW5kUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaykKIHsKICAg
ICBwdXNoR0NFdmVudFJlY29yZHMoKTsKKyAgICBjb21taXRDYW5jZWxsYWJsZVJlY29yZHMoKTsK
ICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rv
cnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGltZXN0YW1wKCksIGNhcHR1cmVDYWxsU3RhY2sgPyBt
X21heENhbGxTdGFja0RlcHRoIDogMCk7CiAgICAgcmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBk
YXRhKTsKICAgICByZWNvcmQtPnNldFN0cmluZygidHlwZSIsIHR5cGUpOwpAQCAtNDQyLDEwICs0
NDksMzIgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBlbmRSZWNvcmQoUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnMKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEs
IGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrKQogewogICAgIHB1c2hH
Q0V2ZW50UmVjb3JkcygpOworICAgIGNvbW1pdENhbmNlbGxhYmxlUmVjb3JkcygpOwogICAgIFJl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3Jl
YXRlR2VuZXJpY1JlY29yZCh0aW1lc3RhbXAoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1fbWF4Q2Fs
bFN0YWNrRGVwdGggOiAwKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVuZChUaW1lbGluZVJlY29y
ZEVudHJ5KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFycmF5OjpjcmVhdGUoKSwg
dHlwZSkpOwogfQogCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDYW5jZWxsYWJs
ZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiB0
eXBlKQoreworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVj
b3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZCh0aW1lc3RhbXAoKSwgMCk7CisgICAgbV9y
ZWNvcmRTdGFjay5hcHBlbmQoVGltZWxpbmVSZWNvcmRFbnRyeShyZWNvcmQucmVsZWFzZSgpLCBk
YXRhLCBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCksIHR5cGUsIHRydWUpKTsKK30KKwordm9pZCBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50Ojpjb21taXRDYW5jZWxsYWJsZVJlY29yZHMoKQoreworICAg
IHdoaWxlICghbV9yZWNvcmRTdGFjay5pc0VtcHR5KCkgJiYgbV9yZWNvcmRTdGFjay5sYXN0KCku
Y2FuY2VsbGFibGUpCisgICAgICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChtX3JlY29yZFN0
YWNrLmxhc3QoKS50eXBlKTsKK30KKwordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpjYW5j
ZWxSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIGlmIChtX3JlY29yZFN0YWNrLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworICAgIFRpbWVsaW5lUmVjb3JkRW50cnkgZW50cnkg
PSBtX3JlY29yZFN0YWNrLmxhc3QoKTsKKyAgICBpZiAoZW50cnkuY2FuY2VsbGFibGUgJiYgZW50
cnkudHlwZSA9PSB0eXBlKQorICAgICAgICBtX3JlY29yZFN0YWNrLnJlbW92ZUxhc3QoKTsKK30K
Kwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpjbGVhclJlY29yZFN0YWNrKCkKIHsKICAg
ICBtX3JlY29yZFN0YWNrLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBiYTk4NTVhMzBjMWQzODU4OWRlOWM3YjM1
YjZkYTVkOTg1ZmU4YzQwLi40M2I3YzgxOWQ4ZTRlZjYwOTMzNTQwNDc2ZTBhYzgzOTdkYjZhNzY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRGlzcGF0Y2hFdmVu
dCgpOwogCiAgICAgdm9pZCBkaWRCZWdpbkZyYW1lKCk7CisgICAgdm9pZCBkaWRDYW5jZWxGcmFt
ZSgpOwogCiAgICAgdm9pZCB3aWxsTGF5b3V0KCk7CiAgICAgdm9pZCBkaWRMYXlvdXQoKTsKQEAg
LTEzMywxNCArMTM0LDE1IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgVGltZWxp
bmVSZWNvcmRFbnRyeSB7Ci0gICAgICAgIFRpbWVsaW5lUmVjb3JkRW50cnkoUGFzc1JlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IHJlY29yZCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEs
IFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuLCBjb25zdCBTdHJpbmcmIHR5cGUp
Ci0gICAgICAgICAgICA6IHJlY29yZChyZWNvcmQpLCBkYXRhKGRhdGEpLCBjaGlsZHJlbihjaGls
ZHJlbiksIHR5cGUodHlwZSkKKyAgICAgICAgVGltZWxpbmVSZWNvcmRFbnRyeShQYXNzUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gcmVjb3JkLCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0
YSwgUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW4sIGNvbnN0IFN0cmluZyYgdHlw
ZSwgYm9vbCBjYW5jZWxsYWJsZSA9IGZhbHNlKQorICAgICAgICAgICAgOiByZWNvcmQocmVjb3Jk
KSwgZGF0YShkYXRhKSwgY2hpbGRyZW4oY2hpbGRyZW4pLCB0eXBlKHR5cGUpLCBjYW5jZWxsYWJs
ZShjYW5jZWxsYWJsZSkKICAgICAgICAgewogICAgICAgICB9CiAgICAgICAgIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IHJlY29yZDsKICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0
YTsKICAgICAgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiBjaGlsZHJlbjsKICAgICAgICAgU3Ry
aW5nIHR5cGU7CisgICAgICAgIGJvb2wgY2FuY2VsbGFibGU7CiAgICAgfTsKICAgICAgICAgCiAg
ICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9y
U3RhdGUqLCBJbnNwZWN0b3JUeXBlKTsKQEAgLTE1MCw3ICsxNTIsOSBAQCBwcml2YXRlOgogICAg
ICAgICAKICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5
cGUpOwogICAgIHZvaWQgYXBwZW5kUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBk
YXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjayk7Ci0KKyAgICB2
b2lkIHB1c2hDYW5jZWxsYWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4sIGNv
bnN0IFN0cmluZyYgdHlwZSk7CisgICAgdm9pZCBjb21taXRDYW5jZWxsYWJsZVJlY29yZHMoKTsK
KyAgICB2b2lkIGNhbmNlbFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpOwogICAgIHZvaWQgYWRk
UmVjb3JkVG9UaW1lbGluZShQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4sIGNvbnN0IFN0cmlu
ZyYgdHlwZSk7CiAKICAgICB2b2lkIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaAppbmRleCBlOTcxMmQ3NDNjM2UyNDBkZDU1ODUx
MDhmYzNhNTRkZDA1YzQwNTg3Li5hZmNlNmFlNjIwZWNkZTk1ZGE1OTc3NjdkOTY0ODc2N2EyMThl
YjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaApAQCAtMTk1
LDYgKzE5NSw5IEBAIHB1YmxpYzoKICAgICAvLyBJbnN0cnVtZW50YXRpb24gbWV0aG9kIHRoYXQg
bWFya3MgYmVnaW5uaW5nIG9mIGZyYW1lIHVwZGF0ZSB0aGF0IGluY2x1ZGVzCiAgICAgLy8gdGhp
bmdzIGxpa2UgYW5pbWF0ZSgpL2xheW91dCgpL3BhaW50KCkvY29tcG9zaXRlKCkuCiAgICAgdmly
dHVhbCB2b2lkIGluc3RydW1lbnRCZWdpbkZyYW1lKCkgeyB9CisgICAgLy8gQ2FuY2VscyB0aGUg
ZWZmZWN0IG9mIGluc3RydW1lbnRCZWdpbkZyYW1lKCkgaW4gY2FzZSB0aGVyZSB3ZXJlIG5vIGV2
ZW50cworICAgIC8vIGZvbGxvd2luZyB0aGUgY2FsbCB0byBpbnN0cnVtZW50QmVnaW5GcmFtZSgp
LgorICAgIHZpcnR1YWwgdm9pZCBpbnN0cnVtZW50Q2FuY2VsRnJhbWUoKSB7IH0KIAogcHJvdGVj
dGVkOgogICAgIH5XZWJXaWRnZXQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAppbmRleCAyMGUyZTRlZjMxM2NmNzMyNWYyNTJiODQ2NTFmODYwNjg0OWFi
YWEzLi44Y2UzNTY1MGE2NmRkMGI2YjcyODdjNjFiN2U4NTlkY2IxY2YzNjM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xMjUwLDYgKzEyNTAsMTEg
QEAgdm9pZCBXZWJWaWV3SW1wbDo6aW5zdHJ1bWVudEJlZ2luRnJhbWUoKQogICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZShtX3BhZ2UuZ2V0KCkpOwogfQogCit2b2lk
IFdlYlZpZXdJbXBsOjppbnN0cnVtZW50Q2FuY2VsRnJhbWUoKQoreworICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkQ2FuY2VsRnJhbWUobV9wYWdlLmdldCgpKTsKK30KKwogdm9pZCBX
ZWJWaWV3SW1wbDo6YW5pbWF0ZShkb3VibGUgZnJhbWVCZWdpblRpbWUpCiB7CiAjaWYgRU5BQkxF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmgKaW5kZXggMzgxOWVjYjY1NTQxZTFkNTNkYTA4NjgxZDI2NjA4YmRjMzY1ZWE1Yi4u
ZmY1ODE4YmRjM2UxZDc5M2ViMWQwNDQyNmMyMjUzYWU1ODNkYmRiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xNDAsNiArMTQwLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBkaWRMb3NlUG9pbnRlckxvY2soKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2hhbmdlV2luZG93UmVzaXplclJlY3QoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5zdHJ1bWVu
dEJlZ2luRnJhbWUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zdHJ1bWVudENhbmNlbEZyYW1lKCk7
CiAKICAgICAvLyBXZWJWaWV3IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVN
YWluRnJhbWUoV2ViRnJhbWVDbGllbnQqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131671</attachid>
            <date>2012-03-13 10:57:49 -0700</date>
            <delta_ts>2012-03-14 02:25:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80994-20120313215747.patch</filename>
            <type>text/plain</type>
            <size>16629</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ0NDEzMzY1Njc2MGYy
OWMyZWExNzFhMzNiYTMzNjQ4MWMxNTA3ZS4uN2IwNDY5YjE0ZTJmMDY5MDg3OTZkYTAyYjdhOTFl
NzMwYmNiNjc5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTEzICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGRpZENhbmNlbEZyYW1lIHRpbWVsaW5lIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZENhbmNlbEZyYW1lSW1wbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDYW5jZWxGcmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpkaWRCZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ2FuY2VsRnJhbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJy
ZW50UmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFw
cGVuZFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpw
dXNoQ3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjpwdXNoQ2FuY2VsbGFibGVSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6Y29tbWl0Q2FuY2VsbGFibGVSZWNvcmRzKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNhbmNlbFJlY29yZCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6VGlt
ZWxpbmVSZWNvcmRFbnRyeTo6VGltZWxpbmVSZWNvcmRFbnRyeSk6CisgICAgICAgIChUaW1lbGlu
ZVJlY29yZEVudHJ5KToKKwogMjAxMi0wMy0xMyAgJ1BhdmVsIEZlbGRtYW4nICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZDogY2hyb21pdW0gYnVpbGQgZml4
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiODI0ODAwNDU4ZDVlZGQ4Y2MzZjIzNDZi
NjdkNjc1OTVlZDExNDViLi5kYThlNTBhMWJiNjQyZDc4MWY2M2ZhNzE1Y2ZjZWVlZDk0MTIzMTM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTEz
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogYWRkIGRpZENhbmNlbEZyYW1lIHRpbWVsaW5lIGV2ZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk5NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYldpZGdldC5oOgor
ICAgICAgICAoV2ViV2lkZ2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjppbnN0cnVt
ZW50Q2FuY2VsRnJhbWUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjppbnN0cnVtZW50Q2FuY2VsRnJhbWUpOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJ
bXBsKToKKwogMjAxMi0wMy0xMyAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIFVzZSBwcm9qZWN0UXVhZCB0byBhcHBseSBpbnZlcnNlIG1h
cFJlY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAKaW5kZXggMjdiNzQyYzJlOGQ1MTNlZWYzMzYyNjQ2YjI3N2QwNDIyOWFj
NDQwOS4uMTk5M2I0NjI1NzkyOWE1YjJlMTc1ODkxMjgzMGMzNTIzZmY3ZmNkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKQEAgLTM4OCw2ICszODgsMTIgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEJlZ2luRnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnQKICAgICAgICAg
dGltZWxpbmVBZ2VudC0+ZGlkQmVnaW5GcmFtZSgpOwogfQogCit2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQ2FuY2VsRnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMpCit7CisgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVs
aW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkp
CisgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZENhbmNlbEZyYW1lKCk7Cit9CisKIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxMYXlv
dXRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMpCiB7CiAgICAg
aW50IHRpbWVsaW5lQWdlbnRJZCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggMmFjNzRkYWMwNmMxM2JkZDQxZmVm
ZGViMjYwZjIxNmQ5YTIyNWVhNC4uOTUyNGY2YzgyNDdlYjg1ZWFhMWU5NjI0Mzc5NjUzOWRiYTVm
MWRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaApAQCAtMTIxLDYgKzEyMSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxGaXJlVGltZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIGludCB0aW1lcklkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRGaXJlVGltZXIoY29u
c3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIHZvaWQgZGlk
QmVnaW5GcmFtZShQYWdlKik7CisgICAgc3RhdGljIHZvaWQgZGlkQ2FuY2VsRnJhbWUoUGFnZSop
OwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbExheW91dChG
cmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZExheW91dChjb25zdCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llIHdpbGxMb2FkWEhSKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBYTUxIdHRwUmVxdWVzdCop
OwpAQCAtMjc0LDYgKzI3NSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSB3aWxsRmlyZVRpbWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
aW50IHRpbWVySWQpOwogICAgIHN0YXRpYyB2b2lkIGRpZEZpcmVUaW1lckltcGwoY29uc3QgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIHZvaWQgZGlkQmVnaW5G
cmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOworICAgIHN0YXRpYyB2b2lkIGRpZENhbmNl
bEZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgc3RhdGljIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsTGF5b3V0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7
CiAgICAgc3RhdGljIHZvaWQgZGlkTGF5b3V0SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IHdpbGxMb2FkWEhSSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgWE1MSHR0cFJlcXVlc3QqKTsK
QEAgLTcyMSw2ICs3MjMsMTUgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRCZWdpbkZyYW1lKFBhZ2UqIHBhZ2UpCiAjZW5kaWYKIH0KIAoraW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDYW5jZWxGcmFtZShQYWdlKiBwYWdlKQoreworI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQo
KSk7CisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKKyAgICAgICAgZGlkQ2FuY2VsRnJhbWVJ
bXBsKGluc3RydW1lbnRpbmdBZ2VudHMpOworI2VuZGlmCit9CisKIGlubGluZSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTGF5b3V0
KEZyYW1lKiBmcmFtZSkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDdkNDcw
MzczMWRlMDEzYWY2Nzc2OWM3NzJkOTI1MDhmNGYwNjk2ODkuLmU0MDlhYTAwY2RjYTQ3ZjUyZDRj
OGY0OWJhMGIxNThmOWM1ZTJjYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTE3NCw3ICsxNzQsMTIgQEAgdm9pZCBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpzZXRJbmNsdWRlTWVtb3J5RGV0YWlscyhFcnJvclN0cmlu
ZyosIGJvb2wgdmFsdWUpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQmVnaW5G
cmFtZSgpCiB7Ci0gICAgYXBwZW5kUmVjb3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRp
bWVsaW5lUmVjb3JkVHlwZTo6QmVnaW5GcmFtZSwgdHJ1ZSk7CisgICAgcHVzaENhbmNlbGxhYmxl
UmVjb3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6QmVn
aW5GcmFtZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ2FuY2VsRnJh
bWUoKQoreworICAgIGNhbmNlbFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkJlZ2luRnJhbWUp
OwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxDYWxsRnVuY3Rpb24oY29u
c3QgU3RyaW5nJiBzY3JpcHROYW1lLCBpbnQgc2NyaXB0TGluZSkKQEAgLTQxNiw3ICs0MjEsOCBA
QCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChj
b25zdCBTdHJpbmcmIHR5cGUpCiAgICAgICAgIEFTU0VSVChlbnRyeS50eXBlID09IHR5cGUpOwog
ICAgICAgICBlbnRyeS5yZWNvcmQtPnNldE9iamVjdCgiZGF0YSIsIGVudHJ5LmRhdGEpOwogICAg
ICAgICBlbnRyeS5yZWNvcmQtPnNldEFycmF5KCJjaGlsZHJlbiIsIGVudHJ5LmNoaWxkcmVuKTsK
LSAgICAgICAgZW50cnkucmVjb3JkLT5zZXROdW1iZXIoImVuZFRpbWUiLCB0aW1lc3RhbXAoKSk7
CisgICAgICAgIGlmICghZW50cnkuY2FuY2VsbGFibGUpCisgICAgICAgICAgICBlbnRyeS5yZWNv
cmQtPnNldE51bWJlcigiZW5kVGltZSIsIHRpbWVzdGFtcCgpKTsKICAgICAgICAgYWRkUmVjb3Jk
VG9UaW1lbGluZShlbnRyeS5yZWNvcmQsIHR5cGUpOwogICAgIH0KIH0KQEAgLTQzMyw2ICs0Mzks
NyBAQCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbgogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjphcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0
cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrKQogewogICAgIHB1c2hHQ0V2ZW50UmVj
b3JkcygpOworICAgIGNvbW1pdENhbmNlbGxhYmxlUmVjb3JkcygpOwogICAgIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJp
Y1JlY29yZCh0aW1lc3RhbXAoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1fbWF4Q2FsbFN0YWNrRGVw
dGggOiAwKTsKICAgICByZWNvcmQtPnNldE9iamVjdCgiZGF0YSIsIGRhdGEpOwogICAgIHJlY29y
ZC0+c2V0U3RyaW5nKCJ0eXBlIiwgdHlwZSk7CkBAIC00NDIsMTAgKzQ0OSwzMiBAQCB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gZGF0YSwgY29ucwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVu
dFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiB0
eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2spCiB7CiAgICAgcHVzaEdDRXZlbnRSZWNvcmRzKCk7
CisgICAgY29tbWl0Q2FuY2VsbGFibGVSZWNvcmRzKCk7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3Jk
KHRpbWVzdGFtcCgpLCBjYXB0dXJlQ2FsbFN0YWNrID8gbV9tYXhDYWxsU3RhY2tEZXB0aCA6IDAp
OwogICAgIG1fcmVjb3JkU3RhY2suYXBwZW5kKFRpbWVsaW5lUmVjb3JkRW50cnkocmVjb3JkLnJl
bGVhc2UoKSwgZGF0YSwgSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpLCB0eXBlKSk7CiB9CiAKK3Zv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaENhbmNlbGxhYmxlUmVjb3JkKFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVh
dGVHZW5lcmljUmVjb3JkKHRpbWVzdGFtcCgpLCAwKTsKKyAgICBtX3JlY29yZFN0YWNrLmFwcGVu
ZChUaW1lbGluZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFy
cmF5OjpjcmVhdGUoKSwgdHlwZSwgdHJ1ZSkpOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmNvbW1pdENhbmNlbGxhYmxlUmVjb3JkcygpCit7CisgICAgd2hpbGUgKCFtX3JlY29y
ZFN0YWNrLmlzRW1wdHkoKSAmJiBtX3JlY29yZFN0YWNrLmxhc3QoKS5jYW5jZWxsYWJsZSkKKyAg
ICAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKG1fcmVjb3JkU3RhY2subGFzdCgpLnR5cGUp
OworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNhbmNlbFJlY29yZChjb25zdCBT
dHJpbmcmIHR5cGUpCit7CisgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm47CisgICAgVGltZWxpbmVSZWNvcmRFbnRyeSBlbnRyeSA9IG1fcmVjb3JkU3RhY2su
bGFzdCgpOworICAgIGlmIChlbnRyeS5jYW5jZWxsYWJsZSAmJiBlbnRyeS50eXBlID09IHR5cGUp
CisgICAgICAgIG1fcmVjb3JkU3RhY2sucmVtb3ZlTGFzdCgpOworfQorCiB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmNsZWFyUmVjb3JkU3RhY2soKQogewogICAgIG1fcmVjb3JkU3RhY2su
Y2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5oCmluZGV4IGJhOTg1NWEzMGMxZDM4NTg5ZGU5YzdiMzViNmRhNWQ5ODVmZThjNDAu
LjQzYjdjODE5ZDhlNGVmNjA5MzM1NDA0NzZlMGFjODM5N2RiNmE3NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtODQsNiAr
ODQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWREaXNwYXRjaEV2ZW50KCk7CiAKICAgICB2b2lk
IGRpZEJlZ2luRnJhbWUoKTsKKyAgICB2b2lkIGRpZENhbmNlbEZyYW1lKCk7CiAKICAgICB2b2lk
IHdpbGxMYXlvdXQoKTsKICAgICB2b2lkIGRpZExheW91dCgpOwpAQCAtMTMzLDE0ICsxMzQsMTUg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHN0cnVjdCBUaW1lbGluZVJlY29yZEVudHJ5IHsK
LSAgICAgICAgVGltZWxpbmVSZWNvcmRFbnRyeShQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
cmVjb3JkLCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JBcnJheT4gY2hpbGRyZW4sIGNvbnN0IFN0cmluZyYgdHlwZSkKLSAgICAgICAgICAgIDog
cmVjb3JkKHJlY29yZCksIGRhdGEoZGF0YSksIGNoaWxkcmVuKGNoaWxkcmVuKSwgdHlwZSh0eXBl
KQorICAgICAgICBUaW1lbGluZVJlY29yZEVudHJ5KFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiByZWNvcmQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBQYXNzUmVmUHRyPElu
c3BlY3RvckFycmF5PiBjaGlsZHJlbiwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIGNhbmNlbGxh
YmxlID0gZmFsc2UpCisgICAgICAgICAgICA6IHJlY29yZChyZWNvcmQpLCBkYXRhKGRhdGEpLCBj
aGlsZHJlbihjaGlsZHJlbiksIHR5cGUodHlwZSksIGNhbmNlbGxhYmxlKGNhbmNlbGxhYmxlKQog
ICAgICAgICB7CiAgICAgICAgIH0KICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVj
b3JkOwogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhOwogICAgICAgICBSZWZQ
dHI8SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuOwogICAgICAgICBTdHJpbmcgdHlwZTsKKyAgICAg
ICAgYm9vbCBjYW5jZWxsYWJsZTsKICAgICB9OwogICAgICAgICAKICAgICBJbnNwZWN0b3JUaW1l
bGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSosIEluc3BlY3Rv
clR5cGUpOwpAQCAtMTUwLDcgKzE1Miw5IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgIHZvaWQg
ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlwZSk7CiAgICAgdm9pZCBh
cHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmlu
ZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNrKTsKLQorICAgIHZvaWQgcHVzaENhbmNlbGxh
YmxlUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBl
KTsKKyAgICB2b2lkIGNvbW1pdENhbmNlbGxhYmxlUmVjb3JkcygpOworICAgIHZvaWQgY2FuY2Vs
UmVjb3JkKGNvbnN0IFN0cmluZyYgdHlwZSk7CiAgICAgdm9pZCBhZGRSZWNvcmRUb1RpbWVsaW5l
KFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlKTsKIAogICAg
IHZvaWQgcHVzaEdDRXZlbnRSZWNvcmRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKaW5kZXggMmU5YWVhMTA0YjRlYzM5MWVlNzExYzIwMGUwZmY3NDlmZDM4YjE4Mi4uNDA0NjNk
OTRkM2QwYThmNDY1M2U3YjcxN2YyNDIwZDU1Nzg0Mjg4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgog
I2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250
cm9sbGVyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJM
YW5ndWFnZS5oIgpAQCAtNjcyLDQgKzY3MywxNCBAQCB1bnNpZ25lZCBJbnRlcm5hbHM6OnRvdWNo
RXZlbnRIYW5kbGVyQ291bnQoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYwog
ICAgIHJldHVybiBkb2N1bWVudC0+dG91Y2hFdmVudEhhbmRsZXJDb3VudCgpOwogfQogCit2b2lk
IEludGVybmFsczo6ZW1pdFRpbWVsaW5lRGlkQmVnaW5GcmFtZSgpCit7CisgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRCZWdpbkZyYW1lKGZyYW1lKCktPnBhZ2UoKSk7Cit9CisKK3Zv
aWQgSW50ZXJuYWxzOjplbWl0VGltZWxpbmVEaWRDYW5jZWxGcmFtZSgpCit7CisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDYW5jZWxGcmFtZShmcmFtZSgpLT5wYWdlKCkpOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAwZmJkZWRjNjA3YmQ4NzA2MGE4
MjI4Zjc5MzIzMDUxYzNlYjZmZDZmLi42MGNhMDBmNGUwZDYyZTgzM2YwMTRjNWRlNTBlMDc1MGU1
ODE5NDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTEyNiw2ICsxMjYsOSBA
QCBwdWJsaWM6CiAKICAgICBJbnRlcm5hbFNldHRpbmdzKiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0
dXJuIG1fc2V0dGluZ3MuZ2V0KCk7IH0KIAorICAgIHZvaWQgZW1pdFRpbWVsaW5lRGlkQmVnaW5G
cmFtZSgpOworICAgIHZvaWQgZW1pdFRpbWVsaW5lRGlkQ2FuY2VsRnJhbWUoKTsKKwogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQqKTsKICAgICBEb2N1bWVudE1hcmtl
ciogbWFya2VyQXQoTm9kZSosIGNvbnN0IFN0cmluZyYgbWFya2VyVHlwZSwgdW5zaWduZWQgaW5k
ZXgsIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRl
eCAzOWRmNTFjYTlmY2MyNThlMTk0ZTI2MTY2YWFkYTk0MzE4ZDUwNmM0Li44MTJmMDU3OTEzM2Ex
ZTg2MTlkOGJkMzNkNGVhMGQwM2Y0YzE5YjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCkBAIC05Myw2ICs5MywxMCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCBz
ZXRTaG91bGREaXNwbGF5VHJhY2tLaW5kKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJp
bmcga2luZCwgaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAg
ICAgIGJvb2xlYW4gc2hvdWxkRGlzcGxheVRyYWNrS2luZChpbiBEb2N1bWVudCBkb2N1bWVudCwg
aW4gRE9NU3RyaW5nIHRyYWNrS2luZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogI2VuZGlmCisK
KyAgICAgICAgdm9pZCBlbWl0VGltZWxpbmVEaWRCZWdpbkZyYW1lKCk7CisgICAgICAgIHZvaWQg
ZW1pdFRpbWVsaW5lRGlkQ2FuY2VsRnJhbWUoKTsKKwogICAgICAgICBhdHRyaWJ1dGUgW0N1c3Rv
bV0gQXJyYXkgdXNlclByZWZlcnJlZExhbmd1YWdlczsKIAogICAgICAgICB1bnNpZ25lZCBsb25n
IHdoZWVsRXZlbnRIYW5kbGVyQ291bnQoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YldpZGdldC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKaW5k
ZXggZTk3MTJkNzQzYzNlMjQwZGQ1NTg1MTA4ZmMzYTU0ZGQwNWM0MDU4Ny4uYWZjZTZhZTYyMGVj
ZGU5NWRhNTk3NzY3ZDk2NDg3NjdhMjE4ZWI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViV2lkZ2V0LmgKQEAgLTE5NSw2ICsxOTUsOSBAQCBwdWJsaWM6CiAgICAgLy8gSW5z
dHJ1bWVudGF0aW9uIG1ldGhvZCB0aGF0IG1hcmtzIGJlZ2lubmluZyBvZiBmcmFtZSB1cGRhdGUg
dGhhdCBpbmNsdWRlcwogICAgIC8vIHRoaW5ncyBsaWtlIGFuaW1hdGUoKS9sYXlvdXQoKS9wYWlu
dCgpL2NvbXBvc2l0ZSgpLgogICAgIHZpcnR1YWwgdm9pZCBpbnN0cnVtZW50QmVnaW5GcmFtZSgp
IHsgfQorICAgIC8vIENhbmNlbHMgdGhlIGVmZmVjdCBvZiBpbnN0cnVtZW50QmVnaW5GcmFtZSgp
IGluIGNhc2UgdGhlcmUgd2VyZSBubyBldmVudHMKKyAgICAvLyBmb2xsb3dpbmcgdGhlIGNhbGwg
dG8gaW5zdHJ1bWVudEJlZ2luRnJhbWUoKS4KKyAgICB2aXJ0dWFsIHZvaWQgaW5zdHJ1bWVudENh
bmNlbEZyYW1lKCkgeyB9CiAKIHByb3RlY3RlZDoKICAgICB+V2ViV2lkZ2V0KCkgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggMjBlMmU0ZWYzMTNj
ZjczMjVmMjUyYjg0NjUxZjg2MDY4NDlhYmFhMy4uOGNlMzU2NTBhNjZkZDBiNmI3Mjg3YzYxYjdl
ODU5ZGNiMWNmMzYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcApAQCAtMTI1MCw2ICsxMjUwLDExIEBAIHZvaWQgV2ViVmlld0ltcGw6Omluc3RydW1lbnRC
ZWdpbkZyYW1lKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEJlZ2luRnJhbWUo
bV9wYWdlLmdldCgpKTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6aW5zdHJ1bWVudENhbmNlbEZy
YW1lKCkKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENhbmNlbEZyYW1lKG1f
cGFnZS5nZXQoKSk7Cit9CisKIHZvaWQgV2ViVmlld0ltcGw6OmFuaW1hdGUoZG91YmxlIGZyYW1l
QmVnaW5UaW1lKQogewogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDM4MTllY2I2NTU0MWUxZDUz
ZGEwODY4MWQyNjYwOGJkYzM2NWVhNWIuLmZmNTgxOGJkYzNlMWQ3OTNlYjFkMDQ0MjZjMjI1M2Fl
NTgzZGJkYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAt
MTQwLDYgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkTG9zZVBvaW50ZXJM
b2NrKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVdpbmRvd1Jlc2l6ZXJSZWN0KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGluc3RydW1lbnRCZWdpbkZyYW1lKCk7CisgICAgdmlydHVhbCB2b2lk
IGluc3RydW1lbnRDYW5jZWxGcmFtZSgpOwogCiAgICAgLy8gV2ViVmlldyBtZXRob2RzOgogICAg
IHZpcnR1YWwgdm9pZCBpbml0aWFsaXplTWFpbkZyYW1lKFdlYkZyYW1lQ2xpZW50Kik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1mcmFt
ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZjQ4ZTkyZTQwYjkyYzJlYTBiMTA1ZDQwN2Jh
NGE5NmU3MTgxZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3Rz
IHJlcG9ydGluZyBhbmQgY2FuY2VsaW5nIG9mIGRpZEJlZ2luRnJhbWUgZXZlbnRzIGluIFRpbWVs
aW5lCisKK0JlZ2luRnJhbWUKK1RpbWVTdGFtcCA6IEZSQU1FIDEKK0JlZ2luRnJhbWUKK1RpbWVT
dGFtcCA6IEZSQU1FIDIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLWZyYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWZyYW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmE1NDU1MThlNDRkYWRiYjg4NWQ3
MjllMmI3ZTk0YjBmNWVmMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0idGltZWxpbmUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCit7CisgICAgd2lu
ZG93LmludGVybmFscy5lbWl0VGltZWxpbmVEaWRCZWdpbkZyYW1lKCk7CisgICAgY29uc29sZS50
aW1lU3RhbXAoIkZSQU1FIDEiKTsKKworICAgIHdpbmRvdy5pbnRlcm5hbHMuZW1pdFRpbWVsaW5l
RGlkQmVnaW5GcmFtZSgpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuZW1pdFRpbWVsaW5lRGlkQ2Fu
Y2VsRnJhbWUoKTsKKworICAgIHdpbmRvdy5pbnRlcm5hbHMuZW1pdFRpbWVsaW5lRGlkQmVnaW5G
cmFtZSgpOworICAgIGNvbnNvbGUudGltZVN0YW1wKCJGUkFNRSAyIik7CisgICAgd2luZG93Lmlu
dGVybmFscy5lbWl0VGltZWxpbmVEaWRDYW5jZWxGcmFtZSgpOworfQorCitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICBmdW5jdGlvbiBmb3JtYXRSZWNvcmQocmVjb3JkKQorICAgIHsKKyAgICAgICAg
aWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBl
LlRpbWVTdGFtcCB8fAorICAgICAgICAgICAgcmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5U
aW1lbGluZU1vZGVsLlJlY29yZFR5cGUuQmVnaW5GcmFtZSkgeworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wVGltZWxpbmVSZWNvcmQocmVjb3JkKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShmdW5jdGlvbigpIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIsIHN0ZXAyKTsKKyAg
ICB9KTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRl
c3Quc3RvcFRpbWVsaW5lKGZpbmlzaCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZmluaXNoKCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMobnVsbCwg
Zm9ybWF0UmVjb3JkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD4KK1Rlc3RzIHJlcG9ydGluZyBhbmQgY2FuY2VsaW5nIG9mIGRpZEJlZ2luRnJhbWUgZXZl
bnRzIGluIFRpbWVsaW5lCis8L3A+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131676</attachid>
            <date>2012-03-13 11:18:24 -0700</date>
            <delta_ts>2012-03-14 02:25:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80994-20120313221822.patch</filename>
            <type>text/plain</type>
            <size>17615</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ0NDEzMzY1Njc2MGYy
OWMyZWExNzFhMzNiYTMzNjQ4MWMxNTA3ZS4uMTgwZGEyYzk1YWU4ZTg3MGIxMjFiNGIyY2FhMDJl
N2NjYTMxODUzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAzLTEzICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGRpZENhbmNlbEZyYW1lIHRpbWVsaW5lIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1mcmFtZXMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZENhbmNlbEZyYW1lSW1wbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDYW5jZWxGcmFtZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpkaWRCZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ2FuY2VsRnJhbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJy
ZW50UmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFw
cGVuZFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpw
dXNoQ3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjpwdXNoQ2FuY2VsbGFibGVSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6Y29tbWl0Q2FuY2VsbGFibGVSZWNvcmRzKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNhbmNlbFJlY29yZCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6VGlt
ZWxpbmVSZWNvcmRFbnRyeTo6VGltZWxpbmVSZWNvcmRFbnRyeSk6CisgICAgICAgIChUaW1lbGlu
ZVJlY29yZEVudHJ5KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbHM6OmVtaXRUaW1lbGluZURpZEJlZ2luRnJhbWUpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmVtaXRUaW1lbGluZURp
ZENhbmNlbEZyYW1lKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAo
SW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDMt
MTMgICdQYXZlbCBGZWxkbWFuJyAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBO
b3QgcmV2aWV3ZWQ6IGNocm9taXVtIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
aW5kZXggYjgyNDgwMDQ1OGQ1ZWRkOGNjM2YyMzQ2YjY3ZDY3NTk1ZWQxMTQ1Yi4uZGE4ZTUwYTFi
YjY0MmQ3ODFmNjNmYTcxNWNmY2VlZWQ5NDEyMzEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wMy0xMyAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBkaWRDYW5jZWxGcmFt
ZSB0aW1lbGluZSBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODA5OTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYldpZGdldCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYldpZGdldDo6aW5zdHJ1bWVudENhbmNlbEZyYW1lKToKKyAgICAgICAg
KiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aW5z
dHJ1bWVudENhbmNlbEZyYW1lKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dl
YlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDMtMTMgIERhbmEg
SmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBVc2Ug
cHJvamVjdFF1YWQgdG8gYXBwbHkgaW52ZXJzZSBtYXBSZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDI3Yjc0
MmMyZThkNTEzZWVmMzM2MjY0NmIyNzdkMDQyMjlhYzQ0MDkuLjE5OTNiNDYyNTc5MjlhNWIyZTE3
NTg5MTI4MzBjMzUyM2ZmN2ZjZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC0zODgsNiArMzg4LDEyIEBAIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRCZWdpbkZyYW1lSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50CiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEJlZ2luRnJh
bWUoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENhbmNlbEZyYW1l
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlm
IChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQorICAgICAgICB0aW1lbGluZUFnZW50LT5k
aWRDYW5jZWxGcmFtZSgpOworfQorCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTGF5b3V0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzKQogewogICAgIGludCB0aW1lbGluZUFnZW50SWQgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCmluZGV4IDJhYzc0ZGFjMDZjMTNiZGQ0MWZlZmRlYjI2MGYyMTZkOWEyMjVlYTQuLjk1MjRm
NmM4MjQ3ZWI4NWVhYTFlOTYyNDM3OTY1MzlkYmE1ZjFkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTEyMSw2ICsx
MjEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSB3aWxsRmlyZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBpbnQgdGltZXJJZCk7CiAg
ICAgc3RhdGljIHZvaWQgZGlkRmlyZVRpbWVyKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIGRpZEJlZ2luRnJhbWUoUGFnZSopOworICAgIHN0
YXRpYyB2b2lkIGRpZENhbmNlbEZyYW1lKFBhZ2UqKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llIHdpbGxMYXlvdXQoRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBk
aWRMYXlvdXQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3Rh
dGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsTG9hZFhIUihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgWE1MSHR0cFJlcXVlc3QqKTsKQEAgLTI3NCw2ICsyNzUsNyBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVU
aW1lckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIGludCB0aW1lcklkKTsKICAgICBzdGF0aWMg
dm9pZCBkaWRGaXJlVGltZXJJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSYpOwogICAgIHN0YXRpYyB2b2lkIGRpZEJlZ2luRnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRDYW5jZWxGcmFtZUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyopOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbExh
eW91dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAgIHN0YXRpYyB2b2lkIGRpZExheW91
dEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGlj
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsTG9hZFhIUkltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyosIFhNTEh0dHBSZXF1ZXN0Kik7CkBAIC03MjEsNiArNzIzLDE1IEBAIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZShQYWdlKiBwYWdl
KQogI2VuZGlmCiB9CiAKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
Q2FuY2VsRnJhbWUoUGFnZSogcGFnZSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2Uo
cGFnZSkpCisgICAgICAgIGRpZENhbmNlbEZyYW1lSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzKTsK
KyNlbmRpZgorfQorCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbExheW91dChGcmFtZSogZnJhbWUpCiB7CiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA3ZDQ3MDM3MzFkZTAxM2FmNjc3NjljNzcyZDkyNTA4
ZjRmMDY5Njg5Li5lNDA5YWEwMGNkY2E0N2Y1MmQ0YzhmNDliYTBiMTU4ZjljNWUyY2EzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCkBAIC0xNzQsNyArMTc0LDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0
SW5jbHVkZU1lbW9yeURldGFpbHMoRXJyb3JTdHJpbmcqLCBib29sIHZhbHVlKQogCiB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEJlZ2luRnJhbWUoKQogewotICAgIGFwcGVuZFJlY29y
ZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5cGU6OkJlZ2luRnJh
bWUsIHRydWUpOworICAgIHB1c2hDYW5jZWxsYWJsZVJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNy
ZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5cGU6OkJlZ2luRnJhbWUpOworfQorCit2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZENhbmNlbEZyYW1lKCkKK3sKKyAgICBjYW5jZWxSZWNvcmQo
VGltZWxpbmVSZWNvcmRUeXBlOjpCZWdpbkZyYW1lKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsQ2FsbEZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0TmFtZSwgaW50
IHNjcmlwdExpbmUpCkBAIC00MTYsNyArNDIxLDggQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAg
ICBBU1NFUlQoZW50cnkudHlwZSA9PSB0eXBlKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRP
YmplY3QoImRhdGEiLCBlbnRyeS5kYXRhKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRBcnJh
eSgiY2hpbGRyZW4iLCBlbnRyeS5jaGlsZHJlbik7Ci0gICAgICAgIGVudHJ5LnJlY29yZC0+c2V0
TnVtYmVyKCJlbmRUaW1lIiwgdGltZXN0YW1wKCkpOworICAgICAgICBpZiAoIWVudHJ5LmNhbmNl
bGxhYmxlKQorICAgICAgICAgICAgZW50cnkucmVjb3JkLT5zZXROdW1iZXIoImVuZFRpbWUiLCB0
aW1lc3RhbXAoKSk7CiAgICAgICAgIGFkZFJlY29yZFRvVGltZWxpbmUoZW50cnkucmVjb3JkLCB0
eXBlKTsKICAgICB9CiB9CkBAIC00MzMsNiArNDM5LDcgQEAgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW4KIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YXBwZW5kUmVjb3JkKFBhc3NSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNh
bGxTdGFjaykKIHsKICAgICBwdXNoR0NFdmVudFJlY29yZHMoKTsKKyAgICBjb21taXRDYW5jZWxs
YWJsZVJlY29yZHMoKTsKICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQgPSBUaW1l
bGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGltZXN0YW1wKCksIGNhcHR1
cmVDYWxsU3RhY2sgPyBtX21heENhbGxTdGFja0RlcHRoIDogMCk7CiAgICAgcmVjb3JkLT5zZXRP
YmplY3QoImRhdGEiLCBkYXRhKTsKICAgICByZWNvcmQtPnNldFN0cmluZygidHlwZSIsIHR5cGUp
OwpAQCAtNDQyLDEwICs0NDksMzIgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBl
bmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnMKIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNr
KQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOworICAgIGNvbW1pdENhbmNlbGxhYmxlUmVj
b3JkcygpOwogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVj
b3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZCh0aW1lc3RhbXAoKSwgY2FwdHVyZUNhbGxT
dGFjayA/IG1fbWF4Q2FsbFN0YWNrRGVwdGggOiAwKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVu
ZChUaW1lbGluZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFy
cmF5OjpjcmVhdGUoKSwgdHlwZSkpOwogfQogCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OnB1c2hDYW5jZWxsYWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwg
Y29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29y
ZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZCh0aW1lc3RhbXAo
KSwgMCk7CisgICAgbV9yZWNvcmRTdGFjay5hcHBlbmQoVGltZWxpbmVSZWNvcmRFbnRyeShyZWNv
cmQucmVsZWFzZSgpLCBkYXRhLCBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCksIHR5cGUsIHRydWUp
KTsKK30KKwordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpjb21taXRDYW5jZWxsYWJsZVJl
Y29yZHMoKQoreworICAgIHdoaWxlICghbV9yZWNvcmRTdGFjay5pc0VtcHR5KCkgJiYgbV9yZWNv
cmRTdGFjay5sYXN0KCkuY2FuY2VsbGFibGUpCisgICAgICAgIGRpZENvbXBsZXRlQ3VycmVudFJl
Y29yZChtX3JlY29yZFN0YWNrLmxhc3QoKS50eXBlKTsKK30KKwordm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpjYW5jZWxSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIGlmICht
X3JlY29yZFN0YWNrLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworICAgIFRpbWVsaW5lUmVj
b3JkRW50cnkgZW50cnkgPSBtX3JlY29yZFN0YWNrLmxhc3QoKTsKKyAgICBpZiAoZW50cnkuY2Fu
Y2VsbGFibGUgJiYgZW50cnkudHlwZSA9PSB0eXBlKQorICAgICAgICBtX3JlY29yZFN0YWNrLnJl
bW92ZUxhc3QoKTsKK30KKwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpjbGVhclJlY29y
ZFN0YWNrKCkKIHsKICAgICBtX3JlY29yZFN0YWNrLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBiYTk4NTVhMzBj
MWQzODU4OWRlOWM3YjM1YjZkYTVkOTg1ZmU4YzQwLi40M2I3YzgxOWQ4ZTRlZjYwOTMzNTQwNDc2
ZTBhYzgzOTdkYjZhNzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZvaWQg
ZGlkRGlzcGF0Y2hFdmVudCgpOwogCiAgICAgdm9pZCBkaWRCZWdpbkZyYW1lKCk7CisgICAgdm9p
ZCBkaWRDYW5jZWxGcmFtZSgpOwogCiAgICAgdm9pZCB3aWxsTGF5b3V0KCk7CiAgICAgdm9pZCBk
aWRMYXlvdXQoKTsKQEAgLTEzMywxNCArMTM0LDE1IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBzdHJ1Y3QgVGltZWxpbmVSZWNvcmRFbnRyeSB7Ci0gICAgICAgIFRpbWVsaW5lUmVjb3JkRW50
cnkoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCwgUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGRhdGEsIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuLCBjb25z
dCBTdHJpbmcmIHR5cGUpCi0gICAgICAgICAgICA6IHJlY29yZChyZWNvcmQpLCBkYXRhKGRhdGEp
LCBjaGlsZHJlbihjaGlsZHJlbiksIHR5cGUodHlwZSkKKyAgICAgICAgVGltZWxpbmVSZWNvcmRF
bnRyeShQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkLCBQYXNzUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gZGF0YSwgUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW4sIGNv
bnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYW5jZWxsYWJsZSA9IGZhbHNlKQorICAgICAgICAgICAg
OiByZWNvcmQocmVjb3JkKSwgZGF0YShkYXRhKSwgY2hpbGRyZW4oY2hpbGRyZW4pLCB0eXBlKHR5
cGUpLCBjYW5jZWxsYWJsZShjYW5jZWxsYWJsZSkKICAgICAgICAgewogICAgICAgICB9CiAgICAg
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZDsKICAgICAgICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gZGF0YTsKICAgICAgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiBjaGlsZHJl
bjsKICAgICAgICAgU3RyaW5nIHR5cGU7CisgICAgICAgIGJvb2wgY2FuY2VsbGFibGU7CiAgICAg
fTsKICAgICAgICAgCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBJbnNwZWN0b3JUeXBlKTsKQEAgLTE1MCw3ICsxNTIsOSBA
QCBwcml2YXRlOgogICAgICAgICAKICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChj
b25zdCBTdHJpbmcmIHR5cGUpOwogICAgIHZvaWQgYXBwZW5kUmVjb3JkKFBhc3NSZWZQdHI8SW5z
cGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxT
dGFjayk7Ci0KKyAgICB2b2lkIHB1c2hDYW5jZWxsYWJsZVJlY29yZChQYXNzUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4sIGNvbnN0IFN0cmluZyYgdHlwZSk7CisgICAgdm9pZCBjb21taXRDYW5jZWxs
YWJsZVJlY29yZHMoKTsKKyAgICB2b2lkIGNhbmNlbFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUp
OwogICAgIHZvaWQgYWRkUmVjb3JkVG9UaW1lbGluZShQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4sIGNvbnN0IFN0cmluZyYgdHlwZSk7CiAKICAgICB2b2lkIHB1c2hHQ0V2ZW50UmVjb3Jkcygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDJlOWFlYTEwNGI0ZWMzOTFl
ZTcxMWMyMDBlMGZmNzQ5ZmQzOGIxODIuLjQwNDYzZDk0ZDNkMGE4ZjQ2NTNlN2I3MTdmMjQyMGQ1
NTc4NDI4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQwLDYgKzQw
LDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNp
bmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTGFuZ3VhZ2UuaCIKQEAgLTY3Miw0ICs2NzMs
MTQgQEAgdW5zaWduZWQgSW50ZXJuYWxzOjp0b3VjaEV2ZW50SGFuZGxlckNvdW50KERvY3VtZW50
KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICByZXR1cm4gZG9jdW1lbnQtPnRvdWNo
RXZlbnRIYW5kbGVyQ291bnQoKTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OmVtaXRUaW1lbGluZURp
ZEJlZ2luRnJhbWUoKQoreworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVnaW5G
cmFtZShmcmFtZSgpLT5wYWdlKCkpOworfQorCit2b2lkIEludGVybmFsczo6ZW1pdFRpbWVsaW5l
RGlkQ2FuY2VsRnJhbWUoKQoreworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2Fu
Y2VsRnJhbWUoZnJhbWUoKS0+cGFnZSgpKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKaW5kZXggMGZiZGVkYzYwN2JkODcwNjBhODIyOGY3OTMyMzA1MWMzZWI2ZmQ2Zi4uNjBj
YTAwZjRlMGQ2MmU4MzNmMDE0YzVkZTUwZTA3NTBlNTgxOTQ0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCkBAIC0xMjYsNiArMTI2LDkgQEAgcHVibGljOgogCiAgICAgSW50ZXJuYWxT
ZXR0aW5ncyogc2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLmdldCgpOyB9CiAK
KyAgICB2b2lkIGVtaXRUaW1lbGluZURpZEJlZ2luRnJhbWUoKTsKKyAgICB2b2lkIGVtaXRUaW1l
bGluZURpZENhbmNlbEZyYW1lKCk7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxz
KERvY3VtZW50Kik7CiAgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUqLCBjb25zdCBT
dHJpbmcmIG1hcmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMzlkZjUxY2E5ZmNjMjU4ZTE5NGUyNjE2
NmFhZGE5NDMxOGQ1MDZjNC4uODEyZjA1NzkxMzNhMWU4NjE5ZDhiZDMzZDRlYTBkMDNmNGMxOWI1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtOTMsNiArOTMsMTAgQEAg
bW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChp
biBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGtpbmQsIGluIGJvb2xlYW4gZW5hYmxl
ZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBib29sZWFuIHNob3VsZERpc3BsYXlU
cmFja0tpbmQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyB0cmFja0tpbmQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgorCisgICAgICAgIHZvaWQgZW1pdFRpbWVsaW5l
RGlkQmVnaW5GcmFtZSgpOworICAgICAgICB2b2lkIGVtaXRUaW1lbGluZURpZENhbmNlbEZyYW1l
KCk7CisKICAgICAgICAgYXR0cmlidXRlIFtDdXN0b21dIEFycmF5IHVzZXJQcmVmZXJyZWRMYW5n
dWFnZXM7CiAKICAgICAgICAgdW5zaWduZWQgbG9uZyB3aGVlbEV2ZW50SGFuZGxlckNvdW50KGlu
IERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCmluZGV4IGU5NzEyZDc0M2MzZTI0MGRkNTU4NTEw
OGZjM2E1NGRkMDVjNDA1ODcuLmFmY2U2YWU2MjBlY2RlOTVkYTU5Nzc2N2Q5NjQ4NzY3YTIxOGVi
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCkBAIC0xOTUs
NiArMTk1LDkgQEAgcHVibGljOgogICAgIC8vIEluc3RydW1lbnRhdGlvbiBtZXRob2QgdGhhdCBt
YXJrcyBiZWdpbm5pbmcgb2YgZnJhbWUgdXBkYXRlIHRoYXQgaW5jbHVkZXMKICAgICAvLyB0aGlu
Z3MgbGlrZSBhbmltYXRlKCkvbGF5b3V0KCkvcGFpbnQoKS9jb21wb3NpdGUoKS4KICAgICB2aXJ0
dWFsIHZvaWQgaW5zdHJ1bWVudEJlZ2luRnJhbWUoKSB7IH0KKyAgICAvLyBDYW5jZWxzIHRoZSBl
ZmZlY3Qgb2YgaW5zdHJ1bWVudEJlZ2luRnJhbWUoKSBpbiBjYXNlIHRoZXJlIHdlcmUgbm8gZXZl
bnRzCisgICAgLy8gZm9sbG93aW5nIHRoZSBjYWxsIHRvIGluc3RydW1lbnRCZWdpbkZyYW1lKCku
CisgICAgdmlydHVhbCB2b2lkIGluc3RydW1lbnRDYW5jZWxGcmFtZSgpIHsgfQogCiBwcm90ZWN0
ZWQ6CiAgICAgfldlYldpZGdldCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCmluZGV4IDIwZTJlNGVmMzEzY2Y3MzI1ZjI1MmI4NDY1MWY4NjA2ODQ5YWJh
YTMuLjhjZTM1NjUwYTY2ZGQwYjZiNzI4N2M2MWI3ZTg1OWRjYjFjZjM2MzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTEyNTAsNiArMTI1MCwxMSBA
QCB2b2lkIFdlYlZpZXdJbXBsOjppbnN0cnVtZW50QmVnaW5GcmFtZSgpCiAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRCZWdpbkZyYW1lKG1fcGFnZS5nZXQoKSk7CiB9CiAKK3ZvaWQg
V2ViVmlld0ltcGw6Omluc3RydW1lbnRDYW5jZWxGcmFtZSgpCit7CisgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDYW5jZWxGcmFtZShtX3BhZ2UuZ2V0KCkpOworfQorCiB2b2lkIFdl
YlZpZXdJbXBsOjphbmltYXRlKGRvdWJsZSBmcmFtZUJlZ2luVGltZSkKIHsKICNpZiBFTkFCTEUo
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaAppbmRleCAzODE5ZWNiNjU1NDFlMWQ1M2RhMDg2ODFkMjY2MDhiZGMzNjVlYTViLi5m
ZjU4MThiZGMzZTFkNzkzZWIxZDA0NDI2YzIyNTNhZTU4M2RiZGJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTE0MCw2ICsxNDAsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGRpZExvc2VQb2ludGVyTG9jaygpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRDaGFuZ2VXaW5kb3dSZXNpemVyUmVjdCgpOwogICAgIHZpcnR1YWwgdm9pZCBpbnN0cnVtZW50
QmVnaW5GcmFtZSgpOworICAgIHZpcnR1YWwgdm9pZCBpbnN0cnVtZW50Q2FuY2VsRnJhbWUoKTsK
IAogICAgIC8vIFdlYlZpZXcgbWV0aG9kczoKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZU1h
aW5GcmFtZShXZWJGcmFtZUNsaWVudCopOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMxM2EyNjRiODVhNWQ3NTAyYmJhZmM2
ZWY3ZmRmZjYxYWQwZGVjYjIuLjZiYWZjOTY1OTBlOTFjZTQxODA2YTY2NWQzNzA1YzAwN2M0NTBi
MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0xMyAgQW5kcmV5IEtvc3lha292ICA8
Y2FzZXFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBkaWRDYW5j
ZWxGcmFtZSB0aW1lbGluZSBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA5OTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1mcmFtZXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZnJh
bWVzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTEzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemlt
bWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFtRdF0gc3ZnL2FuaW1hdGlvbnMgdGVzdHMgYXJl
IHZlcnkgZmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1mcmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLWZyYW1lcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlmNDhlOTJlNDBi
OTJjMmVhMGIxMDVkNDA3YmE0YTk2ZTcxODFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1mcmFtZXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNyBAQAorVGVzdHMgcmVwb3J0aW5nIGFuZCBjYW5jZWxpbmcgb2YgZGlkQmVnaW5GcmFt
ZSBldmVudHMgaW4gVGltZWxpbmUKKworQmVnaW5GcmFtZQorVGltZVN0YW1wIDogRlJBTUUgMQor
QmVnaW5GcmFtZQorVGltZVN0YW1wIDogRlJBTUUgMgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMyYTU0
NTUxOGU0NGRhZGJiODg1ZDcyOWUyYjdlOTRiMGY1ZWYzMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1mcmFtZXMuaHRtbApAQCAtMCww
ICsxLDU1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ0aW1l
bGluZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHBlcmZvcm1BY3Rp
b25zKCkKK3sKKyAgICB3aW5kb3cuaW50ZXJuYWxzLmVtaXRUaW1lbGluZURpZEJlZ2luRnJhbWUo
KTsKKyAgICBjb25zb2xlLnRpbWVTdGFtcCgiRlJBTUUgMSIpOworCisgICAgd2luZG93LmludGVy
bmFscy5lbWl0VGltZWxpbmVEaWRCZWdpbkZyYW1lKCk7CisgICAgd2luZG93LmludGVybmFscy5l
bWl0VGltZWxpbmVEaWRDYW5jZWxGcmFtZSgpOworCisgICAgd2luZG93LmludGVybmFscy5lbWl0
VGltZWxpbmVEaWRCZWdpbkZyYW1lKCk7CisgICAgY29uc29sZS50aW1lU3RhbXAoIkZSQU1FIDIi
KTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLmVtaXRUaW1lbGluZURpZENhbmNlbEZyYW1lKCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9uIGZvcm1hdFJlY29yZChyZWNvcmQp
CisgICAgeworICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLlJlY29yZFR5cGUuVGltZVN0YW1wIHx8CisgICAgICAgICAgICByZWNvcmQudHlwZSA9
PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5CZWdpbkZyYW1lKSB7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29yZChyZWNvcmQpOworICAg
ICAgICB9CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKGZ1bmN0aW9u
KCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9u
cygpIiwgc3RlcDIpOworICAgIH0pOworCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoZmluaXNoKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBmaW5pc2goKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVs
aW5lUmVjb3JkcyhudWxsLCBmb3JtYXRSZWNvcmQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgcmVwb3J0aW5nIGFuZCBjYW5jZWxpbmcgb2Yg
ZGlkQmVnaW5GcmFtZSBldmVudHMgaW4gVGltZWxpbmUKKzwvcD4KKworPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131813</attachid>
            <date>2012-03-14 02:25:15 -0700</date>
            <delta_ts>2012-03-14 03:43:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80994-20120314132513.patch</filename>
            <type>text/plain</type>
            <size>18383</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhlM2NhMzUzOGFlOTVl
MjI1Y2RiMGM4MDgwNWVjNzRkMzEzNDIwYy4uNjNjZmNiYjhmZjljNTE2MGI5NjI5NDNlNTI3ZmJj
ODE5YTJhMWU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTAzLTE0ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGRpZENhbmNlbEZyYW1lIHRpbWVsaW5lIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gYWRkIGFuIGFiaWxpdHkgdG8gY2FuY2VsIGNl
cnRhaW4gdGltZWxpbmUgZXZlbnRzLCB1bmxlc3MgdGhleSd2ZSBiZWVuIGZvbGxvd2VkIGJ5IG90
aGVyIGV2ZW50cy4KKyAgICAgICAgLSBpbXBsZW1lbnQgZGlkQ2FuY2VsRnJhbWUoKSBldmVudCwg
ZmlyZWQgd2hlbiBhIHBsYXRmb3JtIGRlY2lkZXMgbm90IHRvIHJlbmRlciBmcmFtZSBhZnRlciBk
aWRCZWdpbkZyYW1lKCkgd2FzIGNhbGxlZC4KKworICAgICAgICBUZXN0OiBpbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZnJhbWVzLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRDYW5jZWxGcmFtZUltcGwpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQ2FuY2VsRnJhbWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQmVnaW5GcmFtZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENhbmNl
bEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVu
ZFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNo
Q3VycmVudFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpwdXNoQ2FuY2VsYWJsZVJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojpjb21taXRDYW5jZWxhYmxlUmVjb3Jkcyk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpjYW5jZWxSZWNvcmQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OlRpbWVsaW5l
UmVjb3JkRW50cnk6OlRpbWVsaW5lUmVjb3JkRW50cnkpOgorICAgICAgICAoVGltZWxpbmVSZWNv
cmRFbnRyeSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxzOjplbWl0SW5zcGVjdG9yRGlkQmVnaW5GcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZW1pdEluc3BlY3RvckRpZENh
bmNlbEZyYW1lKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50
ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDMtMTQg
IFBldGVyIFJ5YmluICA8cGV0ZXIucnliaW5AZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFR5cGVCdWlsZGVyOiBJbnRyb2R1Y2UgT3B0T3V0cHV0IGNsYXNzIGZvciBvcHRpb25h
bCBvdXRwdXQgcGFyYW1ldGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkMmJkY2Y4
ZTdiMmI5NmIxODE4OWE0YzQzNTYxMWJlYjA2MGU4ZTIwLi43NDFiZDYxNDMzNGJhYjZhOTExNDBi
Y2M2ZGNlZmRiNzY1NjUxNTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTAzLTE0ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGRpZENhbmNlbEZyYW1lIHRpbWVsaW5lIGV2
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDk5
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gYWRk
IGludHJ1bWVudENhbmNlRnJhbWUoKSwgY2FsbGVkIHdoZW4gcmVuZGVyZXIgZGVjaWRlcyBub3Qg
dG8KKyAgICAgICAgICAgIHJlbmRlciBmcmFtZSBhZnRlciBpbnN0cnVtZW50QmVnaW5GcmFtZSgp
IHdhcyBjYWxsZWQuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViV2lkZ2V0Lmg6CisgICAgICAgIChX
ZWJXaWRnZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJXaWRnZXQ6Omluc3RydW1lbnRDYW5jZWxG
cmFtZSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlld0ltcGw6Omluc3RydW1lbnRDYW5jZWxGcmFtZSk6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2ViVmlld0ltcGwpOgorCiAy
MDEyLTAzLTE0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDI3Yjc0MmMy
ZThkNTEzZWVmMzM2MjY0NmIyNzdkMDQyMjlhYzQ0MDkuLjE5OTNiNDYyNTc5MjlhNWIyZTE3NTg5
MTI4MzBjMzUyM2ZmN2ZjZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC0zODgsNiArMzg4LDEyIEBAIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRCZWdpbkZyYW1lSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50CiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEJlZ2luRnJhbWUo
KTsKIH0KIAordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENhbmNlbEZyYW1lSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlmIChJ
bnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRD
YW5jZWxGcmFtZSgpOworfQorCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTGF5b3V0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzKQogewogICAgIGludCB0aW1lbGluZUFnZW50SWQgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
CmluZGV4IDJhYzc0ZGFjMDZjMTNiZGQ0MWZlZmRlYjI2MGYyMTZkOWEyMjVlYTQuLjk1MjRmNmM4
MjQ3ZWI4NWVhYTFlOTYyNDM3OTY1MzlkYmE1ZjFkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTEyMSw2ICsxMjEs
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3
aWxsRmlyZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBpbnQgdGltZXJJZCk7CiAgICAg
c3RhdGljIHZvaWQgZGlkRmlyZVRpbWVyKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIGRpZEJlZ2luRnJhbWUoUGFnZSopOworICAgIHN0YXRp
YyB2b2lkIGRpZENhbmNlbEZyYW1lKFBhZ2UqKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llIHdpbGxMYXlvdXQoRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRM
YXlvdXQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGlj
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsTG9hZFhIUihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgWE1MSHR0cFJlcXVlc3QqKTsKQEAgLTI3NCw2ICsyNzUsNyBAQCBwcml2YXRl
OgogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1l
ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIGludCB0aW1lcklkKTsKICAgICBzdGF0aWMgdm9p
ZCBkaWRGaXJlVGltZXJJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYp
OwogICAgIHN0YXRpYyB2b2lkIGRpZEJlZ2luRnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
KTsKKyAgICBzdGF0aWMgdm9pZCBkaWRDYW5jZWxGcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyopOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbExheW91
dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAgIHN0YXRpYyB2b2lkIGRpZExheW91dElt
cGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsTG9hZFhIUkltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIFhNTEh0dHBSZXF1ZXN0Kik7CkBAIC03MjEsNiArNzIzLDE1IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZShQYWdlKiBwYWdlKQog
I2VuZGlmCiB9CiAKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2Fu
Y2VsRnJhbWUoUGFnZSogcGFnZSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFn
ZSkpCisgICAgICAgIGRpZENhbmNlbEZyYW1lSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzKTsKKyNl
bmRpZgorfQorCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbExheW91dChGcmFtZSogZnJhbWUpCiB7CiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcAppbmRleCA3ZDQ3MDM3MzFkZTAxM2FmNjc3NjljNzcyZDkyNTA4ZjRm
MDY5Njg5Li4xZTgwNzc4NGE4NDNmM2EzYzhiYjYwNTU0ODhlOWJiM2IzNWY1OTVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CkBAIC0xNzQsNyArMTc0LDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SW5j
bHVkZU1lbW9yeURldGFpbHMoRXJyb3JTdHJpbmcqLCBib29sIHZhbHVlKQogCiB2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZEJlZ2luRnJhbWUoKQogewotICAgIGFwcGVuZFJlY29yZChJ
bnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5cGU6OkJlZ2luRnJhbWUs
IHRydWUpOworICAgIHB1c2hDYW5jZWxhYmxlUmVjb3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRl
KCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6QmVnaW5GcmFtZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkQ2FuY2VsRnJhbWUoKQoreworICAgIGNhbmNlbFJlY29yZChUaW1l
bGluZVJlY29yZFR5cGU6OkJlZ2luRnJhbWUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OndpbGxDYWxsRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCBpbnQgc2Ny
aXB0TGluZSkKQEAgLTQzMyw2ICs0MzgsNyBAQCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbgogdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNr
KQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOworICAgIGNvbW1pdENhbmNlbGFibGVSZWNv
cmRzKCk7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNv
cmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKHRpbWVzdGFtcCgpLCBjYXB0dXJlQ2FsbFN0
YWNrID8gbV9tYXhDYWxsU3RhY2tEZXB0aCA6IDApOwogICAgIHJlY29yZC0+c2V0T2JqZWN0KCJk
YXRhIiwgZGF0YSk7CiAgICAgcmVjb3JkLT5zZXRTdHJpbmcoInR5cGUiLCB0eXBlKTsKQEAgLTQ0
MiwxMCArNDQ4LDM4IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YXBwZW5kUmVjb3Jk
KFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zCiB2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFjaykKIHsKICAg
ICBwdXNoR0NFdmVudFJlY29yZHMoKTsKKyAgICBjb21taXRDYW5jZWxhYmxlUmVjb3JkcygpOwog
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlR2VuZXJpY1JlY29yZCh0aW1lc3RhbXAoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1f
bWF4Q2FsbFN0YWNrRGVwdGggOiAwKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVuZChUaW1lbGlu
ZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFycmF5OjpjcmVh
dGUoKSwgdHlwZSkpOwogfQogCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDYW5j
ZWxhYmxlUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJp
bmcmIHR5cGUpCit7CisgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxp
bmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKHRpbWVzdGFtcCgpLCAwKTsKKyAg
ICBtX3JlY29yZFN0YWNrLmFwcGVuZChUaW1lbGluZVJlY29yZEVudHJ5KHJlY29yZC5yZWxlYXNl
KCksIGRhdGEsIEluc3BlY3RvckFycmF5OjpjcmVhdGUoKSwgdHlwZSwgdHJ1ZSkpOworfQorCit2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNvbW1pdENhbmNlbGFibGVSZWNvcmRzKCkKK3sK
KyAgICB3aGlsZSAoIW1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKSB7CisgICAgICAgIFRpbWVsaW5l
UmVjb3JkRW50cnkgZW50cnkgPSBtX3JlY29yZFN0YWNrLmxhc3QoKTsKKyAgICAgICAgaWYgKCFt
X3JlY29yZFN0YWNrLmxhc3QoKS5jYW5jZWxhYmxlKQorICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIG1fcmVjb3JkU3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBlbnRyeS5yZWNvcmQtPnNl
dE9iamVjdCgiZGF0YSIsIGVudHJ5LmRhdGEpOworICAgICAgICBhZGRSZWNvcmRUb1RpbWVsaW5l
KGVudHJ5LnJlY29yZCwgZW50cnkudHlwZSk7CisgICAgfQorfQorCit2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OmNhbmNlbFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgaWYg
KG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgVGltZWxpbmVS
ZWNvcmRFbnRyeSBlbnRyeSA9IG1fcmVjb3JkU3RhY2subGFzdCgpOworICAgIGlmIChlbnRyeS5j
YW5jZWxhYmxlICYmIGVudHJ5LnR5cGUgPT0gdHlwZSkKKyAgICAgICAgbV9yZWNvcmRTdGFjay5y
ZW1vdmVMYXN0KCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6Y2xlYXJSZWNv
cmRTdGFjaygpCiB7CiAgICAgbV9yZWNvcmRTdGFjay5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYmE5ODU1YTMw
YzFkMzg1ODlkZTljN2IzNWI2ZGE1ZDk4NWZlOGM0MC4uYzQ1ZDBjM2JiNjE1ODZkYjk0ZWVmNDlm
NDE5MzFhNGI4MzJiZTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC04NCw2ICs4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZERpc3BhdGNoRXZlbnQoKTsKIAogICAgIHZvaWQgZGlkQmVnaW5GcmFtZSgpOworICAgIHZv
aWQgZGlkQ2FuY2VsRnJhbWUoKTsKIAogICAgIHZvaWQgd2lsbExheW91dCgpOwogICAgIHZvaWQg
ZGlkTGF5b3V0KCk7CkBAIC0xMzMsMTQgKzEzNCwxNSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgc3RydWN0IFRpbWVsaW5lUmVjb3JkRW50cnkgewotICAgICAgICBUaW1lbGluZVJlY29yZEVu
dHJ5KFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQsIFBhc3NSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBkYXRhLCBQYXNzUmVmUHRyPEluc3BlY3RvckFycmF5PiBjaGlsZHJlbiwgY29u
c3QgU3RyaW5nJiB0eXBlKQotICAgICAgICAgICAgOiByZWNvcmQocmVjb3JkKSwgZGF0YShkYXRh
KSwgY2hpbGRyZW4oY2hpbGRyZW4pLCB0eXBlKHR5cGUpCisgICAgICAgIFRpbWVsaW5lUmVjb3Jk
RW50cnkoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IGRhdGEsIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuLCBj
b25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FuY2VsYWJsZSA9IGZhbHNlKQorICAgICAgICAgICAg
OiByZWNvcmQocmVjb3JkKSwgZGF0YShkYXRhKSwgY2hpbGRyZW4oY2hpbGRyZW4pLCB0eXBlKHR5
cGUpLCBjYW5jZWxhYmxlKGNhbmNlbGFibGUpCiAgICAgICAgIHsKICAgICAgICAgfQogICAgICAg
ICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQ7CiAgICAgICAgIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGRhdGE7CiAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW47
CiAgICAgICAgIFN0cmluZyB0eXBlOworICAgICAgICBib29sIGNhbmNlbGFibGU7CiAgICAgfTsK
ICAgICAgICAgCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgSW5zcGVjdG9yU3RhdGUqLCBJbnNwZWN0b3JUeXBlKTsKQEAgLTE1MCw3ICsxNTIsOSBAQCBw
cml2YXRlOgogICAgICAgICAKICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25z
dCBTdHJpbmcmIHR5cGUpOwogICAgIHZvaWQgYXBwZW5kUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgY2FwdHVyZUNhbGxTdGFj
ayk7Ci0KKyAgICB2b2lkIHB1c2hDYW5jZWxhYmxlUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlKTsKKyAgICB2b2lkIGNvbW1pdENhbmNlbGFibGVS
ZWNvcmRzKCk7CisgICAgdm9pZCBjYW5jZWxSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKTsKICAg
ICB2b2lkIGFkZFJlY29yZFRvVGltZWxpbmUoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+LCBj
b25zdCBTdHJpbmcmIHR5cGUpOwogCiAgICAgdm9pZCBwdXNoR0NFdmVudFJlY29yZHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAxYzY2NjczNGFmYzdmMDk3MWM1NWVl
MGU3ODI5OTM5NGZlNTRkYjJkLi5jMjkzNjg2NGY3ZTRiMjMwZDRkNWM5MzhiYTk4NDVlZDQxYWM1
YWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00Miw2ICs0Miw3IEBA
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVk
ZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCkBAIC03MDMsNCArNzA0LDE0IEBA
IFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IEludGVybmFsczo6bm9kZXNGcm9tUmVjdChEb2N1bWVudCog
ZG9jdW1lbnQsIGludCB4LCBpbnQgeSwKICAgICByZXR1cm4gZG9jdW1lbnQtPm5vZGVzRnJvbVJl
Y3QoeCwgeSwgdG9wUGFkZGluZywgcmlnaHRQYWRkaW5nLCBib3R0b21QYWRkaW5nLCBsZWZ0UGFk
ZGluZywgaWdub3JlQ2xpcHBpbmcpOwogfQogCit2b2lkIEludGVybmFsczo6ZW1pdEluc3BlY3Rv
ckRpZEJlZ2luRnJhbWUoKQoreworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVn
aW5GcmFtZShmcmFtZSgpLT5wYWdlKCkpOworfQorCit2b2lkIEludGVybmFsczo6ZW1pdEluc3Bl
Y3RvckRpZENhbmNlbEZyYW1lKCkKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZENhbmNlbEZyYW1lKGZyYW1lKCktPnBhZ2UoKSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IDdjYzI1ZGE3NzYzZGQzMzE1MGMzZmVlZTliODZiZjdhYmE4NTVlYmIu
LjY3YzA5MjJiYmI1YjBmNGZhYmVmYWFjZDA0ZjM5YjdkYWQwYmEwNDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtMTI5LDYgKzEyOSw5IEBAIHB1YmxpYzoKICAgICBQYXNzUmVm
UHRyPE5vZGVMaXN0PiBub2Rlc0Zyb21SZWN0KERvY3VtZW50KiwgaW50IHgsIGludCB5LCB1bnNp
Z25lZCB0b3BQYWRkaW5nLCB1bnNpZ25lZCByaWdodFBhZGRpbmcsCiAgICAgICAgIHVuc2lnbmVk
IGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVkIGxlZnRQYWRkaW5nLCBib29sIGlnbm9yZUNsaXBwaW5n
LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAKKyAgICB2b2lkIGVtaXRJbnNwZWN0b3JEaWRCZWdp
bkZyYW1lKCk7CisgICAgdm9pZCBlbWl0SW5zcGVjdG9yRGlkQ2FuY2VsRnJhbWUoKTsKKwogICAg
IHN0YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIAogICAgIEludGVybmFsU2V0dGluZ3Mq
IHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5nZXQoKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGNmYmUzOTBiNmNkMmY1N2ZiOTI3ZTFiZjdhYzVi
YmQ2MDkyMmQ5MDcuLmQ5ODU2YWQwMjVlNThiOTlhOTEwMjU0ZDU2MDI2YThhYTMyOWUzMzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTk2LDYgKzk2LDcgQEAgbW9kdWxl
IHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChpbiBEb2N1
bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGtpbmQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFp
c2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBib29sZWFuIHNob3VsZERpc3BsYXlUcmFja0tp
bmQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyB0cmFja0tpbmQpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKICNlbmRpZgorCiAgICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tXSBBcnJh
eSB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzOwogCiAgICAgICAgIHVuc2lnbmVkIGxvbmcgd2hlZWxF
dmVudEhhbmRsZXJDb3VudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwpAQCAtMTA1LDYgKzEwNiw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICAgICAgaW4g
dW5zaWduZWQgbG9uZyB0b3BQYWRkaW5nLCBpbiB1bnNpZ25lZCBsb25nIHJpZ2h0UGFkZGluZywg
aW4gdW5zaWduZWQgbG9uZyBib3R0b21QYWRkaW5nLCBpbiB1bnNpZ25lZCBsb25nIGxlZnRQYWRk
aW5nLAogICAgICAgICAgICAgaW4gYm9vbGVhbiBpZ25vcmVDbGlwcGluZykgcmFpc2VzIChET01F
eGNlcHRpb24pOwogCisgICAgICAgIHZvaWQgZW1pdEluc3BlY3RvckRpZEJlZ2luRnJhbWUoKTsK
KyAgICAgICAgdm9pZCBlbWl0SW5zcGVjdG9yRGlkQ2FuY2VsRnJhbWUoKTsKKwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgSW50ZXJuYWxTZXR0aW5ncyBzZXR0aW5nczsKICAgICB9OwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaAppbmRleCBlOTcxMmQ3NDNj
M2UyNDBkZDU1ODUxMDhmYzNhNTRkZDA1YzQwNTg3Li5hZmNlNmFlNjIwZWNkZTk1ZGE1OTc3Njdk
OTY0ODc2N2EyMThlYjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJXaWRnZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRn
ZXQuaApAQCAtMTk1LDYgKzE5NSw5IEBAIHB1YmxpYzoKICAgICAvLyBJbnN0cnVtZW50YXRpb24g
bWV0aG9kIHRoYXQgbWFya3MgYmVnaW5uaW5nIG9mIGZyYW1lIHVwZGF0ZSB0aGF0IGluY2x1ZGVz
CiAgICAgLy8gdGhpbmdzIGxpa2UgYW5pbWF0ZSgpL2xheW91dCgpL3BhaW50KCkvY29tcG9zaXRl
KCkuCiAgICAgdmlydHVhbCB2b2lkIGluc3RydW1lbnRCZWdpbkZyYW1lKCkgeyB9CisgICAgLy8g
Q2FuY2VscyB0aGUgZWZmZWN0IG9mIGluc3RydW1lbnRCZWdpbkZyYW1lKCkgaW4gY2FzZSB0aGVy
ZSB3ZXJlIG5vIGV2ZW50cworICAgIC8vIGZvbGxvd2luZyB0aGUgY2FsbCB0byBpbnN0cnVtZW50
QmVnaW5GcmFtZSgpLgorICAgIHZpcnR1YWwgdm9pZCBpbnN0cnVtZW50Q2FuY2VsRnJhbWUoKSB7
IH0KIAogcHJvdGVjdGVkOgogICAgIH5XZWJXaWRnZXQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAyMGUyZTRlZjMxM2NmNzMyNWYyNTJiODQ2
NTFmODYwNjg0OWFiYWEzLi44Y2UzNTY1MGE2NmRkMGI2YjcyODdjNjFiN2U4NTlkY2IxY2YzNjM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xMjUw
LDYgKzEyNTAsMTEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6aW5zdHJ1bWVudEJlZ2luRnJhbWUoKQog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZShtX3BhZ2UuZ2V0KCkp
OwogfQogCit2b2lkIFdlYlZpZXdJbXBsOjppbnN0cnVtZW50Q2FuY2VsRnJhbWUoKQoreworICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FuY2VsRnJhbWUobV9wYWdlLmdldCgpKTsK
K30KKwogdm9pZCBXZWJWaWV3SW1wbDo6YW5pbWF0ZShkb3VibGUgZnJhbWVCZWdpblRpbWUpCiB7
CiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMzgxOWVjYjY1NTQxZTFkNTNkYTA4NjgxZDI2NjA4
YmRjMzY1ZWE1Yi4uZmY1ODE4YmRjM2UxZDc5M2ViMWQwNDQyNmMyMjUzYWU1ODNkYmRiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xNDAsNiArMTQwLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRMb3NlUG9pbnRlckxvY2soKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlV2luZG93UmVzaXplclJlY3QoKTsKICAgICB2aXJ0dWFsIHZv
aWQgaW5zdHJ1bWVudEJlZ2luRnJhbWUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zdHJ1bWVudENh
bmNlbEZyYW1lKCk7CiAKICAgICAvLyBXZWJWaWV3IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lk
IGluaXRpYWxpemVNYWluRnJhbWUoV2ViRnJhbWVDbGllbnQqKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNWM3Nzc2NTEz
MDJmYWRjNTQxNDM1NzY1M2Y4NzdjZmIzNzNiNjFmLi40OGJkZGI5MjdiM2VhMjQxODgzZjY4YmJl
YjYwOTcxZDE1ODYwYTE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDMtMTQgIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBhZGQgZGlkQ2FuY2VsRnJhbWUgdGltZWxpbmUgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBhZGQgYW4gYWJpbGl0eSB0byBjYW5jZWwgY2Vy
dGFpbiB0aW1lbGluZSBldmVudHMsIHVubGVzcyB0aGV5J3ZlIGJlZW4gZm9sbG93ZWQgYnkgb3Ro
ZXIgZXZlbnRzLgorICAgICAgICAtIGltcGxlbWVudCBkaWRDYW5jZWxGcmFtZSgpIGV2ZW50LCBm
aXJlZCB3aGVuIGEgcGxhdGZvcm0gZGVjaWRlcyBub3QgdG8gcmVuZGVyIGZyYW1lIGFmdGVyIGRp
ZEJlZ2luRnJhbWUoKSB3YXMgY2FsbGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1mcmFtZXMuaHRtbDogQWRkZWQuCisKIDIwMTItMDMtMTQgIFBo
aWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIEdUSyByZWJhc2VsaW5lIGFmdGVyIHIxMTA2NjcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1mcmFtZXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM5ZjQ4ZTkyZTQwYjkyYzJlYTBiMTA1ZDQwN2JhNGE5NmU3MTgxZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZnJh
bWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3RzIHJlcG9ydGluZyBhbmQgY2Fu
Y2VsaW5nIG9mIGRpZEJlZ2luRnJhbWUgZXZlbnRzIGluIFRpbWVsaW5lCisKK0JlZ2luRnJhbWUK
K1RpbWVTdGFtcCA6IEZSQU1FIDEKK0JlZ2luRnJhbWUKK1RpbWVTdGFtcCA6IEZSQU1FIDIKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWZyYW1l
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWZyYW1lcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNjMWRjMTZkMzgzN2Y2MTRkNmUxNDU5MDQ5M2Y3NDYxNjkyNGVhY2YK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtZnJhbWVzLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0idGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCit7CisgICAgd2luZG93LmludGVybmFscy5lbWl0
SW5zcGVjdG9yRGlkQmVnaW5GcmFtZSgpOworICAgIGNvbnNvbGUudGltZVN0YW1wKCJGUkFNRSAx
Iik7CisKKyAgICB3aW5kb3cuaW50ZXJuYWxzLmVtaXRJbnNwZWN0b3JEaWRCZWdpbkZyYW1lKCk7
CisgICAgd2luZG93LmludGVybmFscy5lbWl0SW5zcGVjdG9yRGlkQ2FuY2VsRnJhbWUoKTsKKwor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuZW1pdEluc3BlY3RvckRpZEJlZ2luRnJhbWUoKTsKKyAgICBj
b25zb2xlLnRpbWVTdGFtcCgiRlJBTUUgMiIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuZW1pdElu
c3BlY3RvckRpZENhbmNlbEZyYW1lKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1
bmN0aW9uIGZvcm1hdFJlY29yZChyZWNvcmQpCisgICAgeworICAgICAgICBpZiAocmVjb3JkLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuVGltZVN0YW1wIHx8
CisgICAgICAgICAgICByZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
UmVjb3JkVHlwZS5CZWdpbkZyYW1lKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBU
aW1lbGluZVJlY29yZChyZWNvcmQpOworICAgICAgICB9CisgICAgfQorCisgICAgSW5zcGVjdG9y
VGVzdC5zdGFydFRpbWVsaW5lKGZ1bmN0aW9uKCkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIiwgc3RlcDIpOworICAgIH0pOworCisgICAg
ZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxp
bmUoZmluaXNoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBmaW5pc2goKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcyhudWxsLCBmb3JtYXRSZWNvcmQp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMg
cmVwb3J0aW5nIGFuZCBjYW5jZWxpbmcgb2YgZGlkQmVnaW5GcmFtZSBldmVudHMgaW4gVGltZWxp
bmUKKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="135249"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="135255"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>