<?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>35526</bug_id>
          
          <creation_ts>2010-03-01 05:03:00 -0800</creation_ts>
          <short_desc>[V8] V8 should be notified of context disposals</short_desc>
          <delta_ts>2010-03-02 12:48:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Mads Ager">ager</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>pfeldman</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>194692</commentid>
    <comment_count>0</comment_count>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-03-01 05:03:00 -0800</bug_when>
    <thetext>We should notify V8 of context disposals to give V8 a chance to cleanup memory from those contexts when idle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194693</commentid>
    <comment_count>1</comment_count>
      <attachid>49721</attachid>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-03-01 05:12:40 -0800</bug_when>
    <thetext>Created attachment 49721
Notify V8 of context disposals to allow it to clean up when idle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194694</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-01 05:18:15 -0800</bug_when>
    <thetext>Attachment 49721 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/320004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194699</commentid>
    <comment_count>3</comment_count>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-03-01 05:37:56 -0800</bug_when>
    <thetext>This builds fine on tip of tree Chromium.  The V8 version was rolled today with the new interface this is using.  Which version of V8 is used for the chromium build here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194707</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-03-01 08:04:21 -0800</bug_when>
    <thetext>The one specified in http://trac.webkit.org/browser/trunk/WebKit/chromium/DEPS

