<?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>98117</bug_id>
          
          <creation_ts>2012-10-01 22:53:33 -0700</creation_ts>
          <short_desc>[Chromium-Win] Implement LocaleWin::dateFormat</short_desc>
          <delta_ts>2012-10-02 18:17:07 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>98109</dependson>
          <blocked>97997</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>732286</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-01 22:53:33 -0700</bug_when>
    <thetext>[Chromium-Win] Implement LocaleWin::dateFormat</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732425</commentid>
    <comment_count>1</comment_count>
      <attachid>166642</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-02 01:48:49 -0700</bug_when>
    <thetext>Created attachment 166642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732428</commentid>
    <comment_count>2</comment_count>
      <attachid>166644</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-02 01:53:42 -0700</bug_when>
    <thetext>Created attachment 166644
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732439</commentid>
    <comment_count>3</comment_count>
      <attachid>166644</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-02 02:13:22 -0700</bug_when>
    <thetext>Comment on attachment 166644
Patch 2

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        No new tests. The function is not used yet.

Isn&apos;t there any way to add a test? At least I want a manual test.

&gt; Source/WebCore/platform/text/LocaleWin.cpp:703
&gt; +    for (unsigned i = 0; i &lt; literal.length(); ++i) {
&gt; +        if (literal[i] == &apos;\&apos;&apos;)
&gt; +            buffer.append(&quot;&apos;&apos;&quot;);
&gt; +        else {
&gt; +            String escaped = literal.substring(i);
&gt; +            escaped.replace(ASCIILiteral(&quot;&apos;&quot;), ASCIILiteral(&quot;&apos;&apos;&quot;));
&gt; +            buffer.append(&quot;&apos;&quot;);
&gt; +            buffer.append(escaped);
&gt; +            buffer.append(&quot;&apos;&quot;);
&gt; +            return;
&gt; +        }
&gt; +    }

I don&apos;t fully understand the behavior:

&apos;&apos; =&gt; &apos;&apos;&apos;&apos;&apos;&apos;
&apos;abc&apos; =&gt; &apos;&apos;&apos;abc&apos;&apos;&apos;
a&apos;bc&apos; =&gt; &apos;a&apos;&apos;bc&apos;&apos;&apos;

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732493</commentid>
    <comment_count>4</comment_count>
      <attachid>166657</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-02 03:51:27 -0700</bug_when>
    <thetext>Created attachment 166657
Patch 3

Add test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732496</commentid>
    <comment_count>5</comment_count>
      <attachid>166644</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-02 03:58:02 -0700</bug_when>
    <thetext>Comment on attachment 166644
Patch 2

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        No new tests. The function is not used yet.
&gt; 
&gt; Isn&apos;t there any way to add a test? At least I want a manual test.

I exposed a function of LocaleWin, and added a test to LocaleWinTest.cpp.

&gt;&gt; Source/WebCore/platform/text/LocaleWin.cpp:703
&gt;&gt; +    }
&gt; 
&gt; I don&apos;t fully understand the behavior:
&gt; 
&gt; &apos;&apos; =&gt; &apos;&apos;&apos;&apos;&apos;&apos;
&gt; &apos;abc&apos; =&gt; &apos;&apos;&apos;abc&apos;&apos;&apos;
&gt; a&apos;bc&apos; =&gt; &apos;a&apos;&apos;bc&apos;&apos;&apos;
&gt; 
&gt; ?

| &apos;&apos; =&gt; &apos;&apos;&apos;&apos;&apos;&apos;

This should be: &apos;&apos; =&gt; &apos;&apos;&apos;&apos;

| &apos;abc&apos; =&gt; &apos;&apos;&apos;abc&apos;&apos;&apos;
| a&apos;bc&apos; =&gt; &apos;a&apos;&apos;bc&apos;&apos;&apos;

Right.

- &apos; is always represented as &apos;&apos;
- other letters are always quoted by &apos; and &apos;.
- If a source string starts with &apos;, we need special handling.
    If the source string was &apos; and we replaced it with &apos;&apos; then wrap with &apos; and &apos;, the function would produce &apos;&apos;&apos;&apos;, which will be recognized as two quotes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732504</commentid>
    <comment_count>6</comment_count>
      <attachid>166657</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-02 04:08:14 -0700</bug_when>
    <thetext>Comment on attachment 166657
Patch 3

Looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733285</commentid>
    <comment_count>7</comment_count>
      <attachid>166657</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-02 18:17:04 -0700</bug_when>
    <thetext>Comment on attachment 166657
Patch 3

Clearing flags on attachment: 166657

Committed r130242: &lt;http://trac.webkit.org/changeset/130242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733286</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-02 18:17:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166642</attachid>
            <date>2012-10-02 01:48:49 -0700</date>
            <delta_ts>2012-10-02 01:53:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98117-20121002174802.patch</filename>
            <type>text/plain</type>
            <size>5296</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJkYjAzYWYzZmFjNGVk
