<?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>46061</bug_id>
          
          <creation_ts>2010-09-19 15:27:59 -0700</creation_ts>
          <short_desc>svn-apply updates date of wrong change log entry for a change log diff that contains two consecutive entries with the same author and date</short_desc>
          <delta_ts>2010-12-29 22:04:25 -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>Tools / Tests</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>
          <dependson>46058</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>281321</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-19 15:27:59 -0700</bug_when>
    <thetext>Consider the following change log patch:

--- ChangeLog
+++ ChangeLog
@@ -70,6 +70,14 @@

 2010-09-18  Alice  &lt;alice@email.address&gt;

+        Reviewed by NOBODY (OOPS!).
+
+        Changed some more code on 2010-09-18.
+
+        * File:
+
+2010-09-18  Alice  &lt;alice@email.address&gt;
+
         Reviewed by Ray.

         Changed some code on 2010-09-18.

Suppose we apply this patch using svn-apply on 09/19/2010. Looking at the resulting ChangeLog, we have:

2010-09-18  Alice  &lt;alice@email.address&gt;

        Reviewed by NOBODY (OOPS!).

        Changed some more code on 2010-09-18.

        * File:

2010-09-19  Alice  &lt;alice@email.address&gt;

        Reviewed by Ray.

        Changed some code on 2010-09-18.

Notice, the date of the earlier entry was changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281322</commentid>
    <comment_count>1</comment_count>
      <attachid>68037</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-19 15:30:02 -0700</bug_when>
    <thetext>Created attachment 68037