(Note that the EWS doesn&apos;t understand how to test patches that update this file, but it understands how to update V8 when the file actually changes in SVN.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194709</commentid>
    <comment_count>5</comment_count>
      <attachid>49721</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-03-01 08:07:40 -0800</bug_when>
    <thetext>Comment on attachment 49721
Notify V8 of context disposals to allow it to clean up when idle.

Please put V8GCForContextDispose in its own file (one class per file).  Also, please update the DEPS file above so we can keep building upstream.

How much power does this idle spin eat?

Other than that, looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194710</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-03-01 08:08:47 -0800</bug_when>
    <thetext>&gt; How much power does this idle spin eat?

Oops.  Never mind.  I see that this doesn&apos;t spin now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194713</commentid>
    <comment_count>7</comment_count>
      <attachid>49721</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-03-01 08:26:08 -0800</bug_when>
    <thetext>Comment on attachment 49721
Notify V8 of context disposals to allow it to clean up when idle.

Please address the comments above, but we don&apos;t need to review the updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195000</commentid>
    <comment_count>8</comment_count>
      <attachid>49794</attachid>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-03-02 02:53:46 -0800</bug_when>
    <thetext>Created attachment 49794
Update patch to add context disposal notifications for V8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195001</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-02 03:00:45 -0800</bug_when>
    <thetext>Attachment 49794 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/bindings/v8/V8GCForContextDispose.h:39:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
WebCore/bindings/v8/V8GCForContextDispose.cpp:72:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195005</commentid>
    <comment_count>10</comment_count>
      <attachid>49797</attachid>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-03-02 03:05:41 -0800</bug_when>
    <thetext>Created attachment 49797
Same patch but with fixed style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195176</commentid>
    <comment_count>11</comment_count>
      <attachid>49797</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-02 12:48:27 -0800</bug_when>
    <thetext>Comment on attachment 49797
Same patch but with fixed style.

Clearing flags on attachment: 49797

Committed r55424: &lt;http://trac.webkit.org/changeset/55424&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195177</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-02 12:48:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49721</attachid>
            <date>2010-03-01 05:12:40 -0800</date>
            <delta_ts>2010-03-02 02:53:46 -0800</delta_ts>
            <desc>Notify V8 of context disposals to allow it to clean up when idle.</desc>
            <filename>context-dispose.txt</filename>
            <type>text/plain</type>
            <size>5263</size>
            <attacher name="Mads Ager">ager</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTM2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDMtMDEgIE1hZHMgQWdlciAgPGFnZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtWOF0g
Vjggc2hvdWxkIGJlIG5vdGlmaWVkIG9mIGNvbnRleHQgZGlzcG9zYWxzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTUyNgorCisgICAgICAgIE5vdGlm
eSBWOCBvZiBjb250ZXh0IGRpc3Bvc2FscyB0byBhbGxvdyBpdCB0byBjbGVhbiB1cCBtZW1vcnkg
ZnJvbSB0aG9zZQorICAgICAgICBjb250ZXh0cyB3aGVuIGlkbGUuICBXaGVuIGRpc3Bvc2luZyBh
IGNvbnRleHQsIHN0YXJ0IGEgdGltZXIgdGhhdCB3aWxsCisgICAgICAgIGdpdmUgVjggYW4gaWRs
ZSBub3RpZmljYXRpb24gYWZ0ZXIgYSB3aGlsZSB0byBmb3JjZSBjbGVhbnVwLiAgVXNlIGEgdGlt
ZXIKKyAgICAgICAgdG8gYXZvaWQgcGVyZm9ybWluZyBhbiBpZGxlIG5vdGlmaWNhdGlvbiBpbiB0
aGUgbWlkZGxlIG9mIG5hdmlnYXRpb24gd2hlcmUKKyAgICAgICAgd2Uga25vdyB3ZSBhcmUgbm90
IGlkbGUuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hlbGw6OmRpc3Bvc2VDb250ZXh0SGFuZGxlcyk6
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlOjpWOEdDRm9yQ29udGV4dERpc3Bvc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlOjpub3RpZnlDb250ZXh0RGlzcG9z
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlOjpub3RpZnlJZGxl
U29vbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4R0NGb3JDb250ZXh0RGlzcG9zZTo6aW5zdGFu
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlOjpwc2V1ZG9JZGxl
VGltZXJGaXJlZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2luZG93U2V0VGltZW91dEltcGwpOgorCiAyMDEwLTAyLTI3ICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRp
bW90aHkgSGF0Y2hlci4KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxs
LmNwcAkocmV2aXNpb24gNTUzNjUpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93
U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsNiArMTUwLDExIEBAIHZvaWQgVjhET01X
aW5kb3dTaGVsbDo6ZGlzcG9zZUNvbnRleHRIYW4KICAgICAgICAgbV9mcmFtZS0+bG9hZGVyKCkt
PmNsaWVudCgpLT5kaWREZXN0cm95U2NyaXB0Q29udGV4dEZvckZyYW1lKCk7CiAgICAgICAgIG1f
Y29udGV4dC5EaXNwb3NlKCk7CiAgICAgICAgIG1fY29udGV4dC5DbGVhcigpOworCisgICAgICAg
IC8vIEl0J3MgbGlrZWx5IHRoYXQgZGlzcG9zaW5nIHRoZSBjb250ZXh0IGhhcyBjcmVhdGVkIGEg
bG90IG9mCisgICAgICAgIC8vIGdhcmJhZ2UuIE5vdGlmeSBWOCBhYm91dCB0aGlzIHNvIGl0J2xs
IGhhdmUgYSBjaGFuY2Ugb2YgY2xlYW5pbmcKKyAgICAgICAgLy8gaXQgdXAgd2hlbiBpZGxlLgor
ICAgICAgICBWOEdDRm9yQ29udGV4dERpc3Bvc2U6Omluc3RhbmNlKCkubm90aWZ5Q29udGV4dERp
c3Bvc2VkKCk7CiAgICAgfQogCiAgICAgaWYgKCFtX3dyYXBwZXJCb2lsZXJwbGF0ZXMuSXNFbXB0
eSgpKSB7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAkocmV2aXNp
b24gNTUzNjUpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDUxLDQgKzQ1MSwzOCBAQCB2b2lkIFY4R0NDb250cm9sbGVyOjpjaGVj
a01lbW9yeVVzYWdlKCkKIH0KIAogCitWOEdDRm9yQ29udGV4dERpc3Bvc2U6OlY4R0NGb3JDb250
ZXh0RGlzcG9zZSgpCisgICAgOiBtX3BzZXVkb0lkbGVUaW1lcih0aGlzLCAmVjhHQ0ZvckNvbnRl
eHREaXNwb3NlOjpwc2V1ZG9JZGxlVGltZXJGaXJlZCkKK3sKK30KKwordm9pZCBWOEdDRm9yQ29u
dGV4dERpc3Bvc2U6Om5vdGlmeUNvbnRleHREaXNwb3NlZCgpCit7CisgICAgdjg6OlY4OjpDb250
ZXh0RGlzcG9zZWROb3RpZmljYXRpb24oKTsKKyAgICBpZiAoIW1fcHNldWRvSWRsZVRpbWVyLmlz
QWN0aXZlKCkpCisgICAgICAgIG1fcHNldWRvSWRsZVRpbWVyLnN0YXJ0T25lU2hvdCgwLjgpOwor
fQorCit2b2lkIFY4R0NGb3JDb250ZXh0RGlzcG9zZTo6bm90aWZ5SWRsZVNvb25lcihkb3VibGUg
bWF4aW11bUZpcmVJbnRlcnZhbCkKK3sKKyAgICBpZiAobV9wc2V1ZG9JZGxlVGltZXIuaXNBY3Rp
dmUoKSkgeworICAgICAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCA9IG1fcHNldWRvSWRsZVRp
bWVyLm5leHRGaXJlSW50ZXJ2YWwoKTsKKyAgICAgICAgaWYgKG5leHRGaXJlSW50ZXJ2YWwgPiBt
YXhpbXVtRmlyZUludGVydmFsKSB7CisgICAgICAgICAgICBtX3BzZXVkb0lkbGVUaW1lci5zdG9w
KCk7CisgICAgICAgICAgICBtX3BzZXVkb0lkbGVUaW1lci5zdGFydE9uZVNob3QobWF4aW11bUZp
cmVJbnRlcnZhbCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK1Y4R0NGb3JDb250ZXh0RGlzcG9z
ZSYgVjhHQ0ZvckNvbnRleHREaXNwb3NlOjppbnN0YW5jZSgpCit7CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChWOEdDRm9yQ29udGV4dERpc3Bvc2UsIHN0YXRpY0luc3RhbmNlLCAoKSk7CisgICAg
cmV0dXJuIHN0YXRpY0luc3RhbmNlOworfQorCit2b2lkIFY4R0NGb3JDb250ZXh0RGlzcG9zZTo6
cHNldWRvSWRsZVRpbWVyRmlyZWQoVGltZXI8VjhHQ0ZvckNvbnRleHREaXNwb3NlPiopCit7Cisg
ICAgdjg6OlY4OjpJZGxlTm90aWZpY2F0aW9uKCk7Cit9CisKIH0gIC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5oCShyZXZpc2lvbiA1NTM2
NSkKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtMzEsOCArMzEsMTAgQEAKICNpZm5kZWYgVjhHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBW
OEdDQ29udHJvbGxlcl9oCiAKKyNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHY4Lmg+CiAK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWZuZGVmIE5ERUJVRwpAQCAtODYsNiArODgsMjAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgaW50IHdvcmtpbmdTZXRFc3Rp
bWF0ZU1COwogICAgIH07CiAKKyAgICBjbGFzcyBWOEdDRm9yQ29udGV4dERpc3Bvc2UgeworICAg
IHB1YmxpYzoKKyAgICAgICAgdm9pZCBub3RpZnlDb250ZXh0RGlzcG9zZWQoKTsKKyAgICAgICAg
dm9pZCBub3RpZnlJZGxlU29vbmVyKGRvdWJsZSBtYXhpbXVtRmlyZUludGVydmFsKTsKKworICAg
ICAgICBzdGF0aWMgVjhHQ0ZvckNvbnRleHREaXNwb3NlJiBpbnN0YW5jZSgpOworCisgICAgcHJp
dmF0ZToKKyAgICAgICAgVjhHQ0ZvckNvbnRleHREaXNwb3NlKCk7IC8vIFVzZSBpbnN0YW5jZSgp
IGluc3RlYWQuCisgICAgICAgIHZvaWQgcHNldWRvSWRsZVRpbWVyRmlyZWQoVGltZXI8VjhHQ0Zv
ckNvbnRleHREaXNwb3NlPiopOworCisgICAgICAgIFRpbWVyPFY4R0NGb3JDb250ZXh0RGlzcG9z
ZT4gbV9wc2V1ZG9JZGxlVGltZXI7CisgICAgfTsKKwogfQogCiAjZW5kaWYgLy8gVjhHQ0NvbnRy
b2xsZXJfaApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2lu
ZG93Q3VzdG9tLmNwcAkocmV2aXNpb24gNTUzNjUpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUs
MTMgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdpbmRvd1NldFRpbWVvdXRJbQogICAgICAgICBp
ZCA9IERPTVRpbWVyOjppbnN0YWxsKHNjcmlwdENvbnRleHQsIG5ldyBTY2hlZHVsZWRBY3Rpb24o
VjhQcm94eTo6Y29udGV4dChpbXAtPmZyYW1lKCkpLCBmdW5jdGlvblN0cmluZyksIHRpbWVvdXQs
IHNpbmdsZVNob3QpOwogICAgIH0KIAorICAgIC8vIFRyeSB0byBkbyB0aGUgaWRsZSBub3RpZmlj
YXRpb24gYmVmb3JlIHRoZSB0aW1lb3V0IGV4cGlyZXMgdG8gZ2V0IGJldHRlcgorICAgIC8vIHVz
ZSBvZiBhbnkgaWRsZSB0aW1lLiBBaW0gZm9yIHRoZSBtaWRkbGUgb2YgdGhlIGludGVydmFsIGZv
ciBzaW1wbGljaXR5LgorICAgIGlmICh0aW1lb3V0ID4gMCkgeworICAgICAgICBkb3VibGUgbWF4
aW11bUZpcmVJbnRlcnZhbCA9IHN0YXRpY19jYXN0PGRvdWJsZT4odGltZW91dCkgLyAxMDAwIC8g
MjsKKyAgICAgICAgVjhHQ0ZvckNvbnRleHREaXNwb3NlOjppbnN0YW5jZSgpLm5vdGlmeUlkbGVT
b29uZXIobWF4aW11bUZpcmVJbnRlcnZhbCk7CisgICAgfQorCiAgICAgcmV0dXJuIHY4OjpJbnRl
Z2VyOjpOZXcoaWQpOwogfQogCg==
</data>
<flag name="review"
          id="32665"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="32670"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49794</attachid>
            <date>2010-03-02 02:53:46 -0800</date>
            <delta_ts>2010-03-02 03:05:41 -0800</delta_ts>
            <desc>Update patch to add context disposal notifications for V8.</desc>
            <filename>context-dispose.txt</filename>
            <type>text/plain</type>
            <size>10522</size>
            <attacher name="Mads Ager">ager</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQwNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMtMDIgIE1hZHMgQWdlciAgPGFnZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgW1Y4XSBWOCBz
aG91bGQgYmUgbm90aWZpZWQgb2YgY29udGV4dCBkaXNwb3NhbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NTI2CisKKyAgICAgICAgTm90aWZ5IFY4
IG9mIGNvbnRleHQgZGlzcG9zYWxzIHRvIGFsbG93IGl0IHRvIGNsZWFuIHVwIG1lbW9yeSBmcm9t
IHRob3NlCisgICAgICAgIGNvbnRleHRzIHdoZW4gaWRsZS4gIFdoZW4gZGlzcG9zaW5nIGEgY29u
dGV4dCwgc3RhcnQgYSB0aW1lciB0aGF0IHdpbGwKKyAgICAgICAgZ2l2ZSBWOCBhbiBpZGxlIG5v
dGlmaWNhdGlvbiBhZnRlciBhIHdoaWxlIHRvIGZvcmNlIGNsZWFudXAuICBVc2UgYSB0aW1lcgor
ICAgICAgICB0byBhdm9pZCBwZXJmb3JtaW5nIGFuIGlkbGUgbm90aWZpY2F0aW9uIGluIHRoZSBt
aWRkbGUgb2YgbmF2aWdhdGlvbiB3aGVyZQorICAgICAgICB3ZSBrbm93IHdlIGFyZSBub3QgaWRs
ZS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERP
TVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hlbGw6OmRp
c3Bvc2VDb250ZXh0SGFuZGxlcyk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0ZvckNvbnRl
eHREaXNwb3NlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOEdDRm9yQ29udGV4dERp
c3Bvc2U6OlY4R0NGb3JDb250ZXh0RGlzcG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpWOEdDRm9y
Q29udGV4dERpc3Bvc2U6Om5vdGlmeUNvbnRleHREaXNwb3NlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpWOEdDRm9yQ29udGV4dERpc3Bvc2U6Om5vdGlmeUlkbGVTb29uZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlOjppbnN0YW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpWOEdDRm9yQ29udGV4dERpc3Bvc2U6OnBzZXVkb0lkbGVUaW1lckZpcmVkKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2UuaDogQWRkZWQuCisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldpbmRvd1NldFRpbWVvdXRJbXBsKToKKwogMjAxMC0wMS0yOCAgSG9sZ2VyIEhhbnMgUGV0
ZXIgRnJleXRoZXIgIDx6ZWNrZUBzZWxmaXNoLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
cml5YSBIaWRheWF0LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDU1Mzk5KQorKysgV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTg1Nyw2ICs4NTcsOCBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvVjhHQ0NvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEdDQ29u
dHJvbGxlci5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bv
c2UuY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2Uu
aCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhIZWxwZXJzLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvVjhIZWxwZXJzLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4
SGlkZGVuUHJvcGVydHlOYW1lLmNwcCcsCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01X
aW5kb3dTaGVsbC5jcHAJKHJldmlzaW9uIDU1Mzk5KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdpbmRvd1NoZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQAogI2lu
Y2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3cuaCIKICNpbmNsdWRlICJW
OERvY3VtZW50LmgiCisjaW5jbHVkZSAiVjhHQ0ZvckNvbnRleHREaXNwb3NlLmgiCiAjaW5jbHVk
ZSAiVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOEhpc3RvcnkuaCIKICNpbmNs
dWRlICJWOEluZGV4LmgiCkBAIC0xNTAsNiArMTUxLDExIEBAIHZvaWQgVjhET01XaW5kb3dTaGVs
bDo6ZGlzcG9zZUNvbnRleHRIYW4KICAgICAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgp
LT5kaWREZXN0cm95U2NyaXB0Q29udGV4dEZvckZyYW1lKCk7CiAgICAgICAgIG1fY29udGV4dC5E
aXNwb3NlKCk7CiAgICAgICAgIG1fY29udGV4dC5DbGVhcigpOworCisgICAgICAgIC8vIEl0J3Mg
bGlrZWx5IHRoYXQgZGlzcG9zaW5nIHRoZSBjb250ZXh0IGhhcyBjcmVhdGVkIGEgbG90IG9mCisg
ICAgICAgIC8vIGdhcmJhZ2UuIE5vdGlmeSBWOCBhYm91dCB0aGlzIHNvIGl0J2xsIGhhdmUgYSBj
aGFuY2Ugb2YgY2xlYW5pbmcKKyAgICAgICAgLy8gaXQgdXAgd2hlbiBpZGxlLgorICAgICAgICBW
OEdDRm9yQ29udGV4dERpc3Bvc2U6Omluc3RhbmNlKCkubm90aWZ5Q29udGV4dERpc3Bvc2VkKCk7
CiAgICAgfQogCiAgICAgaWYgKCFtX3dyYXBwZXJCb2lsZXJwbGF0ZXMuSXNFbXB0eSgpKSB7Cklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NGb3JDb250ZXh0RGlzcG9zZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2UuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2Uu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICogCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlY4R0NGb3JDb250ZXh0RGlzcG9zZS5oIgorCisjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Y4R0NGb3JDb250ZXh0RGlzcG9z
ZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlKCkKKyAgICA6IG1fcHNldWRvSWRsZVRpbWVyKHRoaXMs
ICZWOEdDRm9yQ29udGV4dERpc3Bvc2U6OnBzZXVkb0lkbGVUaW1lckZpcmVkKQoreworfQorCit2
b2lkIFY4R0NGb3JDb250ZXh0RGlzcG9zZTo6bm90aWZ5Q29udGV4dERpc3Bvc2VkKCkKK3sKKyAg
ICB2ODo6Vjg6OkNvbnRleHREaXNwb3NlZE5vdGlmaWNhdGlvbigpOworICAgIGlmICghbV9wc2V1
ZG9JZGxlVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9wc2V1ZG9JZGxlVGltZXIuc3RhcnRP
bmVTaG90KDAuOCk7Cit9CisKK3ZvaWQgVjhHQ0ZvckNvbnRleHREaXNwb3NlOjpub3RpZnlJZGxl
U29vbmVyKGRvdWJsZSBtYXhpbXVtRmlyZUludGVydmFsKQoreworICAgIGlmIChtX3BzZXVkb0lk
bGVUaW1lci5pc0FjdGl2ZSgpKSB7CisgICAgICAgIGRvdWJsZSBuZXh0RmlyZUludGVydmFsID0g
bV9wc2V1ZG9JZGxlVGltZXIubmV4dEZpcmVJbnRlcnZhbCgpOworICAgICAgICBpZiAobmV4dEZp
cmVJbnRlcnZhbCA+IG1heGltdW1GaXJlSW50ZXJ2YWwpIHsKKyAgICAgICAgICAgIG1fcHNldWRv
SWRsZVRpbWVyLnN0b3AoKTsKKyAgICAgICAgICAgIG1fcHNldWRvSWRsZVRpbWVyLnN0YXJ0T25l
U2hvdChtYXhpbXVtRmlyZUludGVydmFsKTsKKyAgICAgICAgfQorICAgIH0KK30KKworVjhHQ0Zv
ckNvbnRleHREaXNwb3NlJiBWOEdDRm9yQ29udGV4dERpc3Bvc2U6Omluc3RhbmNlKCkKK3sKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFY4R0NGb3JDb250ZXh0RGlzcG9zZSwgc3RhdGljSW5zdGFu
Y2UsICgpKTsKKyAgICByZXR1cm4gc3RhdGljSW5zdGFuY2U7Cit9CisKK3ZvaWQgVjhHQ0ZvckNv
bnRleHREaXNwb3NlOjpwc2V1ZG9JZGxlVGltZXJGaXJlZChUaW1lcjxWOEdDRm9yQ29udGV4dERp
c3Bvc2U+KikKK3sKKyAgICB2ODo6Vjg6OklkbGVOb3RpZmljYXRpb24oKTsKK30KKworfSAgLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0ZvckNvbnRl
eHREaXNwb3NlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDRm9yQ29u
dGV4dERpc3Bvc2UuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0Zv
ckNvbnRleHREaXNwb3NlLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKiAKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFY4R0NGb3JDb250ZXh0RGlzcG9zZV9oCisjZGVmaW5lIFY4R0NGb3JDb250ZXh0RGlzcG9zZV9o
CisKKyNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworICAgIGNsYXNzIFY4R0NGb3JDb250ZXh0RGlzcG9zZSB7CisgICAgcHVibGljOgor
ICAgICAgICB2b2lkIG5vdGlmeUNvbnRleHREaXNwb3NlZCgpOworICAgICAgICB2b2lkIG5vdGlm
eUlkbGVTb29uZXIoZG91YmxlIG1heGltdW1GaXJlSW50ZXJ2YWwpOworCisgICAgICAgIHN0YXRp
YyBWOEdDRm9yQ29udGV4dERpc3Bvc2UmIGluc3RhbmNlKCk7CisKKyAgICBwcml2YXRlOgorICAg
ICAgICBWOEdDRm9yQ29udGV4dERpc3Bvc2UoKTsgLy8gVXNlIGluc3RhbmNlKCkgaW5zdGVhZC4K
KyAgICAgICAgdm9pZCBwc2V1ZG9JZGxlVGltZXJGaXJlZChUaW1lcjxWOEdDRm9yQ29udGV4dERp
c3Bvc2U+Kik7CisKKyAgICAgICAgVGltZXI8VjhHQ0ZvckNvbnRleHREaXNwb3NlPiBtX3BzZXVk
b0lkbGVUaW1lcjsKKyAgICB9OworCit9CisKKyNlbmRpZiAvLyBWOEdDRm9yQ29udGV4dERpc3Bv
c2VfaApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93
Q3VzdG9tLmNwcAkocmV2aXNpb24gNTUzOTkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAK
ICNpbmNsdWRlICJWOEJpbmRpbmdET01XaW5kb3cuaCIKICNpbmNsdWRlICJWOEJpbmRpbmdTdGF0
ZS5oIgogI2luY2x1ZGUgIlY4Q3VzdG9tRXZlbnRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIlY4R0NG
b3JDb250ZXh0RGlzcG9zZS5oIgogI2luY2x1ZGUgIlY4SFRNTENvbGxlY3Rpb24uaCIKICNpbmNs
dWRlICJWOE1lc3NhZ2VQb3J0Q3VzdG9tLmgiCiAjaW5jbHVkZSAiVjhOb2RlLmgiCkBAIC0xMzUs
NiArMTM2LDEzIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBXaW5kb3dTZXRUaW1lb3V0SW0KICAg
ICAgICAgaWQgPSBET01UaW1lcjo6aW5zdGFsbChzY3JpcHRDb250ZXh0LCBuZXcgU2NoZWR1bGVk
QWN0aW9uKFY4UHJveHk6OmNvbnRleHQoaW1wLT5mcmFtZSgpKSwgZnVuY3Rpb25TdHJpbmcpLCB0
aW1lb3V0LCBzaW5nbGVTaG90KTsKICAgICB9CiAKKyAgICAvLyBUcnkgdG8gZG8gdGhlIGlkbGUg
bm90aWZpY2F0aW9uIGJlZm9yZSB0aGUgdGltZW91dCBleHBpcmVzIHRvIGdldCBiZXR0ZXIKKyAg
ICAvLyB1c2Ugb2YgYW55IGlkbGUgdGltZS4gQWltIGZvciB0aGUgbWlkZGxlIG9mIHRoZSBpbnRl
cnZhbCBmb3Igc2ltcGxpY2l0eS4KKyAgICBpZiAodGltZW91dCA+IDApIHsKKyAgICAgICAgZG91
YmxlIG1heGltdW1GaXJlSW50ZXJ2YWwgPSBzdGF0aWNfY2FzdDxkb3VibGU+KHRpbWVvdXQpIC8g
MTAwMCAvIDI7CisgICAgICAgIFY4R0NGb3JDb250ZXh0RGlzcG9zZTo6aW5zdGFuY2UoKS5ub3Rp
ZnlJZGxlU29vbmVyKG1heGltdW1GaXJlSW50ZXJ2YWwpOworICAgIH0KKwogICAgIHJldHVybiB2
ODo6SW50ZWdlcjo6TmV3KGlkKTsKIH0KIApJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1NTQw
NikKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMC0wMy0wMiAgTWFkcyBBZ2VyICA8YWdlckBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBbVjhdIFY4IHNob3VsZCBi
ZSBub3RpZmllZCBvZiBjb250ZXh0IGRpc3Bvc2FscworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU1MjYKKworICAgICAgICBVcGRhdGUgVjggREVQUyBp
biBvcmRlciB0byBnZXQgVjggQVBJIGNoYW5nZXMgbmVlZGVkIGZvciBjb250ZXh0CisgICAgICAg
IGRpc3Bvc2FsIG5vdGlmaWNhdGlvbnMuCisKKyAgICAgICAgKiBERVBTOgorCiAyMDEwLTAzLTAx
ICBKYWtvYiBQZXRzb3ZpdHMgIDxqcGV0c292aXRzQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9ERVBTCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9ERVBTCShyZXZpc2lvbiA1NTM5OSkKKysrIFdlYktpdC9jaHJv
bWl1bS9ERVBTCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIHZhcnMgPSB7CiAgICdv
cGVudmNkaWZmX3Jldic6ICcyOCcsCiAgICdvdHNfcmV2JzogJzI2JywKICAgJ3NraWFfcmV2Jzog
JzQ5MCcsCi0gICd2OF9yZXYnOiAnMzk2MycsCisgICd2OF9yZXYnOiAnMzk4NScsCiAKICAgIyBX
aW5kb3dzOgogICAnY3lnd2luX3Jldic6ICcxMTk4NCcsCg==
</data>
<flag name="review"
          id="32770"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="32771"
          type_id="3"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49797</attachid>
            <date>2010-03-02 03:05:41 -0800</date>
            <delta_ts>2010-03-02 12:48:27 -0800</delta_ts>
            <desc>Same patch but with fixed style.</desc>
            <filename>context-dispose.txt</filename>
            <type>text/plain</type>
            <size>10481</size>
            <attacher name="Mads Ager">ager</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQwNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMtMDIgIE1hZHMgQWdlciAgPGFnZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgW1Y4XSBWOCBz
aG91bGQgYmUgbm90aWZpZWQgb2YgY29udGV4dCBkaXNwb3NhbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NTI2CisKKyAgICAgICAgTm90aWZ5IFY4
IG9mIGNvbnRleHQgZGlzcG9zYWxzIHRvIGFsbG93IGl0IHRvIGNsZWFuIHVwIG1lbW9yeSBmcm9t
IHRob3NlCisgICAgICAgIGNvbnRleHRzIHdoZW4gaWRsZS4gIFdoZW4gZGlzcG9zaW5nIGEgY29u
dGV4dCwgc3RhcnQgYSB0aW1lciB0aGF0IHdpbGwKKyAgICAgICAgZ2l2ZSBWOCBhbiBpZGxlIG5v
dGlmaWNhdGlvbiBhZnRlciBhIHdoaWxlIHRvIGZvcmNlIGNsZWFudXAuICBVc2UgYSB0aW1lcgor
ICAgICAgICB0byBhdm9pZCBwZXJmb3JtaW5nIGFuIGlkbGUgbm90aWZpY2F0aW9uIGluIHRoZSBt
aWRkbGUgb2YgbmF2aWdhdGlvbiB3aGVyZQorICAgICAgICB3ZSBrbm93IHdlIGFyZSBub3QgaWRs
ZS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERP
TVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hlbGw6OmRp
c3Bvc2VDb250ZXh0SGFuZGxlcyk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0ZvckNvbnRl
eHREaXNwb3NlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOEdDRm9yQ29udGV4dERp
c3Bvc2U6OlY4R0NGb3JDb250ZXh0RGlzcG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpWOEdDRm9y
Q29udGV4dERpc3Bvc2U6Om5vdGlmeUNvbnRleHREaXNwb3NlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpWOEdDRm9yQ29udGV4dERpc3Bvc2U6Om5vdGlmeUlkbGVTb29uZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlOjppbnN0YW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpWOEdDRm9yQ29udGV4dERpc3Bvc2U6OnBzZXVkb0lkbGVUaW1lckZpcmVkKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2UuaDogQWRkZWQuCisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldpbmRvd1NldFRpbWVvdXRJbXBsKToKKwogMjAxMC0wMS0yOCAgSG9sZ2VyIEhhbnMgUGV0
ZXIgRnJleXRoZXIgIDx6ZWNrZUBzZWxmaXNoLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
cml5YSBIaWRheWF0LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDU1NDA2KQorKysgV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTg1Nyw2ICs4NTcsOCBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lckxpc3QuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvVjhHQ0NvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEdDQ29u
dHJvbGxlci5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bv
c2UuY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2Uu
aCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhIZWxwZXJzLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvVjhIZWxwZXJzLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4
SGlkZGVuUHJvcGVydHlOYW1lLmNwcCcsCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01X
aW5kb3dTaGVsbC5jcHAJKHJldmlzaW9uIDU1NDA2KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdpbmRvd1NoZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQAogI2lu
Y2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3cuaCIKICNpbmNsdWRlICJW
OERvY3VtZW50LmgiCisjaW5jbHVkZSAiVjhHQ0ZvckNvbnRleHREaXNwb3NlLmgiCiAjaW5jbHVk
ZSAiVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOEhpc3RvcnkuaCIKICNpbmNs
dWRlICJWOEluZGV4LmgiCkBAIC0xNTAsNiArMTUxLDExIEBAIHZvaWQgVjhET01XaW5kb3dTaGVs
bDo6ZGlzcG9zZUNvbnRleHRIYW4KICAgICAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgp
LT5kaWREZXN0cm95U2NyaXB0Q29udGV4dEZvckZyYW1lKCk7CiAgICAgICAgIG1fY29udGV4dC5E
aXNwb3NlKCk7CiAgICAgICAgIG1fY29udGV4dC5DbGVhcigpOworCisgICAgICAgIC8vIEl0J3Mg
bGlrZWx5IHRoYXQgZGlzcG9zaW5nIHRoZSBjb250ZXh0IGhhcyBjcmVhdGVkIGEgbG90IG9mCisg
ICAgICAgIC8vIGdhcmJhZ2UuIE5vdGlmeSBWOCBhYm91dCB0aGlzIHNvIGl0J2xsIGhhdmUgYSBj
aGFuY2Ugb2YgY2xlYW5pbmcKKyAgICAgICAgLy8gaXQgdXAgd2hlbiBpZGxlLgorICAgICAgICBW
OEdDRm9yQ29udGV4dERpc3Bvc2U6Omluc3RhbmNlKCkubm90aWZ5Q29udGV4dERpc3Bvc2VkKCk7
CiAgICAgfQogCiAgICAgaWYgKCFtX3dyYXBwZXJCb2lsZXJwbGF0ZXMuSXNFbXB0eSgpKSB7Cklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NGb3JDb250ZXh0RGlzcG9zZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2UuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2Uu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICogCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlY4R0NGb3JDb250ZXh0RGlzcG9zZS5oIgorCisjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Y4R0NGb3JDb250ZXh0RGlzcG9z
ZTo6VjhHQ0ZvckNvbnRleHREaXNwb3NlKCkKKyAgICA6IG1fcHNldWRvSWRsZVRpbWVyKHRoaXMs
ICZWOEdDRm9yQ29udGV4dERpc3Bvc2U6OnBzZXVkb0lkbGVUaW1lckZpcmVkKQoreworfQorCit2
b2lkIFY4R0NGb3JDb250ZXh0RGlzcG9zZTo6bm90aWZ5Q29udGV4dERpc3Bvc2VkKCkKK3sKKyAg
ICB2ODo6Vjg6OkNvbnRleHREaXNwb3NlZE5vdGlmaWNhdGlvbigpOworICAgIGlmICghbV9wc2V1
ZG9JZGxlVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9wc2V1ZG9JZGxlVGltZXIuc3RhcnRP
bmVTaG90KDAuOCk7Cit9CisKK3ZvaWQgVjhHQ0ZvckNvbnRleHREaXNwb3NlOjpub3RpZnlJZGxl
U29vbmVyKGRvdWJsZSBtYXhpbXVtRmlyZUludGVydmFsKQoreworICAgIGlmIChtX3BzZXVkb0lk
bGVUaW1lci5pc0FjdGl2ZSgpKSB7CisgICAgICAgIGRvdWJsZSBuZXh0RmlyZUludGVydmFsID0g
bV9wc2V1ZG9JZGxlVGltZXIubmV4dEZpcmVJbnRlcnZhbCgpOworICAgICAgICBpZiAobmV4dEZp
cmVJbnRlcnZhbCA+IG1heGltdW1GaXJlSW50ZXJ2YWwpIHsKKyAgICAgICAgICAgIG1fcHNldWRv
SWRsZVRpbWVyLnN0b3AoKTsKKyAgICAgICAgICAgIG1fcHNldWRvSWRsZVRpbWVyLnN0YXJ0T25l
U2hvdChtYXhpbXVtRmlyZUludGVydmFsKTsKKyAgICAgICAgfQorICAgIH0KK30KKworVjhHQ0Zv
ckNvbnRleHREaXNwb3NlJiBWOEdDRm9yQ29udGV4dERpc3Bvc2U6Omluc3RhbmNlKCkKK3sKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFY4R0NGb3JDb250ZXh0RGlzcG9zZSwgc3RhdGljSW5zdGFu
Y2UsICgpKTsKKyAgICByZXR1cm4gc3RhdGljSW5zdGFuY2U7Cit9CisKK3ZvaWQgVjhHQ0ZvckNv
bnRleHREaXNwb3NlOjpwc2V1ZG9JZGxlVGltZXJGaXJlZChUaW1lcjxWOEdDRm9yQ29udGV4dERp
c3Bvc2U+KikKK3sKKyAgICB2ODo6Vjg6OklkbGVOb3RpZmljYXRpb24oKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4
dERpc3Bvc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NGb3JDb250
ZXh0RGlzcG9zZS5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDRm9y
Q29udGV4dERpc3Bvc2UuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqIAorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICogCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
VjhHQ0ZvckNvbnRleHREaXNwb3NlX2gKKyNkZWZpbmUgVjhHQ0ZvckNvbnRleHREaXNwb3NlX2gK
KworI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8djguaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBWOEdDRm9yQ29udGV4dERpc3Bvc2UgeworcHVibGljOgorICAgIHZvaWQg
bm90aWZ5Q29udGV4dERpc3Bvc2VkKCk7CisgICAgdm9pZCBub3RpZnlJZGxlU29vbmVyKGRvdWJs
ZSBtYXhpbXVtRmlyZUludGVydmFsKTsKKworICAgIHN0YXRpYyBWOEdDRm9yQ29udGV4dERpc3Bv
c2UmIGluc3RhbmNlKCk7CisKK3ByaXZhdGU6CisgICAgVjhHQ0ZvckNvbnRleHREaXNwb3NlKCk7
IC8vIFVzZSBpbnN0YW5jZSgpIGluc3RlYWQuCisgICAgdm9pZCBwc2V1ZG9JZGxlVGltZXJGaXJl
ZChUaW1lcjxWOEdDRm9yQ29udGV4dERpc3Bvc2U+Kik7CisKKyAgICBUaW1lcjxWOEdDRm9yQ29u
dGV4dERpc3Bvc2U+IG1fcHNldWRvSWRsZVRpbWVyOworfTsKKworfQorCisjZW5kaWYgLy8gVjhH
Q0ZvckNvbnRleHREaXNwb3NlX2gKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NV2luZG93Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAJKHJldmlzaW9uIDU1NDA2KQorKysgV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiVjhCaW5kaW5nRE9NV2luZG93LmgiCiAjaW5jbHVk
ZSAiVjhCaW5kaW5nU3RhdGUuaCIKICNpbmNsdWRlICJWOEN1c3RvbUV2ZW50TGlzdGVuZXIuaCIK
KyNpbmNsdWRlICJWOEdDRm9yQ29udGV4dERpc3Bvc2UuaCIKICNpbmNsdWRlICJWOEhUTUxDb2xs
ZWN0aW9uLmgiCiAjaW5jbHVkZSAiVjhNZXNzYWdlUG9ydEN1c3RvbS5oIgogI2luY2x1ZGUgIlY4
Tm9kZS5oIgpAQCAtMTM1LDYgKzEzNiwxMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2luZG93
U2V0VGltZW91dEltCiAgICAgICAgIGlkID0gRE9NVGltZXI6Omluc3RhbGwoc2NyaXB0Q29udGV4
dCwgbmV3IFNjaGVkdWxlZEFjdGlvbihWOFByb3h5Ojpjb250ZXh0KGltcC0+ZnJhbWUoKSksIGZ1
bmN0aW9uU3RyaW5nKSwgdGltZW91dCwgc2luZ2xlU2hvdCk7CiAgICAgfQogCisgICAgLy8gVHJ5
IHRvIGRvIHRoZSBpZGxlIG5vdGlmaWNhdGlvbiBiZWZvcmUgdGhlIHRpbWVvdXQgZXhwaXJlcyB0
byBnZXQgYmV0dGVyCisgICAgLy8gdXNlIG9mIGFueSBpZGxlIHRpbWUuIEFpbSBmb3IgdGhlIG1p
ZGRsZSBvZiB0aGUgaW50ZXJ2YWwgZm9yIHNpbXBsaWNpdHkuCisgICAgaWYgKHRpbWVvdXQgPiAw
KSB7CisgICAgICAgIGRvdWJsZSBtYXhpbXVtRmlyZUludGVydmFsID0gc3RhdGljX2Nhc3Q8ZG91
YmxlPih0aW1lb3V0KSAvIDEwMDAgLyAyOworICAgICAgICBWOEdDRm9yQ29udGV4dERpc3Bvc2U6
Omluc3RhbmNlKCkubm90aWZ5SWRsZVNvb25lcihtYXhpbXVtRmlyZUludGVydmFsKTsKKyAgICB9
CisKICAgICByZXR1cm4gdjg6OkludGVnZXI6Ok5ldyhpZCk7CiB9CiAKSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTU0MDYpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMDIgIE1hZHMgQWdlciAgPGFnZXJAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAg
W1Y4XSBWOCBzaG91bGQgYmUgbm90aWZpZWQgb2YgY29udGV4dCBkaXNwb3NhbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NTI2CisKKyAgICAgICAg
VXBkYXRlIFY4IERFUFMgaW4gb3JkZXIgdG8gZ2V0IFY4IEFQSSBjaGFuZ2VzIG5lZWRlZCBmb3Ig
Y29udGV4dAorICAgICAgICBkaXNwb3NhbCBub3RpZmljYXRpb25zLgorCisgICAgICAgICogREVQ
UzoKKwogMjAxMC0wMy0wMSAgSmFrb2IgUGV0c292aXRzICA8anBldHNvdml0c0ByaW0uY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJLaXQvY2hyb21pdW0v
REVQUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vREVQUwkocmV2aXNpb24gNTU0MDYp
CisrKyBXZWJLaXQvY2hyb21pdW0vREVQUwkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBA
QCB2YXJzID0gewogICAnb3BlbnZjZGlmZl9yZXYnOiAnMjgnLAogICAnb3RzX3Jldic6ICcyNics
CiAgICdza2lhX3Jldic6ICc0OTAnLAotICAndjhfcmV2JzogJzM5NjMnLAorICAndjhfcmV2Jzog
JzM5ODUnLAogCiAgICMgV2luZG93czoKICAgJ2N5Z3dpbl9yZXYnOiAnMTE5ODQnLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>