MDIyYWQ0YWU4NGExYzNlNjA5MjY4OWVhNS4uZTliN2FkM2ZlMTljYzY2OTgwZTRkYmQ2ODNlNWIx
MTNkZTA1YWI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTEwLTAyICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW0tV2luXSBJ
bXBsZW1lbnQgTG9jYWxlV2luOjpkYXRlRm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODExNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEz
MDEyNyBpbnRyb2R1Y2VkCisgICAgICAgIExvY2FsaXplcjo6ZGF0ZUZvcm1hdCwgYW5kIHRoaXMg
aXMgaXRzIGltcGxlbWVudGF0aW9uIGZvciBMb2NhbGVJQ1UKKyAgICAgICAgY2xhc3NzLiBUaGUg
Y29kZSBpcyBnb2luZyB0byBiZSB1c2VkIHdoZW4KKyAgICAgICAgRU5BQkxFX0lOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSBpcyBlbmFibGVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhlIGZ1
bmN0aW9uIGlzIG5vdCB1c2VkIHlldC4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxl
V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZEFzTERNTExpdGVyYWwpOgorICAgICAg
ICBBIGhlbHBlciBmdW5jdGlvbiB0byBtYWtlIGEgbGl0ZXJhbCBzdHJpbmcgZm9yIExETUwuCisg
ICAgICAgIChXZWJDb3JlOjpjb252ZXJ0V2luZG93c0RhdGVGb3JtYXRUb0xETUwpOgorICAgICAg
ICBDcmVhdGVzIGFuIExETUwgZm9ybWF0IGZyb20gYSBwYXJzZWQgZGF0ZSBmb3JtYXQgdG9rZW5z
LgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlV2luOjpkYXRlRm9ybWF0KToKKyAgICAgICAgSW1w
bGVtZW50ZWQuIFRoaXMgdXNlcyBjb252ZXJ0V2luZG93c0RhdGVGb3JtYXRUb0xETUwuCisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaDoKKyAgICAgICAgKExvY2FsZVdpbik6IERl
Y2xhcmUgbV9kYXRlRm9ybWF0LgorCiAyMDEyLTEwLTAxICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3Np
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkaW5nIExvY2FsaXplcjo6ZGF0ZUZvcm1hdCgp
IGZvciBtdWx0aXBsZSBmaWVsZHMgZGF0ZS9kYXRldGltZSBpbnB1dCBVSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwCmluZGV4IDg3MjUyZGU2NjJjMDE0MzBmNmY0
MjJlMDgxODFlNDcxNTMyODFkYjkuLjFjYzcwMzhmZDdjN2IxNmNkMWFhYzJlYzI4OTA3MmYwMjlk
MWMyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKQEAg
LTY3Nyw2ICs2NzcsNzQgQEAgdW5zaWduZWQgTG9jYWxlV2luOjpmaXJzdERheU9mV2VlaygpCiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCitzdGF0aWMgdm9p
ZCBhcHBlbmRBc0xETUxMaXRlcmFsKGNvbnN0IFN0cmluZyYgbGl0ZXJhbCwgU3RyaW5nQnVpbGRl
ciYgYnVmZmVyKQoreworICAgIGlmIChsaXRlcmFsLmxlbmd0aCgpIDw9IDApCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBpZiAobGl0ZXJhbC5maW5kKCdcJycpID09IG5vdEZvdW5kKSB7Cisg
ICAgICAgIGJ1ZmZlci5hcHBlbmQoIiciKTsKKyAgICAgICAgYnVmZmVyLmFwcGVuZChsaXRlcmFs
KTsKKyAgICAgICAgYnVmZmVyLmFwcGVuZCgiJyIpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxpdGVyYWwubGVuZ3RoKCk7ICsraSkgewor
ICAgICAgICBpZiAobGl0ZXJhbFtpXSA9PSAnXCcnKQorICAgICAgICAgICAgYnVmZmVyLmFwcGVu
ZCgiJyciKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKCInIik7
CisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKGxpdGVyYWwsIGksIGxpdGVyYWwubGVuZ3RoKCkg
LSBpKTsKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoIiciKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgIH0KK30KKworc3RhdGljIFN0cmluZyBjb252ZXJ0V2luZG93c0Rh
dGVGb3JtYXRUb0xETUwoY29uc3QgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4mIHRva2VucykKK3sK
KyAgICBTdHJpbmdCdWlsZGVyIGJ1ZmZlcjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
dG9rZW5zLnNpemUoKTsgKytpKSB7CisgICAgICAgIHN3aXRjaCAodG9rZW5zW2ldLnR5cGUpIHsK
KyAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OkxpdGVyYWw6CisgICAgICAgICAgICBhcHBl
bmRBc0xETUxMaXRlcmFsKHRva2Vuc1tpXS5kYXRhLCBidWZmZXIpOworICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OkRheTI6CisgICAgICAgICAgICBi
dWZmZXIuYXBwZW5kKHN0YXRpY19jYXN0PGNoYXI+KERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVE
YXlPZk1vbnRoKSk7CisgICAgICAgICAgICAvLyBGYWxsdGhyb3VnaC4KKyAgICAgICAgY2FzZSBE
YXRlRm9ybWF0VG9rZW46OkRheTE6CisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKHN0YXRpY19j
YXN0PGNoYXI+KERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoKSk7CisgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6TW9udGg0OgorICAg
ICAgICAgICAgYnVmZmVyLmFwcGVuZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1hdDo6
RmllbGRUeXBlTW9udGgpKTsKKyAgICAgICAgICAgIC8vIEZhbGx0aHJvdWdoLgorICAgICAgICBj
YXNlIERhdGVGb3JtYXRUb2tlbjo6TW9udGgzOgorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChz
dGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGgpKTsKKyAgICAg
ICAgICAgIC8vIEZhbGx0aHJvdWdoLgorICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6TW9u
dGgyOgorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGlt
ZUZvcm1hdDo6RmllbGRUeXBlTW9udGgpKTsKKyAgICAgICAgICAgIC8vIEZhbGx0aHJvdWdoLgor
ICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6TW9udGgxOgorICAgICAgICAgICAgYnVmZmVy
LmFwcGVuZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGgp
KTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpZ
ZWFyNDoKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hhcj4oRGF0ZVRp
bWVGb3JtYXQ6OkZpZWxkVHlwZVllYXIpKTsKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoc3Rh
dGljX2Nhc3Q8Y2hhcj4oRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVllYXIpKTsKKyAgICAgICAg
ICAgIC8vIEZhbGx0aHJvdWdoLgorICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjI6
CisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKHN0YXRpY19jYXN0PGNoYXI+KERhdGVUaW1lRm9y
bWF0OjpGaWVsZFR5cGVZZWFyKSk7CisgICAgICAgICAgICAvLyBGYWxsdGhyb3VnaC4KKyAgICAg
ICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OlllYXIxOgorICAgICAgICAgICAgYnVmZmVyLmFwcGVu
ZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlWWVhcikpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGJ1ZmZlci50b1N0
cmluZygpOworfQorCiBzdGF0aWMgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBtYXBDaGFyYWN0
ZXJUb0RhdGVUaW1lRmllbGRUeXBlKFVDaGFyIGNoKQogewogICAgIHN3aXRjaCAoY2gpIHsKQEAg
LTczMSw4ICs3OTksMTEgQEAgc3RhdGljIFN0cmluZyBjb252ZXJ0V2luZG93c1RpbWVGb3JtYXRU
b0xETUwoY29uc3QgU3RyaW5nJiB3aW5kb3dzVGltZUZvcm1hdCkKIAogU3RyaW5nIExvY2FsZVdp
bjo6ZGF0ZUZvcm1hdCgpCiB7Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIHJlYWwgaW1w
bGVtZW50YXRpb24gb2YgTG9jYWxlV2luOjpkYXRlRm9ybWF0KCkuCi0gICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7CisgICAgaWYgKCFtX2RhdGVGb3JtYXQuaXNFbXB0eSgpKQorICAgICAgICByZXR1
cm4gbV9kYXRlRm9ybWF0OworICAgIGVuc3VyZVNob3J0RGF0ZVRva2VucygpOworICAgIG1fZGF0
ZUZvcm1hdCA9IGNvbnZlcnRXaW5kb3dzRGF0ZUZvcm1hdFRvTERNTChtX3Nob3J0RGF0ZVRva2Vu
cyk7CisgICAgcmV0dXJuIG1fZGF0ZUZvcm1hdDsKIH0KIAogU3RyaW5nIExvY2FsZVdpbjo6dGlt
ZUZvcm1hdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
ZVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaAppbmRleCA5
NDAzNmM5MWJjOWM0ZWJiMTRmMzMzMjhiZjM5MjcyNGIwNDExODI1Li5mZjU5NDYyOTEzYzM3NzJj
YzlkYmY1MDIwMzA1NzcxYTU1ZGE2ZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlV2luLmgKQEAgLTk0LDYgKzk0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8RGF0ZUZv
cm1hdFRva2VuPiBtX3Nob3J0RGF0ZVRva2VuczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3Nob3J0
TW9udGhMYWJlbHM7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9tb250aExhYmVsczsKKyNpZiBFTkFC
TEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7Cisj
ZW5kaWYKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIFZlY3RvcjxTdHJpbmc+IG1f
d2Vla0RheVNob3J0TGFiZWxzOwogICAgIHVuc2lnbmVkIG1fZmlyc3REYXlPZldlZWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166644</attachid>
            <date>2012-10-02 01:53:42 -0700</date>
            <delta_ts>2012-10-02 03:58:02 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-98117-20121002175255.patch</filename>
            <type>text/plain</type>
            <size>5392</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJkYjAzYWYzZmFjNGVk
MDIyYWQ0YWU4NGExYzNlNjA5MjY4OWVhNS4uZTliN2FkM2ZlMTljYzY2OTgwZTRkYmQ2ODNlNWIx
MTNkZTA1YWI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTEwLTAyICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW0tV2luXSBJ
bXBsZW1lbnQgTG9jYWxlV2luOjpkYXRlRm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODExNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEz
MDEyNyBpbnRyb2R1Y2VkCisgICAgICAgIExvY2FsaXplcjo6ZGF0ZUZvcm1hdCwgYW5kIHRoaXMg
aXMgaXRzIGltcGxlbWVudGF0aW9uIGZvciBMb2NhbGVJQ1UKKyAgICAgICAgY2xhc3NzLiBUaGUg
Y29kZSBpcyBnb2luZyB0byBiZSB1c2VkIHdoZW4KKyAgICAgICAgRU5BQkxFX0lOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSBpcyBlbmFibGVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhlIGZ1
bmN0aW9uIGlzIG5vdCB1c2VkIHlldC4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxl
V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZEFzTERNTExpdGVyYWwpOgorICAgICAg
ICBBIGhlbHBlciBmdW5jdGlvbiB0byBtYWtlIGEgbGl0ZXJhbCBzdHJpbmcgZm9yIExETUwuCisg
ICAgICAgIChXZWJDb3JlOjpjb252ZXJ0V2luZG93c0RhdGVGb3JtYXRUb0xETUwpOgorICAgICAg
ICBDcmVhdGVzIGFuIExETUwgZm9ybWF0IGZyb20gYSBwYXJzZWQgZGF0ZSBmb3JtYXQgdG9rZW5z
LgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlV2luOjpkYXRlRm9ybWF0KToKKyAgICAgICAgSW1w
bGVtZW50ZWQuIFRoaXMgdXNlcyBjb252ZXJ0V2luZG93c0RhdGVGb3JtYXRUb0xETUwuCisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaDoKKyAgICAgICAgKExvY2FsZVdpbik6IERl
Y2xhcmUgbV9kYXRlRm9ybWF0LgorCiAyMDEyLTEwLTAxICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3Np
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkaW5nIExvY2FsaXplcjo6ZGF0ZUZvcm1hdCgp
IGZvciBtdWx0aXBsZSBmaWVsZHMgZGF0ZS9kYXRldGltZSBpbnB1dCBVSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwCmluZGV4IDg3MjUyZGU2NjJjMDE0MzBmNmY0
MjJlMDgxODFlNDcxNTMyODFkYjkuLjUwM2ExNjNiZTQ0MDdkNjVjZTU4NTU3NjkzNGM5OWRhZTgw
ZGY5M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKQEAg
LTY3Nyw2ICs2NzcsNzYgQEAgdW5zaWduZWQgTG9jYWxlV2luOjpmaXJzdERheU9mV2VlaygpCiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCitzdGF0aWMgdm9p
ZCBhcHBlbmRBc0xETUxMaXRlcmFsKGNvbnN0IFN0cmluZyYgbGl0ZXJhbCwgU3RyaW5nQnVpbGRl
ciYgYnVmZmVyKQoreworICAgIGlmIChsaXRlcmFsLmxlbmd0aCgpIDw9IDApCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBpZiAobGl0ZXJhbC5maW5kKCdcJycpID09IG5vdEZvdW5kKSB7Cisg
ICAgICAgIGJ1ZmZlci5hcHBlbmQoIiciKTsKKyAgICAgICAgYnVmZmVyLmFwcGVuZChsaXRlcmFs
KTsKKyAgICAgICAgYnVmZmVyLmFwcGVuZCgiJyIpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxpdGVyYWwubGVuZ3RoKCk7ICsraSkgewor
ICAgICAgICBpZiAobGl0ZXJhbFtpXSA9PSAnXCcnKQorICAgICAgICAgICAgYnVmZmVyLmFwcGVu
ZCgiJyciKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBTdHJpbmcgZXNjYXBlZCA9IGxp
dGVyYWwuc3Vic3RyaW5nKGkpOworICAgICAgICAgICAgZXNjYXBlZC5yZXBsYWNlKEFTQ0lJTGl0
ZXJhbCgiJyIpLCBBU0NJSUxpdGVyYWwoIicnIikpOworICAgICAgICAgICAgYnVmZmVyLmFwcGVu
ZCgiJyIpOworICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChlc2NhcGVkKTsKKyAgICAgICAgICAg
IGJ1ZmZlci5hcHBlbmQoIiciKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KK30KKworc3RhdGljIFN0cmluZyBjb252ZXJ0V2luZG93c0RhdGVGb3JtYXRUb0xETUwoY29u
c3QgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4mIHRva2VucykKK3sKKyAgICBTdHJpbmdCdWlsZGVy
IGJ1ZmZlcjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9rZW5zLnNpemUoKTsgKytp
KSB7CisgICAgICAgIHN3aXRjaCAodG9rZW5zW2ldLnR5cGUpIHsKKyAgICAgICAgY2FzZSBEYXRl
Rm9ybWF0VG9rZW46OkxpdGVyYWw6CisgICAgICAgICAgICBhcHBlbmRBc0xETUxMaXRlcmFsKHRv
a2Vuc1tpXS5kYXRhLCBidWZmZXIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2Fz
ZSBEYXRlRm9ybWF0VG9rZW46OkRheTI6CisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKHN0YXRp
Y19jYXN0PGNoYXI+KERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoKSk7CisgICAg
ICAgICAgICAvLyBGYWxsdGhyb3VnaC4KKyAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OkRh
eTE6CisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKHN0YXRpY19jYXN0PGNoYXI+KERhdGVUaW1l
Rm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoKSk7CisgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6TW9udGg0OgorICAgICAgICAgICAgYnVmZmVyLmFw
cGVuZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGgpKTsK
KyAgICAgICAgICAgIC8vIEZhbGx0aHJvdWdoLgorICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tl
bjo6TW9udGgzOgorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChzdGF0aWNfY2FzdDxjaGFyPihE
YXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGgpKTsKKyAgICAgICAgICAgIC8vIEZhbGx0aHJv
dWdoLgorICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6TW9udGgyOgorICAgICAgICAgICAg
YnVmZmVyLmFwcGVuZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBl
TW9udGgpKTsKKyAgICAgICAgICAgIC8vIEZhbGx0aHJvdWdoLgorICAgICAgICBjYXNlIERhdGVG
b3JtYXRUb2tlbjo6TW9udGgxOgorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChzdGF0aWNfY2Fz
dDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGgpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpZZWFyNDoKKyAgICAgICAgICAg
IGJ1ZmZlci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hhcj4oRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlw
ZVllYXIpKTsKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hhcj4oRGF0
ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVllYXIpKTsKKyAgICAgICAgICAgIC8vIEZhbGx0aHJvdWdo
LgorICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjI6CisgICAgICAgICAgICBidWZm
ZXIuYXBwZW5kKHN0YXRpY19jYXN0PGNoYXI+KERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFy
KSk7CisgICAgICAgICAgICAvLyBGYWxsdGhyb3VnaC4KKyAgICAgICAgY2FzZSBEYXRlRm9ybWF0
VG9rZW46OlllYXIxOgorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChzdGF0aWNfY2FzdDxjaGFy
PihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlWWVhcikpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGJ1ZmZlci50b1N0cmluZygpOworfQorCiBzdGF0
aWMgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBtYXBDaGFyYWN0ZXJUb0RhdGVUaW1lRmllbGRU
eXBlKFVDaGFyIGNoKQogewogICAgIHN3aXRjaCAoY2gpIHsKQEAgLTczMSw4ICs4MDEsMTEgQEAg
c3RhdGljIFN0cmluZyBjb252ZXJ0V2luZG93c1RpbWVGb3JtYXRUb0xETUwoY29uc3QgU3RyaW5n
JiB3aW5kb3dzVGltZUZvcm1hdCkKIAogU3RyaW5nIExvY2FsZVdpbjo6ZGF0ZUZvcm1hdCgpCiB7
Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIHJlYWwgaW1wbGVtZW50YXRpb24gb2YgTG9j
YWxlV2luOjpkYXRlRm9ybWF0KCkuCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgaWYg
KCFtX2RhdGVGb3JtYXQuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbV9kYXRlRm9ybWF0Owor
ICAgIGVuc3VyZVNob3J0RGF0ZVRva2VucygpOworICAgIG1fZGF0ZUZvcm1hdCA9IGNvbnZlcnRX
aW5kb3dzRGF0ZUZvcm1hdFRvTERNTChtX3Nob3J0RGF0ZVRva2Vucyk7CisgICAgcmV0dXJuIG1f
ZGF0ZUZvcm1hdDsKIH0KIAogU3RyaW5nIExvY2FsZVdpbjo6dGltZUZvcm1hdCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaAppbmRleCA5NDAzNmM5MWJjOWM0ZWJiMTRm
MzMzMjhiZjM5MjcyNGIwNDExODI1Li5mZjU5NDYyOTEzYzM3NzJjYzlkYmY1MDIwMzA1NzcxYTU1
ZGE2ZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdp
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmgKQEAgLTk0
LDYgKzk0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8RGF0ZUZvcm1hdFRva2VuPiBtX3Nob3J0
RGF0ZVRva2VuczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3Nob3J0TW9udGhMYWJlbHM7CiAgICAg
VmVjdG9yPFN0cmluZz4gbV9tb250aExhYmVsczsKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJKQorICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CisjZW5kaWYKICNpZiBFTkFCTEUo
Q0FMRU5EQVJfUElDS0VSKQogICAgIFZlY3RvcjxTdHJpbmc+IG1fd2Vla0RheVNob3J0TGFiZWxz
OwogICAgIHVuc2lnbmVkIG1fZmlyc3REYXlPZldlZWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166657</attachid>
            <date>2012-10-02 03:51:27 -0700</date>
            <delta_ts>2012-10-02 18:17:03 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-98117-20121002195039.patch</filename>
            <type>text/plain</type>
            <size>9338</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJkYjAzYWYzZmFjNGVk
MDIyYWQ0YWU4NGExYzNlNjA5MjY4OWVhNS4uY2M0MWYxNzAzZGNkYmE5Y2NlNDAwMjI0NjlmMmJm
NTIzNTU2MGE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEwLTAyICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW0tV2luXSBJ
bXBsZW1lbnQgTG9jYWxlV2luOjpkYXRlRm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODExNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEz
MDEyNyBpbnRyb2R1Y2VkCisgICAgICAgIExvY2FsaXplcjo6ZGF0ZUZvcm1hdCwgYW5kIHRoaXMg
aXMgaXRzIGltcGxlbWVudGF0aW9uIGZvciBMb2NhbGVJQ1UKKyAgICAgICAgY2xhc3NzLiBUaGUg
Y29kZSBpcyBnb2luZyB0byBiZSB1c2VkIHdoZW4KKyAgICAgICAgRU5BQkxFX0lOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSBpcyBlbmFibGVkLgorCisgICAgICAgIFRlc3RzOiBBZGRlZCBhIG5ldyB0
ZXN0IHRvIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNwcC4KKworICAgICAg
ICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNl
RGF0ZUZvcm1hdCk6CisgICAgICAgIEZpeCBhIGNvbnRpbnVvdXMgYXBvc3Ryb3BoZXMgcGFyc2lu
ZyBidWc7ICJhYmMnJycnZGVmIiBwcm9kdWNlZCAiYWJjJycnZGVmIgorICAgICAgICAoV2ViQ29y
ZTo6YXBwZW5kQXNMRE1MTGl0ZXJhbCk6CisgICAgICAgIEEgaGVscGVyIGZ1bmN0aW9uIHRvIG1h
a2UgYSBsaXRlcmFsIHN0cmluZyBmb3IgTERNTC4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRX
aW5kb3dzRGF0ZUZvcm1hdFRvTERNTCk6CisgICAgICAgIENyZWF0ZXMgYW4gTERNTCBmb3JtYXQg
ZnJvbSBhIHBhcnNlZCBkYXRlIGZvcm1hdCB0b2tlbnMuCisgICAgICAgIChXZWJDb3JlOjpMb2Nh
bGVXaW46OmRhdGVGb3JtYXQpOgorICAgICAgICBJbXBsZW1lbnRlZC4gVGhpcyB1c2VzIGNvbnZl
cnRXaW5kb3dzRGF0ZUZvcm1hdFRvTERNTC4KKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsZVdpbjo6
ZGF0ZUZvcm1hdCk6CisgICAgICAgIEFkZGVkIGZvciB0ZXN0aW5nLiBUaGUgc291cmNlIHdpbmRv
d3MgZm9ybWF0IGlzIHNwZWNpZmllZCBhcyBhIGZ1bmN0aW9uCisgICAgICAgIGFyZ3VtZW50Lgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlV2luLmg6CisgICAgICAgIChMb2NhbGVXaW4p
OiBEZWNsYXJlIG1fZGF0ZUZvcm1hdCBhbmQgZGF0ZUZvcm1hdCgpLgorCiAyMDEyLTEwLTAxICBZ
b3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkaW5nIExv
Y2FsaXplcjo6ZGF0ZUZvcm1hdCgpIGZvciBtdWx0aXBsZSBmaWVsZHMgZGF0ZS9kYXRldGltZSBp
bnB1dCBVSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiZGZhZDgzMjYzMzUxNjg4Y2Uz
Nzk0YTU4MGVkMmM5NzIwM2I5YTAyLi5kMzUxYzRhZmVmZDdhZDQ5ODQ1OTFhM2JkMmQ2OTdmMmIz
MTBlMDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEy
LTEwLTAyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hy
b21pdW0tV2luXSBJbXBsZW1lbnQgTG9jYWxlV2luOjpkYXRlRm9ybWF0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODExNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvTG9jYWxlV2luVGVzdC5j
cHA6CisgICAgICAgIChURVNUX0YpOiBBZGQgdGVzdHMgZm9yIExvY2FsZVdpbjo6ZGF0ZUZvcm1h
dC4KKwogMjAxMi0xMC0wMSAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjEzMDExNik6IE5lZWQgdG8gdXBkYXRlIERhdGVUaW1lRm9y
bWF0VGVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVX
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwCmluZGV4
IDg3MjUyZGU2NjJjMDE0MzBmNmY0MjJlMDgxODFlNDcxNTMyODFkYjkuLjQ5MGQ4ZTkwZTMxY2U4
NzY3N2IzZTdiMmVlZTY4YjRiYWZmOGI3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvTG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0xvY2FsZVdpbi5jcHAKQEAgLTI0MCwxNCArMjQwLDE4IEBAIHN0YXRpYyBWZWN0b3I8RGF0
ZUZvcm1hdFRva2VuPiBwYXJzZURhdGVGb3JtYXQoY29uc3QgU3RyaW5nIGZvcm1hdCkKICAgICBW
ZWN0b3I8RGF0ZUZvcm1hdFRva2VuPiB0b2tlbnM7CiAgICAgU3RyaW5nQnVpbGRlciBsaXRlcmFs
QnVmZmVyOwogICAgIGJvb2wgaW5RdW90ZSA9IGZhbHNlOworICAgIGJvb2wgbGFzdFF1b3RlQ2Fu
QmVMaXRlcmFsID0gZmFsc2U7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZvcm1hdC5s
ZW5ndGgoKTsgKytpKSB7CiAgICAgICAgIFVDaGFyIGNoID0gZm9ybWF0W2ldOwogICAgICAgICBp
ZiAoaW5RdW90ZSkgewogICAgICAgICAgICAgaWYgKGNoID09ICdcJycpIHsKICAgICAgICAgICAg
ICAgICBpblF1b3RlID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgQVNTRVJUKGkpOwotICAgICAg
ICAgICAgICAgIGlmIChmb3JtYXRbaSAtIDFdID09ICdcJycpCisgICAgICAgICAgICAgICAgaWYg
KGxhc3RRdW90ZUNhbkJlTGl0ZXJhbCAmJiBmb3JtYXRbaSAtIDFdID09ICdcJycpIHsKICAgICAg
ICAgICAgICAgICAgICAgbGl0ZXJhbEJ1ZmZlci5hcHBlbmQoJ1wnJyk7CisgICAgICAgICAgICAg
ICAgICAgIGxhc3RRdW90ZUNhbkJlTGl0ZXJhbCA9IGZhbHNlOworICAgICAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgICAgICBsYXN0UXVvdGVDYW5CZUxpdGVyYWwgPSB0cnVlOwog
ICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgbGl0ZXJhbEJ1ZmZlci5hcHBlbmQo
Y2gpOwogICAgICAgICAgICAgY29udGludWU7CkBAIC0yNTUsOCArMjU5LDExIEBAIHN0YXRpYyBW
ZWN0b3I8RGF0ZUZvcm1hdFRva2VuPiBwYXJzZURhdGVGb3JtYXQoY29uc3QgU3RyaW5nIGZvcm1h
dCkKIAogICAgICAgICBpZiAoY2ggPT0gJ1wnJykgewogICAgICAgICAgICAgaW5RdW90ZSA9IHRy
dWU7Ci0gICAgICAgICAgICBpZiAoaSA+IDAgJiYgZm9ybWF0W2kgLSAxXSA9PSAnXCcnKQorICAg
ICAgICAgICAgaWYgKGxhc3RRdW90ZUNhbkJlTGl0ZXJhbCAmJiBpID4gMCAmJiBmb3JtYXRbaSAt
IDFdID09ICdcJycpIHsKICAgICAgICAgICAgICAgICBsaXRlcmFsQnVmZmVyLmFwcGVuZChjaCk7
CisgICAgICAgICAgICAgICAgbGFzdFF1b3RlQ2FuQmVMaXRlcmFsID0gZmFsc2U7CisgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBsYXN0UXVvdGVDYW5CZUxpdGVyYWwgPSB0cnVl
OwogICAgICAgICB9IGVsc2UgaWYgKGlzWWVhclN5bWJvbChjaCkpIHsKICAgICAgICAgICAgIGNv
bW1pdExpdGVyYWxUb2tlbihsaXRlcmFsQnVmZmVyLCB0b2tlbnMpOwogICAgICAgICAgICAgdW5z
aWduZWQgY291bnQgPSBjb3VudENvbnRpbnVvdXNMZXR0ZXJzKGZvcm1hdCwgaSk7CkBAIC02Nzcs
NiArNjg0LDc2IEBAIHVuc2lnbmVkIExvY2FsZVdpbjo6Zmlyc3REYXlPZldlZWsoKQogI2VuZGlm
CiAKICNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorc3RhdGljIHZvaWQgYXBw
ZW5kQXNMRE1MTGl0ZXJhbChjb25zdCBTdHJpbmcmIGxpdGVyYWwsIFN0cmluZ0J1aWxkZXImIGJ1
ZmZlcikKK3sKKyAgICBpZiAobGl0ZXJhbC5sZW5ndGgoKSA8PSAwKQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgaWYgKGxpdGVyYWwuZmluZCgnXCcnKSA9PSBub3RGb3VuZCkgeworICAgICAg
ICBidWZmZXIuYXBwZW5kKCInIik7CisgICAgICAgIGJ1ZmZlci5hcHBlbmQobGl0ZXJhbCk7Cisg
ICAgICAgIGJ1ZmZlci5hcHBlbmQoIiciKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsaXRlcmFsLmxlbmd0aCgpOyArK2kpIHsKKyAgICAg
ICAgaWYgKGxpdGVyYWxbaV0gPT0gJ1wnJykKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoIicn
Iik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgU3RyaW5nIGVzY2FwZWQgPSBsaXRlcmFs
LnN1YnN0cmluZyhpKTsKKyAgICAgICAgICAgIGVzY2FwZWQucmVwbGFjZShBU0NJSUxpdGVyYWwo
IiciKSwgQVNDSUlMaXRlcmFsKCInJyIpKTsKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoIici
KTsKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoZXNjYXBlZCk7CisgICAgICAgICAgICBidWZm
ZXIuYXBwZW5kKCInIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9
CisKK3N0YXRpYyBTdHJpbmcgY29udmVydFdpbmRvd3NEYXRlRm9ybWF0VG9MRE1MKGNvbnN0IFZl
Y3RvcjxEYXRlRm9ybWF0VG9rZW4+JiB0b2tlbnMpCit7CisgICAgU3RyaW5nQnVpbGRlciBidWZm
ZXI7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRva2Vucy5zaXplKCk7ICsraSkgewor
ICAgICAgICBzd2l0Y2ggKHRva2Vuc1tpXS50eXBlKSB7CisgICAgICAgIGNhc2UgRGF0ZUZvcm1h
dFRva2VuOjpMaXRlcmFsOgorICAgICAgICAgICAgYXBwZW5kQXNMRE1MTGl0ZXJhbCh0b2tlbnNb
aV0uZGF0YSwgYnVmZmVyKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgRGF0
ZUZvcm1hdFRva2VuOjpEYXkyOgorICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChzdGF0aWNfY2Fz
dDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlRGF5T2ZNb250aCkpOworICAgICAgICAg
ICAgLy8gRmFsbHRocm91Z2guCisgICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpEYXkxOgor
ICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1h
dDo6RmllbGRUeXBlRGF5T2ZNb250aCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
Y2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoNDoKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQo
c3RhdGljX2Nhc3Q8Y2hhcj4oRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoKSk7CisgICAg
ICAgICAgICAvLyBGYWxsdGhyb3VnaC4KKyAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1v
bnRoMzoKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hhcj4oRGF0ZVRp
bWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoKSk7CisgICAgICAgICAgICAvLyBGYWxsdGhyb3VnaC4K
KyAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMjoKKyAgICAgICAgICAgIGJ1ZmZl
ci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hhcj4oRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRo
KSk7CisgICAgICAgICAgICAvLyBGYWxsdGhyb3VnaC4KKyAgICAgICAgY2FzZSBEYXRlRm9ybWF0
VG9rZW46Ok1vbnRoMToKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hh
cj4oRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoKSk7CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjQ6CisgICAgICAgICAgICBidWZm
ZXIuYXBwZW5kKHN0YXRpY19jYXN0PGNoYXI+KERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFy
KSk7CisgICAgICAgICAgICBidWZmZXIuYXBwZW5kKHN0YXRpY19jYXN0PGNoYXI+KERhdGVUaW1l
Rm9ybWF0OjpGaWVsZFR5cGVZZWFyKSk7CisgICAgICAgICAgICAvLyBGYWxsdGhyb3VnaC4KKyAg
ICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OlllYXIyOgorICAgICAgICAgICAgYnVmZmVyLmFw
cGVuZChzdGF0aWNfY2FzdDxjaGFyPihEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlWWVhcikpOwor
ICAgICAgICAgICAgLy8gRmFsbHRocm91Z2guCisgICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2Vu
OjpZZWFyMToKKyAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y2hhcj4oRGF0
ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVllYXIpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgfQorICAgIHJldHVybiBidWZmZXIudG9TdHJpbmcoKTsKK30KKwogc3RhdGljIERh
dGVUaW1lRm9ybWF0OjpGaWVsZFR5cGUgbWFwQ2hhcmFjdGVyVG9EYXRlVGltZUZpZWxkVHlwZShV
Q2hhciBjaCkKIHsKICAgICBzd2l0Y2ggKGNoKSB7CkBAIC03MzEsOCArODA4LDE2IEBAIHN0YXRp
YyBTdHJpbmcgY29udmVydFdpbmRvd3NUaW1lRm9ybWF0VG9MRE1MKGNvbnN0IFN0cmluZyYgd2lu
ZG93c1RpbWVGb3JtYXQpCiAKIFN0cmluZyBMb2NhbGVXaW46OmRhdGVGb3JtYXQoKQogewotICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSByZWFsIGltcGxlbWVudGF0aW9uIG9mIExvY2FsZVdp
bjo6ZGF0ZUZvcm1hdCgpLgotICAgIHJldHVybiBlbXB0eVN0cmluZygpOworICAgIGlmICghbV9k
YXRlRm9ybWF0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fZGF0ZUZvcm1hdDsKKyAgICBl
bnN1cmVTaG9ydERhdGVUb2tlbnMoKTsKKyAgICBtX2RhdGVGb3JtYXQgPSBjb252ZXJ0V2luZG93
c0RhdGVGb3JtYXRUb0xETUwobV9zaG9ydERhdGVUb2tlbnMpOworICAgIHJldHVybiBtX2RhdGVG
b3JtYXQ7Cit9CisKK1N0cmluZyBMb2NhbGVXaW46OmRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJiB3
aW5kb3dzRm9ybWF0KQoreworICAgIHJldHVybiBjb252ZXJ0V2luZG93c0RhdGVGb3JtYXRUb0xE
TUwocGFyc2VEYXRlRm9ybWF0KHdpbmRvd3NGb3JtYXQpKTsKIH0KIAogU3RyaW5nIExvY2FsZVdp
bjo6dGltZUZvcm1hdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaApp
bmRleCA5NDAzNmM5MWJjOWM0ZWJiMTRmMzMzMjhiZjM5MjcyNGIwNDExODI1Li41Y2ZiMDUyYTQy
YzMxYzk1YzNmNzZkZGIxMjA4ZWM3MGQ3MWVmYjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlV2luLmgKQEAgLTY3LDYgKzY3LDkgQEAgcHVibGljOgogICAgIGRvdWJsZSBw
YXJzZURhdGUoY29uc3QgU3RyaW5nJiBmb3JtYXQsIGludCBiYXNlWWVhciwgY29uc3QgU3RyaW5n
JiBpbnB1dCk7CiAgICAgU3RyaW5nIGZvcm1hdERhdGUoY29uc3QgU3RyaW5nJiBmb3JtYXQsIGlu
dCBiYXNlWWVhciwgaW50IHllYXIsIGludCBtb250aCwgaW50IGRheSk7CiAgICAgc3RhdGljIFN0
cmluZyBkYXRlRm9ybWF0VGV4dChjb25zdCBTdHJpbmcmIGZvcm1hdCwgY29uc3QgU3RyaW5nJiB5
ZWFyVGV4dCwgY29uc3QgU3RyaW5nJiBtb250aFRleHQsIGNvbnN0IFN0cmluZyYgZGF5VGV4dCk7
CisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyAgICBzdGF0aWMgU3RyaW5n
IGRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJik7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBMb2NhbGVXaW4oTENJRCk7CkBAIC05NCw2ICs5Nyw5IEBAIHByaXZhdGU6CiAgICAgVmVj
dG9yPERhdGVGb3JtYXRUb2tlbj4gbV9zaG9ydERhdGVUb2tlbnM7CiAgICAgVmVjdG9yPFN0cmlu
Zz4gbV9zaG9ydE1vbnRoTGFiZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fbW9udGhMYWJlbHM7
CisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyAgICBTdHJpbmcgbV9kYXRl
Rm9ybWF0OworI2VuZGlmCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICBWZWN0b3I8
U3RyaW5nPiBtX3dlZWtEYXlTaG9ydExhYmVsczsKICAgICB1bnNpZ25lZCBtX2ZpcnN0RGF5T2ZX
ZWVrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5U
ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAK
aW5kZXggZDIyM2Y2YjliYWNlMmQ4ZTM2ZDg0YjhmMzVjNTkwYTAwZDViMzU1OC4uNWRjMGRlYzBl
M2NhNDc2NWZkYTJhMTkxZWE2NzgxY2YxZDBlYTQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0xvY2FsZVdpblRlc3QuY3BwCkBAIC0zMjUsNiArMzI1LDE0IEBAIFRFU1Rf
RihMb2NhbGVXaW5UZXN0LCB3ZWVrRGF5U2hvcnRMYWJlbHMpCiAjZW5kaWYKIAogI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCitURVNUX0YoTG9jYWxlV2luVGVzdCwgZGF0ZUZv
cm1hdCkKK3sKKyAgICBFWFBFQ1RfU1RSRVEoInknLSdNJy0nZCIsIExvY2FsZVdpbjo6ZGF0ZUZv
cm1hdCgieS1NLWQiKS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIicneXknLScn
J01NJycnLSdkZCIsIExvY2FsZVdpbjo6ZGF0ZUZvcm1hdCgiJyd5eS0nJ01NJyctZGQiKS51dGY4
KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoInl5eXknLScnJyctJ01NTScnJycnLSdkZCIs
IExvY2FsZVdpbjo6ZGF0ZUZvcm1hdCgieXl5eS0nJycnLU1NTScnJyctZGQiKS51dGY4KCkuZGF0
YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoInl5eXknLScnJycnTU1NTSctJ2RkIiwgTG9jYWxlV2lu
OjpkYXRlRm9ybWF0KCJ5eXl5LScnJydNTU1NLWRkIikudXRmOCgpLmRhdGEoKSk7Cit9CisKIFRF
U1RfRihMb2NhbGVXaW5UZXN0LCB0aW1lRm9ybWF0KQogewogICAgIEVYUEVDVF9TVFJFUSgiaDpt
bTpzcyBhIiwgdGltZUZvcm1hdChFbmdsaXNoVVMpLnV0ZjgoKS5kYXRhKCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>