Unit test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281324</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-19 15:35:30 -0700</bug_when>
    <thetext>(In reply to comment #0)

&gt; Suppose we apply this patch using svn-apply on 09/19/2010. Looking at the resulting ChangeLog, we have:
&gt; 

I mean&apos;t to say: &quot;Looking at the resulting ChangeLog and assuming the name of the reviewer(s) was not specified to svn-apply, we have:&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326985</commentid>
    <comment_count>3</comment_count>
      <attachid>77480</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-26 23:33:46 -0800</bug_when>
    <thetext>Created attachment 77480
Patch with test cases

Moved unit test into new file fixChangeLogPatchThenSetChangeLogDateAndReviewer.pl because it tests setChangeLogDateAndReviewer(fixChangeLogPatch()).

Note, this patch modifies the functionality of fixChangeLogPatch() to move entries that are inserted earlier in a ChangeLog to the top of the file. Therefore, future patches that deliberately insert a change log entry earlier (why?) will not be landed by the commit-queue/webkit-patch as the author intended. Instead, the author will need to land such a patch by hand.

Maybe we should consider outputting a warning message when svn-apply detects this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327425</commentid>
    <comment_count>4</comment_count>
      <attachid>77589</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-28 16:28:12 -0800</bug_when>
    <thetext>Created attachment 77589
Patch with test cases

Removed extraneous comment in added unit test file fixChangeLogPatchThenSetChangeLogDateAndReviewer.pl.

Strengthened for-loop for updating the date state index by noticing that if there exists a line L_i that matches the regular expression $dateStartRegEx after shifting the overlapping lines towards the front then i \in [$chunkStartIndex, $dateStartIndex - 1].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327831</commentid>
    <comment_count>5</comment_count>
      <attachid>77589</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-29 22:04:17 -0800</bug_when>
    <thetext>Comment on attachment 77589
Patch with test cases

Clearing flags on attachment: 77589

Committed r74780: &lt;http://trac.webkit.org/changeset/74780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327832</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-29 22:04:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68037</attachid>
            <date>2010-09-19 15:30:02 -0700</date>
            <delta_ts>2010-12-26 23:33:46 -0800</delta_ts>
            <desc>Unit test</desc>
            <filename>46061_unittest.diff</filename>
            <type>text/plain</type>
            <size>1372</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9z
ZXRDaGFuZ2VMb2dEYXRlQW5kUmV2aWV3ZXIucGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L3NldENoYW5nZUxvZ0RhdGVBbmRS
ZXZpZXdlci5wbAkocmV2aXNpb24gNjc3ODUpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvVkNTVXRpbHNfdW5pdHRlc3Qvc2V0Q2hhbmdlTG9nRGF0ZUFuZFJldmlld2VyLnBsCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDksNiArMTA5LDQ5IEBACiAgICAgICAgICBSZXZpZXdlZCBieSBK
YW5lIERvZS4KIEVORAogfSwKK3sKKyAgICB0ZXN0TmFtZSA9PiAiTmV3IGVudHJ5IGluc2VydGVk
IGVhcmxpZXIgaW4gdGhlIGZpbGUsIGJ1dCBhZnRlciBhbiBlbnRyeSB3aXRoIHRoZSBzYW1lIGF1
dGhvciBhbmQgZGF0ZSwgcGF0Y2ggYXBwbGllZCBhIGRheSBsYXRlci4iLAorICAgIHJldmlld2Vy
ID0+ICJTdWUiLAorICAgIGVwb2NoVGltZSA9PiAxMjczNDE0MzIxLAorICAgIHBhdGNoID0+IDw8
J0VORCcsCistLS0gQ2hhbmdlTG9nCisrKysgQ2hhbmdlTG9nCitAQCAtNzAsNiArNzAsMTQgQEAK
KworIDIwMTAtMDUtMDggIEFsaWNlICA8YWxpY2VAZW1haWwuYWRkcmVzcz4KKworKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisrCisrICAgICAgICBDaGFuZ2VkIHNvbWUgbW9y
ZSBjb2RlIG9uIDIwMTAtMDUtMDguCisrCisrICAgICAgICAqIEZpbGU6CisrCisrMjAxMC0wNS0w
OCAgQWxpY2UgIDxhbGljZUBlbWFpbC5hZGRyZXNzPgorKworICAgICAgICAgUmV2aWV3ZWQgYnkg
UmF5LgorCisgICAgICAgICBDaGFuZ2VkIHNvbWUgY29kZSBvbiAyMDEwLTA1LTA4LgorRU5ECisg
ICAgZXhwZWN0ZWRSZXR1cm4gPT4gPDwnRU5EJywKKy0tLSBDaGFuZ2VMb2cKKysrKyBDaGFuZ2VM
b2cKK0BAIC03MCw2ICs3MCwxNCBAQAorCisgMjAxMC0wNS0wOSAgQWxpY2UgIDxhbGljZUBlbWFp
bC5hZGRyZXNzPgorCisrICAgICAgICBSZXZpZXdlZCBieSBTdWUuCisrCisrICAgICAgICBDaGFu
Z2VkIHNvbWUgbW9yZSBjb2RlIG9uIDIwMTAtMDUtMDguCisrCisrICAgICAgICAqIEZpbGU6Cisr
CisrMjAxMC0wNS0wOCAgQWxpY2UgIDxhbGljZUBlbWFpbC5hZGRyZXNzPgorKworICAgICAgICAg
UmV2aWV3ZWQgYnkgUmF5LgorCisgICAgICAgICBDaGFuZ2VkIHNvbWUgY29kZSBvbiAyMDEwLTA1
LTA4LgorRU5ECit9LAogKTsKIAogbXkgJHRlc3RDYXNlc0NvdW50ID0gQHRlc3RDYXNlSGFzaFJl
ZnM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77480</attachid>
            <date>2010-12-26 23:33:46 -0800</date>
            <delta_ts>2010-12-28 16:28:12 -0800</delta_ts>
            <desc>Patch with test cases</desc>
            <filename>Bug46061.patch</filename>
            <type>text/plain</type>
            <size>11366</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc0Njc4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzcgQEAKKzIwMTAtMTItMjYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi1hcHBseSB1
cGRhdGVzIGRhdGUgb2Ygd3JvbmcgY2hhbmdlIGxvZyBlbnRyeSBmb3IgYSBjaGFuZ2UgbG9nIGRp
ZmYgdGhhdAorICAgICAgICBjb250YWlucyB0d28gY29uc2VjdXRpdmUgZW50cmllcyB3aXRoIHRo
ZSBzYW1lIGF1dGhvciBhbmQgZGF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDYwNjEKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3aGVyZSB0aGUg
ZGF0ZSBvZiB0aGUgd3JvbmcgY2hhbmdlIGxvZyBlbnRyeSBtYXkgYmUgbW9kaWZpZWQuCisgICAg
ICAgIE1vcmVvdmVyLCBjaGFuZ2VzIGZpeENoYW5nZUxvZ1BhdGNoKCkgdG8gbW92ZSBlbnRyaWVz
IGluc2VydGVkIGVhcmxpZXIKKyAgICAgICAgaW4gYSBDaGFuZ2VMb2cgZmlsZSB0byB0aGUgdG9w
IG9mIHRoZSBmaWxlLgorCisgICAgICAgIEN1cnJlbnRseSwgZml4Q2hhbmdlTG9nUGF0Y2goKSBl
eHBsaWNpdGx5IGJhaWxzIG91dCBhbmQgcmV0dXJucyBhbiB1bmNoYW5nZWQKKyAgICAgICAgZGlm
ZiB3aGVuIGl0IGRldGVjdHMgdGhhdCB0aGUgZGlmZiBpbnNlcnRzIGEgY2hhbmdlIGxvZyBlbnRy
eSBlYXJsaWVyIGluIGEKKyAgICAgICAgQ2hhbmdlTG9nLiBJdCBpcyB1bnVzdWFsIHRvIGxhbmQg
YSBwYXRjaCB0aGF0IGhhcyBzdWNoIGEgZGVsaWJlcmF0ZSBDaGFuZ2VMb2cKKyAgICAgICAgY2hh
bmdlLiBXaXRoIHRoZSBhZHZlbnQgb2YgdGhlIGNvbW1pdC1xdWV1ZSB0aGlzIGZ1bmN0aW9uYWxp
dHkgb2YgYmFpbGluZyBvdXQKKyAgICAgICAgYW5kIGhlbmNlIGxhbmRpbmcgdGhlIHBhdGNoIGFz
LWlzIGlzIGhhcm1mdWwgdG8gdGhlIGFjY3VyYWN5IG9mIHRoZSBDaGFuZ2VMb2cuCisgICAgICAg
IEluc3RlYWQsIHdlIHNob3VsZCBhbHdheXMgbW92ZSB0aGUgY2hhbmdlIGxvZyBlbnRyeSB0byB0
aGUgdG9wIG9mIHRoZSBDaGFuZ2VMb2cgZmlsZS4KKworICAgICAgICBBIHNpZGUtZWZmZWN0IG9m
IHRoaXMgY2hhbmdlIGlzIHRoYXQgc2V0Q2hhbmdlTG9nRGF0ZUFuZFJldmlld2VyKCkgbm93IHVw
ZGF0ZXMKKyAgICAgICAgdGhlIGRhdGUgbGluZSBvZiB0aGUgY29ycmVjdCBjaGFuZ2UgbG9nIGVu
dHJ5IGluIGEgQ2hhbmdlTG9nIGRpZmYuIAorCisgICAgICAgICogU2NyaXB0cy9WQ1NVdGlscy5w
bTogTW9kaWZpZWQgZml4Q2hhbmdlTG9nUGF0Y2goKSB0byBtb3ZlIGVudHJpZXMgaW5zZXJ0ZWQg
ZWFybGllciB0byB0aGUgdG9wLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0
aWxzX3VuaXR0ZXN0L2ZpeENoYW5nZUxvZ1BhdGNoLnBsOgorICAgICAgICAgIFVwZGF0ZWQgdGhl
IGZvbGxvd2luZyB1bml0IHRlc3RzIG5vdyB0aGF0IHdlIG1vdmUgZW50cmllcyBpbnNlcnRlZCBl
YXJsaWVyIHRvIHRoZSB0b3A6CisgICAgICAgICAgLSAiZml4Q2hhbmdlTG9nUGF0Y2g6IE5ldyBl
bnRyeSBpbnNlcnRlZCBpbiBtaWRkbGUuIgorICAgICAgICAgICAgKGZvcm1lcmx5IG5hbWVkICJm
aXhDaGFuZ2VMb2dQYXRjaDogW25vIGNoYW5nZV0gTmV3IGVudHJ5IGluc2VydGVkIGluIG1pZGRs
ZS4iKQorCisgICAgICAgICAgLSAiZml4Q2hhbmdlTG9nUGF0Y2g6IE5ldyBlbnRyeSBpbnNlcnRl
ZCBlYXJsaWVyIGluIHRoZSBmaWxlLCBidXQgYWZ0ZXIgYW4gZW50cnkgd2l0aCB0aGUgc2FtZSBh
dXRob3IgYW5kIGRhdGUuIgorICAgICAgICAgICAgKGZvcm1lcmx5IG5hbWVkICJmaXhDaGFuZ2VM
b2dQYXRjaDogW25vIGNoYW5nZV0gTmV3IGVudHJ5IGluc2VydGVkIGVhcmxpZXIgaW4gdGhlIGZp
bGUsIGJ1dCBhZnRlciBhbiBlbnRyeSB3aXRoIHRoZSBzYW1lIGF1dGhvciBhbmQgZGF0ZS4iKQor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2ZpeENoYW5n
ZUxvZ1BhdGNoVGhlblNldENoYW5nZUxvZ0RhdGVBbmRSZXZpZXdlci5wbDogQWRkZWQuCisKIDIw
MTAtMTItMjUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gNzQ2NzgpCisr
KyBUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xMzA0LDEyICsx
MzA0LDcgQEAgc3ViIHNldENoYW5nZUxvZ0RhdGVBbmRSZXZpZXdlcigkJCQpCiAjIFJldHVybnMg
JGNoYW5nZUxvZ0hhc2hSZWY6CiAjICAgJGNoYW5nZUxvZ0hhc2hSZWY6IGEgaGFzaCByZWZlcmVu
Y2UgcmVwcmVzZW50aW5nIGEgY2hhbmdlIGxvZyBwYXRjaC4KICMgICAgIHBhdGNoOiBhIENoYW5n
ZUxvZyBwYXRjaCBlcXVpdmFsZW50IHRvIHRoZSBnaXZlbiBvbmUsIGJ1dCB3aXRoIHRoZQotIyAg
ICAgICAgICAgIG5ld2VzdCBDaGFuZ2VMb2cgZW50cnkgaW5zZXJ0ZWQgYXQgdGhlIHRvcCBvZiB0
aGUgZmlsZSwgaWYgcG9zc2libGUuCi0jICAgICBoYXNPdmVybGFwcGluZ0xpbmVzOiB0aGUgdmFs
dWUgMSBpZiB0aGUgY2hhbmdlIGxvZyBlbnRyeSBvdmVybGFwcwotIyAgICAgICAgICAgICAgICAg
ICAgICAgICAgc29tZSBsaW5lcyBvZiBhbm90aGVyIGNoYW5nZSBsb2cgZW50cnkuIFRoaXMgY2Fu
Ci0jICAgICAgICAgICAgICAgICAgICAgICAgICBoYXBwZW4gd2hlbiBkZWxpYmVyYXRlbHkgaW5z
ZXJ0aW5nIGEgbmV3IENoYW5nZUxvZwotIyAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnkg
ZWFybGllciBpbiB0aGUgZmlsZSBhYm92ZSBhbiBlbnRyeSB3aXRoCi0jICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGUgc2FtZSBkYXRlIGFuZCBhdXRob3IuICAgICAgICAgICAgICAgICAgICAg
CisjICAgICAgICAgICAgbmV3ZXN0IENoYW5nZUxvZyBlbnRyeSBpbnNlcnRlZCBhdCB0aGUgdG9w
IG9mIHRoZSBmaWxlLCBpZiBwb3NzaWJsZS4gICAgICAgICAgICAgIAogc3ViIGZpeENoYW5nZUxv
Z1BhdGNoKCQpCiB7CiAgICAgbXkgJHBhdGNoID0gc2hpZnQ7ICMgJHBhdGNoIHdpbGwgb25seSBj
b250YWluIHBhdGNoIGZyYWdtZW50cyBmb3IgQ2hhbmdlTG9nLgpAQCAtMTQwMyw4ICsxMzk4LDIy
IEBAIHN1YiBmaXhDaGFuZ2VMb2dQYXRjaCgkKQogICAgICAgICAkbGluZXNbJGldID0gIiskdGV4
dCI7CiAgICAgfQogCi0gICAgIyBGaW5pc2ggbW92aW5nIHdoYXRldmVyIG92ZXJsYXBwaW5nIGxp
bmVzIHJlbWFpbiwgYW5kIHVwZGF0ZQotICAgICMgdGhlIGluaXRpYWwgY2h1bmsgcmFuZ2UuCisg
ICAgIyBJZiBAb3ZlcmxhcHBpbmdMaW5lcyA+IDAsIHRoaXMgaXMgd2hlcmUgd2UgbWFrZSB1c2Ug
b2YgdGhlCisgICAgIyBhc3N1bXB0aW9uIHRoYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc291cmNl
IGZpbGUgd2FzIG5vdCBtb2RpZmllZC4KKyAgICBzcGxpY2UoQGxpbmVzLCAkY2h1bmtTdGFydElu
ZGV4LCAwLCBAb3ZlcmxhcHBpbmdMaW5lcyk7CisKKyAgICAjIFVwZGF0ZSB0aGUgZGF0ZSBzdGFy
dCBpbmRleCBhcyBpdCBtYXkgaGF2ZSBjaGFuZ2VkIGFmdGVyIHNoaWZ0aW5nCisgICAgIyB0aGUg
b3ZlcmxhcHBpbmcgbGluZXMgdG93YXJkcyB0aGUgZnJvbnQuCisgICAgZm9yIChteSAkaiA9ICRj
aHVua1N0YXJ0SW5kZXg7ICRqIDwgQGxpbmVzOyArKyRqKSB7CisgICAgICAgIGlmICgkbGluZXNb
JGpdID1+IC8kZGF0ZVN0YXJ0UmVnRXgvKSB7CisgICAgICAgICAgICAkZGF0ZVN0YXJ0SW5kZXgg
PSAkajsKKyAgICAgICAgICAgIGxhc3Q7CisgICAgICAgIH0KKyAgICB9CisgICAgc3BsaWNlKEBs
aW5lcywgJGNodW5rU3RhcnRJbmRleCwgJGRhdGVTdGFydEluZGV4IC0gJGNodW5rU3RhcnRJbmRl
eCk7ICMgUmVtb3ZlIGNvbnRleHQgb2YgbGF0ZXIgZW50cnkuCisgICAgJGRlbGV0ZWRMaW5lQ291
bnQgKz0gJGRhdGVTdGFydEluZGV4IC0gJGNodW5rU3RhcnRJbmRleDsKKworICAgICMgVXBkYXRl
IHRoZSBpbml0aWFsIGNodW5rIHJhbmdlLgogICAgIG15ICRjaHVua1JhbmdlUmVnRXggPSAnXlxA
XEAgLShcZCspLChcZCspIFwrXGQrLChcZCspIFxAXEAkJzsgIyBlLmcuIEBAIC0yLDYgKzIsMTgg
QEAKICAgICBpZiAoJGxpbmVzWyRjaHVua1N0YXJ0SW5kZXggLSAxXSAhfiAvJGNodW5rUmFuZ2VS
ZWdFeC8pIHsKICAgICAgICAgIyBGSVhNRTogSGFuZGxlIGVycm9ycyBkaWZmZXJlbnRseSBmcm9t
IENoYW5nZUxvZyBmaWxlcyB0aGF0CkBAIC0xNDEzLDIxICsxNDIyLDkgQEAgc3ViIGZpeENoYW5n
ZUxvZ1BhdGNoKCQpCiAgICAgICAgICRjaGFuZ2VMb2dIYXNoUmVme3BhdGNofSA9ICRwYXRjaDsg
IyBFcnJvcjogdW5leHBlY3RlZCBwYXRjaCBzdHJpbmcgZm9ybWF0LgogICAgICAgICByZXR1cm4g
XCVjaGFuZ2VMb2dIYXNoUmVmOwogICAgIH0KLSAgICBteSAkc2tpcHBlZEZpcnN0TGluZUNvdW50
ID0gJDEgLSAxOwogICAgIG15ICRvbGRTb3VyY2VMaW5lQ291bnQgPSAkMjsKICAgICBteSAkb2xk
VGFyZ2V0TGluZUNvdW50ID0gJDM7CiAKLSAgICBpZiAoQG92ZXJsYXBwaW5nTGluZXMgIT0gJHNr
aXBwZWRGaXJzdExpbmVDb3VudCkgewotICAgICAgICAjIFRoaXMgY2FuIGhhcHBlbiwgZm9yIGV4
YW1wbGUsIHdoZW4gZGVsaWJlcmF0ZWx5IGluc2VydGluZwotICAgICAgICAjIGEgbmV3IENoYW5n
ZUxvZyBlbnRyeSBlYXJsaWVyIGluIHRoZSBmaWxlLgotICAgICAgICAkY2hhbmdlTG9nSGFzaFJl
ZntoYXNPdmVybGFwcGluZ0xpbmVzfSA9IDE7Ci0gICAgICAgICRjaGFuZ2VMb2dIYXNoUmVme3Bh
dGNofSA9ICRwYXRjaDsKLSAgICAgICAgcmV0dXJuIFwlY2hhbmdlTG9nSGFzaFJlZjsKLSAgICB9
Ci0gICAgIyBJZiBAb3ZlcmxhcHBpbmdMaW5lcyA+IDAsIHRoaXMgaXMgd2hlcmUgd2UgbWFrZSB1
c2Ugb2YgdGhlCi0gICAgIyBhc3N1bXB0aW9uIHRoYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc291
cmNlIGZpbGUgd2FzIG5vdCBtb2RpZmllZC4KLSAgICBzcGxpY2UoQGxpbmVzLCAkY2h1bmtTdGFy
dEluZGV4LCAwLCBAb3ZlcmxhcHBpbmdMaW5lcyk7Ci0KICAgICBteSAkc291cmNlTGluZUNvdW50
ID0gJG9sZFNvdXJjZUxpbmVDb3VudCArIEBvdmVybGFwcGluZ0xpbmVzIC0gJGRlbGV0ZWRMaW5l
Q291bnQ7CiAgICAgbXkgJHRhcmdldExpbmVDb3VudCA9ICRvbGRUYXJnZXRMaW5lQ291bnQgKyBA
b3ZlcmxhcHBpbmdMaW5lcyAtICRkZWxldGVkTGluZUNvdW50OwogICAgICRsaW5lc1skY2h1bmtT
dGFydEluZGV4IC0gMV0gPSAiQEAgLTEsJHNvdXJjZUxpbmVDb3VudCArMSwkdGFyZ2V0TGluZUNv
dW50IEBAIjsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVz
dC9maXhDaGFuZ2VMb2dQYXRjaC5wbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvZml4Q2hhbmdlTG9nUGF0Y2gucGwJKHJldmlzaW9uIDc0
Njc4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2ZpeENo
YW5nZUxvZ1BhdGNoLnBsCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEsNyArMjcxLDcgQEAgRU5ECiAg
ICAgfQogfSwKIHsgIyBOZXcgdGVzdAotICAgIGRpZmZOYW1lID0+ICJmaXhDaGFuZ2VMb2dQYXRj
aDogW25vIGNoYW5nZV0gTmV3IGVudHJ5IGluc2VydGVkIGluIG1pZGRsZS4iLAorICAgIGRpZmZO
YW1lID0+ICJmaXhDaGFuZ2VMb2dQYXRjaDogTmV3IGVudHJ5IGluc2VydGVkIGluIG1pZGRsZS4i
LAogICAgIGlucHV0VGV4dCA9PiA8PCdFTkQnLAogLS0tIENoYW5nZUxvZwogKysrIENoYW5nZUxv
ZwpAQCAtMjkyLDMwICsyOTIsMjYgQEAgRU5ECiAgICAgICAgICAqIEZpbGU6CiBFTkQKICAgICBl
eHBlY3RlZFJldHVybiA9PiB7Ci0gICAgaGFzT3ZlcmxhcHBpbmdMaW5lcyA9PiAxLAogICAgIHBh
dGNoID0+IDw8J0VORCcsCiAtLS0gQ2hhbmdlTG9nCiArKysgQ2hhbmdlTG9nCi1AQCAtMTEsNiAr
MTEsMTQgQEAKLSAKLSAgICAgICAgIFJldmlld2VkIGJ5IFJheS4KLSAKLSsgICAgICAgIENoYW5n
ZWQgc29tZSBtb3JlIGNvZGUgb24gMjAwOS0xMi0yMS4KLSsKLSsgICAgICAgICogRmlsZToKLSsK
K0BAIC0xLDMgKzEsMTEgQEAKICsyMDA5LTEyLTIxICBBbGljZSAgPGFsaWNlQGVtYWlsLmFkZHJl
c3M+CiArCiArICAgICAgICBSZXZpZXdlZCBieSBSYXkuCiArCi0gICAgICAgICBDaGFuZ2VkIHNv
bWUgY29kZSBvbiAyMDA5LTEyLTIxLgorKyAgICAgICAgQ2hhbmdlZCBzb21lIG1vcmUgY29kZSBv
biAyMDA5LTEyLTIxLgorKworKyAgICAgICAgKiBGaWxlOgorKworIDIwMDktMTItMjEgIEFsaWNl
ICA8YWxpY2VAZW1haWwuYWRkcmVzcz4KICAKLSAgICAgICAgICogRmlsZToKKyAgICAgICAgIFJl
dmlld2VkIGJ5IFJheS4KIEVORAogICAgIH0KIH0sCiB7ICMgTmV3IHRlc3QKLSAgICBkaWZmTmFt
ZSA9PiAiZml4Q2hhbmdlTG9nUGF0Y2g6IFtubyBjaGFuZ2VdIE5ldyBlbnRyeSBpbnNlcnRlZCBl
YXJsaWVyIGluIHRoZSBmaWxlLCBidXQgYWZ0ZXIgYW4gZW50cnkgd2l0aCB0aGUgc2FtZSBhdXRo
b3IgYW5kIGRhdGUuIiwKKyAgICBkaWZmTmFtZSA9PiAiZml4Q2hhbmdlTG9nUGF0Y2g6IE5ldyBl
bnRyeSBpbnNlcnRlZCBlYXJsaWVyIGluIHRoZSBmaWxlLCBidXQgYWZ0ZXIgYW4gZW50cnkgd2l0
aCB0aGUgc2FtZSBhdXRob3IgYW5kIGRhdGUuIiwKICAgICBpbnB1dFRleHQgPT4gPDwnRU5EJywK
IC0tLSBDaGFuZ2VMb2cKICsrKyBDaGFuZ2VMb2cKQEAgLTMzNiwyNSArMzMyLDIxIEBAIEVORAog
ICAgICAgICAgQ2hhbmdlZCBzb21lIGNvZGUgb24gMjAwOS0xMi0yMi4KIEVORAogICAgIGV4cGVj
dGVkUmV0dXJuID0+IHsKLSAgICBoYXNPdmVybGFwcGluZ0xpbmVzID0+IDEsCiAgICAgcGF0Y2gg
PT4gPDwnRU5EJywKIC0tLSBDaGFuZ2VMb2cKICsrKyBDaGFuZ2VMb2cKLUBAIC03MCw2ICs3MCwx
NCBAQAotIAotIDIwMDktMTItMjIgIEFsaWNlICA8YWxpY2VAZW1haWwuYWRkcmVzcz4KLSAKK0BA
IC0xLDMgKzEsMTEgQEAKKysyMDA5LTEyLTIyICBBbGljZSAgPGFsaWNlQGVtYWlsLmFkZHJlc3M+
CisrCiArICAgICAgICBSZXZpZXdlZCBieSBTdWUuCiArCiArICAgICAgICBDaGFuZ2VkIHNvbWUg
bW9yZSBjb2RlIG9uIDIwMDktMTItMjIuCiArCiArICAgICAgICAqIEZpbGU6CiArCi0rMjAwOS0x
Mi0yMiAgQWxpY2UgIDxhbGljZUBlbWFpbC5hZGRyZXNzPgotKwotICAgICAgICAgUmV2aWV3ZWQg
YnkgUmF5LgorIDIwMDktMTItMjIgIEFsaWNlICA8YWxpY2VAZW1haWwuYWRkcmVzcz4KICAKLSAg
ICAgICAgIENoYW5nZWQgc29tZSBjb2RlIG9uIDIwMDktMTItMjIuCisgICAgICAgICBSZXZpZXdl
ZCBieSBSYXkuCiBFTkQKICAgICB9CiB9LApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L1ZDU1V0aWxzX3VuaXR0ZXN0L2ZpeENoYW5nZUxvZ1BhdGNoVGhlblNldENoYW5nZUxvZ0RhdGVB
bmRSZXZpZXdlci5wbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNT
VXRpbHNfdW5pdHRlc3QvZml4Q2hhbmdlTG9nUGF0Y2hUaGVuU2V0Q2hhbmdlTG9nRGF0ZUFuZFJl
dmlld2VyLnBsCShyZXZpc2lvbiAwKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0
aWxzX3VuaXR0ZXN0L2ZpeENoYW5nZUxvZ1BhdGNoVGhlblNldENoYW5nZUxvZ0RhdGVBbmRSZXZp
ZXdlci5wbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MiBAQAorIyEvdXNyL2Jpbi9wZXJsIC13
CisjCisjIENvcHlyaWdodCAoQykgMjAxMCBDaHJpcyBKZXJkb25layAoY2plcmRvbmVrQHdlYmtp
dC5vcmcpCisjIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisj
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIK
KyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworIyBVbml0IHRlc3RzIGZvciBzZXRDaGFuZ2VMb2dEYXRlQW5kUmV2aWV3ZXIoZml4
Q2hhbmdlTG9nUGF0Y2goKSkuCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7CisKK3VzZSBU
ZXN0OjpNb3JlOwordXNlIFZDU1V0aWxzOworCitteSBAdGVzdENhc2VIYXNoUmVmcyA9ICgKK3sK
KyAgICB0ZXN0TmFtZSA9PiAiTmV3IGVudHJ5IGluc2VydGVkIGVhcmxpZXIgaW4gdGhlIGZpbGUs
IGJ1dCBhZnRlciBhbiBlbnRyeSB3aXRoIHRoZSBzYW1lIGF1dGhvciBhbmQgZGF0ZSwgcGF0Y2gg
YXBwbGllZCBhIGRheSBsYXRlci4iLAorICAgIHJldmlld2VyID0+ICJTdWUiLAorICAgIGVwb2No
VGltZSA9PiAxMjczNDE0MzIxLAorICAgIHBhdGNoID0+IDw8J0VORCcsCistLS0gQ2hhbmdlTG9n
CisrKysgQ2hhbmdlTG9nCitAQCAtNzAsNiArNzAsMTQgQEAKKyAKKyAyMDEwLTA1LTA4ICBBbGlj
ZSAgPGFsaWNlQGVtYWlsLmFkZHJlc3M+CisgCisrICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKysKKysgICAgICAgIENoYW5nZWQgc29tZSBtb3JlIGNvZGUgb24gMjAxMC0wNS0w
OC4KKysKKysgICAgICAgICogRmlsZToKKysKKysyMDEwLTA1LTA4ICBBbGljZSAgPGFsaWNlQGVt
YWlsLmFkZHJlc3M+CisrCisgICAgICAgICBSZXZpZXdlZCBieSBSYXkuCisgCisgICAgICAgICBD
aGFuZ2VkIHNvbWUgY29kZSBvbiAyMDEwLTA1LTA4LgorRU5ECisgICAgZXhwZWN0ZWRSZXR1cm4g
PT4gPDwnRU5EJywgIyBOb3RlLCBwYXRjaCgxKSB3aXRoIC0tZnV6eiA+IDMgd2lsbCBpZ25vcmUg
dGhlIGxlYWRpbmcgZW1wdHkgbGluZS4KKy0tLSBDaGFuZ2VMb2cKKysrKyBDaGFuZ2VMb2cKK0BA
IC0xLDMgKzEsMTEgQEAKKysyMDEwLTA1LTA5ICBBbGljZSAgPGFsaWNlQGVtYWlsLmFkZHJlc3M+
CisrCisrICAgICAgICBSZXZpZXdlZCBieSBTdWUuCisrCisrICAgICAgICBDaGFuZ2VkIHNvbWUg
bW9yZSBjb2RlIG9uIDIwMTAtMDUtMDguCisrCisrICAgICAgICAqIEZpbGU6CisrCisgMjAxMC0w
NS0wOCAgQWxpY2UgIDxhbGljZUBlbWFpbC5hZGRyZXNzPgorIAorICAgICAgICAgUmV2aWV3ZWQg
YnkgUmF5LgorRU5ECit9LAorKTsKKworbXkgJHRlc3RDYXNlc0NvdW50ID0gQHRlc3RDYXNlSGFz
aFJlZnM7CitwbGFuKHRlc3RzID0+IDEgKiAkdGVzdENhc2VzQ291bnQpOyAjIFRvdGFsIG51bWJl
ciBvZiBhc3NlcnRpb25zLgorCitmb3JlYWNoIG15ICR0ZXN0Q2FzZSAoQHRlc3RDYXNlSGFzaFJl
ZnMpIHsKKyAgICBteSAkdGVzdE5hbWVTdGFydCA9ICJzZXRDaGFuZ2VMb2dEYXRlQW5kUmV2aWV3
ZXIoZml4Q2hhbmdlTG9nUGF0Y2goKSk6ICR0ZXN0Q2FzZS0+e3Rlc3ROYW1lfTogY29tcGFyaW5n
IjsKKworICAgIG15ICRwYXRjaCA9ICR0ZXN0Q2FzZS0+e3BhdGNofTsKKyAgICBteSAkcmV2aWV3
ZXIgPSAkdGVzdENhc2UtPntyZXZpZXdlcn07CisgICAgbXkgJGVwb2NoVGltZSA9ICR0ZXN0Q2Fz
ZS0+e2Vwb2NoVGltZX07CisKKyAgICBteSAkZml4ZWRDaGFuZ2VMb2cgPSBWQ1NVdGlsczo6Zml4
Q2hhbmdlTG9nUGF0Y2goJHBhdGNoKTsKKyAgICBteSAkZ290ID0gVkNTVXRpbHM6OnNldENoYW5n
ZUxvZ0RhdGVBbmRSZXZpZXdlcigkZml4ZWRDaGFuZ2VMb2ctPntwYXRjaH0sICRyZXZpZXdlciwg
JGVwb2NoVGltZSk7CisgICAgbXkgJGV4cGVjdGVkUmV0dXJuID0gJHRlc3RDYXNlLT57ZXhwZWN0
ZWRSZXR1cm59OworCisgICAgaXMoJGdvdCwgJGV4cGVjdGVkUmV0dXJuLCAiJHRlc3ROYW1lU3Rh
cnQgcmV0dXJuIHZhbHVlLiIpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77589</attachid>
            <date>2010-12-28 16:28:12 -0800</date>
            <delta_ts>2010-12-29 22:04:17 -0800</delta_ts>
            <desc>Patch with test cases</desc>
            <filename>Bug46061_1.patch</filename>
            <type>text/plain</type>
            <size>11264</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc0NzA2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzcgQEAKKzIwMTAtMTItMjggIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi1hcHBseSB1
cGRhdGVzIGRhdGUgb2Ygd3JvbmcgY2hhbmdlIGxvZyBlbnRyeSBmb3IgYSBjaGFuZ2UgbG9nIGRp
ZmYgdGhhdAorICAgICAgICBjb250YWlucyB0d28gY29uc2VjdXRpdmUgZW50cmllcyB3aXRoIHRo
ZSBzYW1lIGF1dGhvciBhbmQgZGF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDYwNjEKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3aGVyZSB0aGUg
ZGF0ZSBvZiB0aGUgd3JvbmcgY2hhbmdlIGxvZyBlbnRyeSBtYXkgYmUgbW9kaWZpZWQuCisgICAg
ICAgIE1vcmVvdmVyLCBjaGFuZ2VzIGZpeENoYW5nZUxvZ1BhdGNoKCkgdG8gbW92ZSBlbnRyaWVz
IGluc2VydGVkIGVhcmxpZXIKKyAgICAgICAgaW4gYSBDaGFuZ2VMb2cgZmlsZSB0byB0aGUgdG9w
IG9mIHRoZSBmaWxlLgorCisgICAgICAgIEN1cnJlbnRseSwgZml4Q2hhbmdlTG9nUGF0Y2goKSBl
eHBsaWNpdGx5IGJhaWxzIG91dCBhbmQgcmV0dXJucyBhbiB1bmNoYW5nZWQKKyAgICAgICAgZGlm
ZiB3aGVuIGl0IGRldGVjdHMgdGhhdCB0aGUgZGlmZiBpbnNlcnRzIGEgY2hhbmdlIGxvZyBlbnRy
eSBlYXJsaWVyIGluIGEKKyAgICAgICAgQ2hhbmdlTG9nLiBJdCBpcyB1bnVzdWFsIHRvIGxhbmQg
YSBwYXRjaCB0aGF0IGhhcyBzdWNoIGEgZGVsaWJlcmF0ZSBDaGFuZ2VMb2cKKyAgICAgICAgY2hh
bmdlLiBXaXRoIHRoZSBhZHZlbnQgb2YgdGhlIGNvbW1pdC1xdWV1ZSB0aGlzIGZ1bmN0aW9uYWxp
dHkgb2YgYmFpbGluZyBvdXQKKyAgICAgICAgYW5kIGhlbmNlIGxhbmRpbmcgdGhlIHBhdGNoIGFz
LWlzIGlzIGhhcm1mdWwgdG8gdGhlIGFjY3VyYWN5IG9mIHRoZSBDaGFuZ2VMb2cuCisgICAgICAg
IEluc3RlYWQsIHdlIHNob3VsZCBhbHdheXMgbW92ZSB0aGUgY2hhbmdlIGxvZyBlbnRyeSB0byB0
aGUgdG9wIG9mIHRoZSBDaGFuZ2VMb2cgZmlsZS4KKworICAgICAgICBBIHNpZGUtZWZmZWN0IG9m
IHRoaXMgY2hhbmdlIGlzIHRoYXQgc2V0Q2hhbmdlTG9nRGF0ZUFuZFJldmlld2VyKCkgbm93IHVw
ZGF0ZXMKKyAgICAgICAgdGhlIGRhdGUgbGluZSBvZiB0aGUgY29ycmVjdCBjaGFuZ2UgbG9nIGVu
dHJ5IGluIGEgQ2hhbmdlTG9nIGRpZmYuCisKKyAgICAgICAgKiBTY3JpcHRzL1ZDU1V0aWxzLnBt
OiBNb2RpZmllZCBmaXhDaGFuZ2VMb2dQYXRjaCgpIHRvIG1vdmUgZW50cmllcyBpbnNlcnRlZCBl
YXJsaWVyIHRvIHRoZSB0b3AuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRp
bHNfdW5pdHRlc3QvZml4Q2hhbmdlTG9nUGF0Y2gucGw6CisgICAgICAgICAgVXBkYXRlZCB0aGUg
Zm9sbG93aW5nIHVuaXQgdGVzdHMgbm93IHRoYXQgd2UgbW92ZSBlbnRyaWVzIGluc2VydGVkIGVh
cmxpZXIgdG8gdGhlIHRvcDoKKyAgICAgICAgICAtICJmaXhDaGFuZ2VMb2dQYXRjaDogTmV3IGVu
dHJ5IGluc2VydGVkIGluIG1pZGRsZS4iCisgICAgICAgICAgICAoZm9ybWVybHkgbmFtZWQgImZp
eENoYW5nZUxvZ1BhdGNoOiBbbm8gY2hhbmdlXSBOZXcgZW50cnkgaW5zZXJ0ZWQgaW4gbWlkZGxl
LiIpCisKKyAgICAgICAgICAtICJmaXhDaGFuZ2VMb2dQYXRjaDogTmV3IGVudHJ5IGluc2VydGVk
IGVhcmxpZXIgaW4gdGhlIGZpbGUsIGJ1dCBhZnRlciBhbiBlbnRyeSB3aXRoIHRoZSBzYW1lIGF1
dGhvciBhbmQgZGF0ZS4iCisgICAgICAgICAgICAoZm9ybWVybHkgbmFtZWQgImZpeENoYW5nZUxv
Z1BhdGNoOiBbbm8gY2hhbmdlXSBOZXcgZW50cnkgaW5zZXJ0ZWQgZWFybGllciBpbiB0aGUgZmls
ZSwgYnV0IGFmdGVyIGFuIGVudHJ5IHdpdGggdGhlIHNhbWUgYXV0aG9yIGFuZCBkYXRlLiIpCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvZml4Q2hhbmdl
TG9nUGF0Y2hUaGVuU2V0Q2hhbmdlTG9nRGF0ZUFuZFJldmlld2VyLnBsOiBBZGRlZC4KKwogMjAx
MC0xMi0yNyAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAKICAgICAgICAgUnViYmVy
LXN0YW1wZWQgYnkgTWFydGluIFJvYmluc29uLgpJbmRleDogVG9vbHMvU2NyaXB0cy9WQ1NVdGls
cy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCShyZXZpc2lvbiA3
NDcwMykKKysrIFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0JKHdvcmtpbmcgY29weSkKQEAgLTEz
MDQsMTIgKzEzMDQsNyBAQCBzdWIgc2V0Q2hhbmdlTG9nRGF0ZUFuZFJldmlld2VyKCQkJCkKICMg
UmV0dXJucyAkY2hhbmdlTG9nSGFzaFJlZjoKICMgICAkY2hhbmdlTG9nSGFzaFJlZjogYSBoYXNo
IHJlZmVyZW5jZSByZXByZXNlbnRpbmcgYSBjaGFuZ2UgbG9nIHBhdGNoLgogIyAgICAgcGF0Y2g6
IGEgQ2hhbmdlTG9nIHBhdGNoIGVxdWl2YWxlbnQgdG8gdGhlIGdpdmVuIG9uZSwgYnV0IHdpdGgg
dGhlCi0jICAgICAgICAgICAgbmV3ZXN0IENoYW5nZUxvZyBlbnRyeSBpbnNlcnRlZCBhdCB0aGUg
dG9wIG9mIHRoZSBmaWxlLCBpZiBwb3NzaWJsZS4KLSMgICAgIGhhc092ZXJsYXBwaW5nTGluZXM6
IHRoZSB2YWx1ZSAxIGlmIHRoZSBjaGFuZ2UgbG9nIGVudHJ5IG92ZXJsYXBzCi0jICAgICAgICAg
ICAgICAgICAgICAgICAgICBzb21lIGxpbmVzIG9mIGFub3RoZXIgY2hhbmdlIGxvZyBlbnRyeS4g
VGhpcyBjYW4KLSMgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcHBlbiB3aGVuIGRlbGliZXJh
dGVseSBpbnNlcnRpbmcgYSBuZXcgQ2hhbmdlTG9nCi0jICAgICAgICAgICAgICAgICAgICAgICAg
ICBlbnRyeSBlYXJsaWVyIGluIHRoZSBmaWxlIGFib3ZlIGFuIGVudHJ5IHdpdGgKLSMgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRoZSBzYW1lIGRhdGUgYW5kIGF1dGhvci4gICAgICAgICAgICAg
ICAgICAgICAKKyMgICAgICAgICAgICBuZXdlc3QgQ2hhbmdlTG9nIGVudHJ5IGluc2VydGVkIGF0
IHRoZSB0b3Agb2YgdGhlIGZpbGUsIGlmIHBvc3NpYmxlLiAgICAgICAgICAgICAgCiBzdWIgZml4
Q2hhbmdlTG9nUGF0Y2goJCkKIHsKICAgICBteSAkcGF0Y2ggPSBzaGlmdDsgIyAkcGF0Y2ggd2ls
bCBvbmx5IGNvbnRhaW4gcGF0Y2ggZnJhZ21lbnRzIGZvciBDaGFuZ2VMb2cuCkBAIC0xNDAzLDgg
KzEzOTgsMTkgQEAgc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpCiAgICAgICAgICRsaW5lc1skaV0g
PSAiKyR0ZXh0IjsKICAgICB9CiAKLSAgICAjIEZpbmlzaCBtb3Zpbmcgd2hhdGV2ZXIgb3Zlcmxh
cHBpbmcgbGluZXMgcmVtYWluLCBhbmQgdXBkYXRlCi0gICAgIyB0aGUgaW5pdGlhbCBjaHVuayBy
YW5nZS4KKyAgICAjIElmIEBvdmVybGFwcGluZ0xpbmVzID4gMCwgdGhpcyBpcyB3aGVyZSB3ZSBt
YWtlIHVzZSBvZiB0aGUKKyAgICAjIGFzc3VtcHRpb24gdGhhdCB0aGUgYmVnaW5uaW5nIG9mIHRo
ZSBzb3VyY2UgZmlsZSB3YXMgbm90IG1vZGlmaWVkLgorICAgIHNwbGljZShAbGluZXMsICRjaHVu
a1N0YXJ0SW5kZXgsIDAsIEBvdmVybGFwcGluZ0xpbmVzKTsKKworICAgICMgVXBkYXRlIHRoZSBk
YXRlIHN0YXJ0IGluZGV4IGFzIGl0IG1heSBoYXZlIGNoYW5nZWQgYWZ0ZXIgc2hpZnRpbmcKKyAg
ICAjIHRoZSBvdmVybGFwcGluZyBsaW5lcyB0b3dhcmRzIHRoZSBmcm9udC4KKyAgICBmb3IgKCRp
ID0gJGNodW5rU3RhcnRJbmRleDsgJGkgPCAkZGF0ZVN0YXJ0SW5kZXg7ICsrJGkpIHsKKyAgICAg
ICAgJGRhdGVTdGFydEluZGV4ID0gJGkgaWYgJGxpbmVzWyRpXSA9fiAvJGRhdGVTdGFydFJlZ0V4
LzsKKyAgICB9CisgICAgc3BsaWNlKEBsaW5lcywgJGNodW5rU3RhcnRJbmRleCwgJGRhdGVTdGFy
dEluZGV4IC0gJGNodW5rU3RhcnRJbmRleCk7ICMgUmVtb3ZlIGNvbnRleHQgb2YgbGF0ZXIgZW50
cnkuCisgICAgJGRlbGV0ZWRMaW5lQ291bnQgKz0gJGRhdGVTdGFydEluZGV4IC0gJGNodW5rU3Rh
cnRJbmRleDsKKworICAgICMgVXBkYXRlIHRoZSBpbml0aWFsIGNodW5rIHJhbmdlLgogICAgIG15
ICRjaHVua1JhbmdlUmVnRXggPSAnXlxAXEAgLShcZCspLChcZCspIFwrXGQrLChcZCspIFxAXEAk
JzsgIyBlLmcuIEBAIC0yLDYgKzIsMTggQEAKICAgICBpZiAoJGxpbmVzWyRjaHVua1N0YXJ0SW5k
ZXggLSAxXSAhfiAvJGNodW5rUmFuZ2VSZWdFeC8pIHsKICAgICAgICAgIyBGSVhNRTogSGFuZGxl
IGVycm9ycyBkaWZmZXJlbnRseSBmcm9tIENoYW5nZUxvZyBmaWxlcyB0aGF0CkBAIC0xNDEzLDIx
ICsxNDE5LDkgQEAgc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpCiAgICAgICAgICRjaGFuZ2VMb2dI
YXNoUmVme3BhdGNofSA9ICRwYXRjaDsgIyBFcnJvcjogdW5leHBlY3RlZCBwYXRjaCBzdHJpbmcg
Zm9ybWF0LgogICAgICAgICByZXR1cm4gXCVjaGFuZ2VMb2dIYXNoUmVmOwogICAgIH0KLSAgICBt
eSAkc2tpcHBlZEZpcnN0TGluZUNvdW50ID0gJDEgLSAxOwogICAgIG15ICRvbGRTb3VyY2VMaW5l
Q291bnQgPSAkMjsKICAgICBteSAkb2xkVGFyZ2V0TGluZUNvdW50ID0gJDM7CiAKLSAgICBpZiAo
QG92ZXJsYXBwaW5nTGluZXMgIT0gJHNraXBwZWRGaXJzdExpbmVDb3VudCkgewotICAgICAgICAj
IFRoaXMgY2FuIGhhcHBlbiwgZm9yIGV4YW1wbGUsIHdoZW4gZGVsaWJlcmF0ZWx5IGluc2VydGlu
ZwotICAgICAgICAjIGEgbmV3IENoYW5nZUxvZyBlbnRyeSBlYXJsaWVyIGluIHRoZSBmaWxlLgot
ICAgICAgICAkY2hhbmdlTG9nSGFzaFJlZntoYXNPdmVybGFwcGluZ0xpbmVzfSA9IDE7Ci0gICAg
ICAgICRjaGFuZ2VMb2dIYXNoUmVme3BhdGNofSA9ICRwYXRjaDsKLSAgICAgICAgcmV0dXJuIFwl
Y2hhbmdlTG9nSGFzaFJlZjsKLSAgICB9Ci0gICAgIyBJZiBAb3ZlcmxhcHBpbmdMaW5lcyA+IDAs
IHRoaXMgaXMgd2hlcmUgd2UgbWFrZSB1c2Ugb2YgdGhlCi0gICAgIyBhc3N1bXB0aW9uIHRoYXQg
dGhlIGJlZ2lubmluZyBvZiB0aGUgc291cmNlIGZpbGUgd2FzIG5vdCBtb2RpZmllZC4KLSAgICBz
cGxpY2UoQGxpbmVzLCAkY2h1bmtTdGFydEluZGV4LCAwLCBAb3ZlcmxhcHBpbmdMaW5lcyk7Ci0K
ICAgICBteSAkc291cmNlTGluZUNvdW50ID0gJG9sZFNvdXJjZUxpbmVDb3VudCArIEBvdmVybGFw
cGluZ0xpbmVzIC0gJGRlbGV0ZWRMaW5lQ291bnQ7CiAgICAgbXkgJHRhcmdldExpbmVDb3VudCA9
ICRvbGRUYXJnZXRMaW5lQ291bnQgKyBAb3ZlcmxhcHBpbmdMaW5lcyAtICRkZWxldGVkTGluZUNv
dW50OwogICAgICRsaW5lc1skY2h1bmtTdGFydEluZGV4IC0gMV0gPSAiQEAgLTEsJHNvdXJjZUxp
bmVDb3VudCArMSwkdGFyZ2V0TGluZUNvdW50IEBAIjsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9maXhDaGFuZ2VMb2dQYXRjaC5wbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvZml4Q2hhbmdl
TG9nUGF0Y2gucGwJKHJldmlzaW9uIDc0NzAzKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L1ZDU1V0aWxzX3VuaXR0ZXN0L2ZpeENoYW5nZUxvZ1BhdGNoLnBsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNzEsNyArMjcxLDcgQEAgRU5ECiAgICAgfQogfSwKIHsgIyBOZXcgdGVzdAotICAgIGRpZmZO
YW1lID0+ICJmaXhDaGFuZ2VMb2dQYXRjaDogW25vIGNoYW5nZV0gTmV3IGVudHJ5IGluc2VydGVk
IGluIG1pZGRsZS4iLAorICAgIGRpZmZOYW1lID0+ICJmaXhDaGFuZ2VMb2dQYXRjaDogTmV3IGVu
dHJ5IGluc2VydGVkIGluIG1pZGRsZS4iLAogICAgIGlucHV0VGV4dCA9PiA8PCdFTkQnLAogLS0t
IENoYW5nZUxvZwogKysrIENoYW5nZUxvZwpAQCAtMjkyLDMwICsyOTIsMjYgQEAgRU5ECiAgICAg
ICAgICAqIEZpbGU6CiBFTkQKICAgICBleHBlY3RlZFJldHVybiA9PiB7Ci0gICAgaGFzT3Zlcmxh
cHBpbmdMaW5lcyA9PiAxLAogICAgIHBhdGNoID0+IDw8J0VORCcsCiAtLS0gQ2hhbmdlTG9nCiAr
KysgQ2hhbmdlTG9nCi1AQCAtMTEsNiArMTEsMTQgQEAKLSAKLSAgICAgICAgIFJldmlld2VkIGJ5
IFJheS4KLSAKLSsgICAgICAgIENoYW5nZWQgc29tZSBtb3JlIGNvZGUgb24gMjAwOS0xMi0yMS4K
LSsKLSsgICAgICAgICogRmlsZToKLSsKK0BAIC0xLDMgKzEsMTEgQEAKICsyMDA5LTEyLTIxICBB
bGljZSAgPGFsaWNlQGVtYWlsLmFkZHJlc3M+CiArCiArICAgICAgICBSZXZpZXdlZCBieSBSYXku
CiArCi0gICAgICAgICBDaGFuZ2VkIHNvbWUgY29kZSBvbiAyMDA5LTEyLTIxLgorKyAgICAgICAg
Q2hhbmdlZCBzb21lIG1vcmUgY29kZSBvbiAyMDA5LTEyLTIxLgorKworKyAgICAgICAgKiBGaWxl
OgorKworIDIwMDktMTItMjEgIEFsaWNlICA8YWxpY2VAZW1haWwuYWRkcmVzcz4KICAKLSAgICAg
ICAgICogRmlsZToKKyAgICAgICAgIFJldmlld2VkIGJ5IFJheS4KIEVORAogICAgIH0KIH0sCiB7
ICMgTmV3IHRlc3QKLSAgICBkaWZmTmFtZSA9PiAiZml4Q2hhbmdlTG9nUGF0Y2g6IFtubyBjaGFu
Z2VdIE5ldyBlbnRyeSBpbnNlcnRlZCBlYXJsaWVyIGluIHRoZSBmaWxlLCBidXQgYWZ0ZXIgYW4g
ZW50cnkgd2l0aCB0aGUgc2FtZSBhdXRob3IgYW5kIGRhdGUuIiwKKyAgICBkaWZmTmFtZSA9PiAi
Zml4Q2hhbmdlTG9nUGF0Y2g6IE5ldyBlbnRyeSBpbnNlcnRlZCBlYXJsaWVyIGluIHRoZSBmaWxl
LCBidXQgYWZ0ZXIgYW4gZW50cnkgd2l0aCB0aGUgc2FtZSBhdXRob3IgYW5kIGRhdGUuIiwKICAg
ICBpbnB1dFRleHQgPT4gPDwnRU5EJywKIC0tLSBDaGFuZ2VMb2cKICsrKyBDaGFuZ2VMb2cKQEAg
LTMzNiwyNSArMzMyLDIxIEBAIEVORAogICAgICAgICAgQ2hhbmdlZCBzb21lIGNvZGUgb24gMjAw
OS0xMi0yMi4KIEVORAogICAgIGV4cGVjdGVkUmV0dXJuID0+IHsKLSAgICBoYXNPdmVybGFwcGlu
Z0xpbmVzID0+IDEsCiAgICAgcGF0Y2ggPT4gPDwnRU5EJywKIC0tLSBDaGFuZ2VMb2cKICsrKyBD
aGFuZ2VMb2cKLUBAIC03MCw2ICs3MCwxNCBAQAotIAotIDIwMDktMTItMjIgIEFsaWNlICA8YWxp
Y2VAZW1haWwuYWRkcmVzcz4KLSAKK0BAIC0xLDMgKzEsMTEgQEAKKysyMDA5LTEyLTIyICBBbGlj
ZSAgPGFsaWNlQGVtYWlsLmFkZHJlc3M+CisrCiArICAgICAgICBSZXZpZXdlZCBieSBTdWUuCiAr
CiArICAgICAgICBDaGFuZ2VkIHNvbWUgbW9yZSBjb2RlIG9uIDIwMDktMTItMjIuCiArCiArICAg
ICAgICAqIEZpbGU6CiArCi0rMjAwOS0xMi0yMiAgQWxpY2UgIDxhbGljZUBlbWFpbC5hZGRyZXNz
PgotKwotICAgICAgICAgUmV2aWV3ZWQgYnkgUmF5LgorIDIwMDktMTItMjIgIEFsaWNlICA8YWxp
Y2VAZW1haWwuYWRkcmVzcz4KICAKLSAgICAgICAgIENoYW5nZWQgc29tZSBjb2RlIG9uIDIwMDkt
MTItMjIuCisgICAgICAgICBSZXZpZXdlZCBieSBSYXkuCiBFTkQKICAgICB9CiB9LApJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2ZpeENoYW5nZUxvZ1Bh
dGNoVGhlblNldENoYW5nZUxvZ0RhdGVBbmRSZXZpZXdlci5wbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvZml4Q2hhbmdlTG9nUGF0Y2hU
aGVuU2V0Q2hhbmdlTG9nRGF0ZUFuZFJldmlld2VyLnBsCShyZXZpc2lvbiAwKQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2ZpeENoYW5nZUxvZ1BhdGNoVGhl
blNldENoYW5nZUxvZ0RhdGVBbmRSZXZpZXdlci5wbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5
MiBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisjCisjIENvcHlyaWdodCAoQykgMjAxMCBDaHJpcyBK
ZXJkb25layAoY2plcmRvbmVrQHdlYmtpdC5vcmcpCisjIENvcHlyaWdodCAoQykgMjAxMCBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMg
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIyBVbml0IHRlc3RzIGZvciBzZXRDaGFu
Z2VMb2dEYXRlQW5kUmV2aWV3ZXIoZml4Q2hhbmdlTG9nUGF0Y2goKSkuCisKK3VzZSBzdHJpY3Q7
Cit1c2Ugd2FybmluZ3M7CisKK3VzZSBUZXN0OjpNb3JlOwordXNlIFZDU1V0aWxzOworCitteSBA
dGVzdENhc2VIYXNoUmVmcyA9ICgKK3sKKyAgICB0ZXN0TmFtZSA9PiAiTmV3IGVudHJ5IGluc2Vy
dGVkIGVhcmxpZXIgaW4gdGhlIGZpbGUsIGJ1dCBhZnRlciBhbiBlbnRyeSB3aXRoIHRoZSBzYW1l
IGF1dGhvciBhbmQgZGF0ZSwgcGF0Y2ggYXBwbGllZCBhIGRheSBsYXRlci4iLAorICAgIHJldmll
d2VyID0+ICJTdWUiLAorICAgIGVwb2NoVGltZSA9PiAxMjczNDE0MzIxLAorICAgIHBhdGNoID0+
IDw8J0VORCcsCistLS0gQ2hhbmdlTG9nCisrKysgQ2hhbmdlTG9nCitAQCAtNzAsNiArNzAsMTQg
QEAKKyAKKyAyMDEwLTA1LTA4ICBBbGljZSAgPGFsaWNlQGVtYWlsLmFkZHJlc3M+CisgCisrICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKysKKysgICAgICAgIENoYW5nZWQgc29t
ZSBtb3JlIGNvZGUgb24gMjAxMC0wNS0wOC4KKysKKysgICAgICAgICogRmlsZToKKysKKysyMDEw
LTA1LTA4ICBBbGljZSAgPGFsaWNlQGVtYWlsLmFkZHJlc3M+CisrCisgICAgICAgICBSZXZpZXdl
ZCBieSBSYXkuCisgCisgICAgICAgICBDaGFuZ2VkIHNvbWUgY29kZSBvbiAyMDEwLTA1LTA4Lgor
RU5ECisgICAgZXhwZWN0ZWRSZXR1cm4gPT4gPDwnRU5EJywKKy0tLSBDaGFuZ2VMb2cKKysrKyBD
aGFuZ2VMb2cKK0BAIC0xLDMgKzEsMTEgQEAKKysyMDEwLTA1LTA5ICBBbGljZSAgPGFsaWNlQGVt
YWlsLmFkZHJlc3M+CisrCisrICAgICAgICBSZXZpZXdlZCBieSBTdWUuCisrCisrICAgICAgICBD
aGFuZ2VkIHNvbWUgbW9yZSBjb2RlIG9uIDIwMTAtMDUtMDguCisrCisrICAgICAgICAqIEZpbGU6
CisrCisgMjAxMC0wNS0wOCAgQWxpY2UgIDxhbGljZUBlbWFpbC5hZGRyZXNzPgorIAorICAgICAg
ICAgUmV2aWV3ZWQgYnkgUmF5LgorRU5ECit9LAorKTsKKworbXkgJHRlc3RDYXNlc0NvdW50ID0g
QHRlc3RDYXNlSGFzaFJlZnM7CitwbGFuKHRlc3RzID0+IDEgKiAkdGVzdENhc2VzQ291bnQpOyAj
IFRvdGFsIG51bWJlciBvZiBhc3NlcnRpb25zLgorCitmb3JlYWNoIG15ICR0ZXN0Q2FzZSAoQHRl
c3RDYXNlSGFzaFJlZnMpIHsKKyAgICBteSAkdGVzdE5hbWVTdGFydCA9ICJzZXRDaGFuZ2VMb2dE
YXRlQW5kUmV2aWV3ZXIoZml4Q2hhbmdlTG9nUGF0Y2goKSk6ICR0ZXN0Q2FzZS0+e3Rlc3ROYW1l
fTogY29tcGFyaW5nIjsKKworICAgIG15ICRwYXRjaCA9ICR0ZXN0Q2FzZS0+e3BhdGNofTsKKyAg
ICBteSAkcmV2aWV3ZXIgPSAkdGVzdENhc2UtPntyZXZpZXdlcn07CisgICAgbXkgJGVwb2NoVGlt
ZSA9ICR0ZXN0Q2FzZS0+e2Vwb2NoVGltZX07CisKKyAgICBteSAkZml4ZWRDaGFuZ2VMb2cgPSBW
Q1NVdGlsczo6Zml4Q2hhbmdlTG9nUGF0Y2goJHBhdGNoKTsKKyAgICBteSAkZ290ID0gVkNTVXRp
bHM6OnNldENoYW5nZUxvZ0RhdGVBbmRSZXZpZXdlcigkZml4ZWRDaGFuZ2VMb2ctPntwYXRjaH0s
ICRyZXZpZXdlciwgJGVwb2NoVGltZSk7CisgICAgbXkgJGV4cGVjdGVkUmV0dXJuID0gJHRlc3RD
YXNlLT57ZXhwZWN0ZWRSZXR1cm59OworCisgICAgaXMoJGdvdCwgJGV4cGVjdGVkUmV0dXJuLCAi
JHRlc3ROYW1lU3RhcnQgcmV0dXJuIHZhbHVlLiIpOworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>