<?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>100085</bug_id>
          
          <creation_ts>2012-10-23 01:08:59 -0700</creation_ts>
          <short_desc>fast/forms/file/input-file-write-files.html should cover correct setting value</short_desc>
          <delta_ts>2012-11-13 21:35:50 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Li Yin">li.yin</reporter>
          <assigned_to name="Li Yin">li.yin</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>haraken</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan</cc>
    
    <cc>thakis</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>748352</commentid>
    <comment_count>0</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-23 01:08:59 -0700</bug_when>
    <thetext>When the files attribute is changed to be read only, the test is still passed, since it lacked verification of correct setting value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748943</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 13:48:05 -0700</bug_when>
    <thetext>(see discussion in big 99546)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749225</commentid>
    <comment_count>2</comment_count>
      <attachid>170291</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-23 18:59:27 -0700</bug_when>
    <thetext>Created attachment 170291
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749256</commentid>
    <comment_count>3</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-23 19:50:14 -0700</bug_when>
    <thetext>Add Nico Weber to the list, because he designed the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750461</commentid>
    <comment_count>4</comment_count>
      <attachid>170291</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-25 00:07:07 -0700</bug_when>
    <thetext>Comment on attachment 170291
Patch

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

&gt; LayoutTests/fast/forms/file/input-file-value.html:8
&gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;

Nit: This is not needed.

&gt; LayoutTests/fast/forms/file/input-file-value.html:24
&gt; +    file.value = &quot;foo&quot;; // should do nothing
&gt; +    shouldBeEqualToString(&quot;file.value&quot;, &quot;C:\\fakepath\\foo.txt&quot;);
&gt; +    shouldBe(&quot;file.files.length&quot;, &quot;1&quot;);
&gt; +
&gt; +    file.value = &quot;&quot;; // clear FileList

I don&apos;t fully understand the semantics of file.value. Why does file.value=&quot;foo&quot; do nothing but file.value=&quot;&quot; clears the file list?

&gt; LayoutTests/fast/forms/file/input-file-write-files.html:9
&gt; +&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;

Nit: This is not needed.

&gt; LayoutTests/fast/forms/file/input-file-write-files.html:28
&gt; +    file1.files = null;
&gt; +    shouldBe(&quot;file1.files.length&quot;, &quot;1&quot;);
&gt; +    shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;foo.txt&quot;);
&gt;  
&gt; -function handleDragOver(e) {
&gt; -    e.stopPropagation();
&gt; -    e.preventDefault();
&gt; +    file1.files = file2.files;

Ditto. Would you elaborate on the expected semantics of file.files?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750538</commentid>
    <comment_count>5</comment_count>
      <attachid>170291</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-25 01:27:10 -0700</bug_when>
    <thetext>Comment on attachment 170291
Patch

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

&gt;&gt; LayoutTests/fast/forms/file/input-file-value.html:24
&gt;&gt; +    file.value = &quot;&quot;; // clear FileList
&gt; 
&gt; I don&apos;t fully understand the semantics of file.value. Why does file.value=&quot;foo&quot; do nothing but file.value=&quot;&quot; clears the file list?

From Spec: http://dev.w3.org/html5/spec/single-page.html#dom-input-value-filename
On setting, if the new value is the empty string, it must empty the list of selected files; otherwise, it must throw an InvalidStateError exception.
In fact, currently WebKit can&apos;t throw exception when the value is not empty string. It should be a bug.

&gt;&gt; LayoutTests/fast/forms/file/input-file-write-files.html:28
&gt;&gt; +    file1.files = file2.files;
&gt; 
&gt; Ditto. Would you elaborate on the expected semantics of file.files?

This is a correct value setting, we need verify the files attribute is writable or not.
If the files attribute is read only, the setting can&apos;t work correctly.
This is the main improvement compared with the origin test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750560</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-25 01:48:59 -0700</bug_when>
    <thetext>OK. Then I would suggest:

- Write a test so that it strictly follows the spec, even the test fails.
- Just leave a FAIL line in the expected files.
- For FAILed test cases, add a comment that explains the FAIL is intentional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750562</commentid>
    <comment_count>7</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-25 01:56:53 -0700</bug_when>
    <thetext>Hi Kentaro,
   Thanks for your comments.
Because the value attribute is not the key point of this bug. So I want to keep it unchanged.
And I will file a new bug to track the value attribute issue. Do you think it is Okay?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750565</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-25 02:00:19 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Hi Kentaro,
&gt;    Thanks for your comments.
&gt; Because the value attribute is not the key point of this bug. So I want to keep it unchanged.
&gt; And I will file a new bug to track the value attribute issue. Do you think it is Okay?

Makes sense, but I think it would make more sense to fix it in this bug. The key point of this bug should be clarifying how the actual behavior is (intentionally) different from the speced behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751596</commentid>
    <comment_count>9</comment_count>
      <attachid>170828</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-25 23:37:39 -0700</bug_when>
    <thetext>Created attachment 170828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751598</commentid>
    <comment_count>10</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-25 23:39:54 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; Hi Kentaro,
&gt; &gt;    Thanks for your comments.
&gt; &gt; Because the value attribute is not the key point of this bug. So I want to keep it unchanged.
&gt; &gt; And I will file a new bug to track the value attribute issue. Do you think it is Okay?
&gt; 
&gt; Makes sense, but I think it would make more sense to fix it in this bug. The key point of this bug should be clarifying how the actual behavior is (intentionally) different from the speced behavior.

Done.

Please review the patch. Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751609</commentid>
    <comment_count>11</comment_count>
      <attachid>170828</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-25 23:51:04 -0700</bug_when>
    <thetext>Comment on attachment 170828
Patch

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

&gt; LayoutTests/fast/forms/file/input-file-write-files.html:28
&gt; +    file1.files = file2.files;
&gt; +    shouldBe(&quot;file1.files.length&quot;, &quot;1&quot;);
&gt; +    shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;bar.txt&quot;);

Just a confirmation: This behavior violates the spec, right? Then I would prefer writing the test like this:

// This test fails.
// &apos;files&apos; attribute should be readonly in the spec (http://...) but is implemented as non-readonly in WebKit.
// See discussion in https://bugs.webkit.org/show_bug.cgi?id=87154#c15. 
shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;foo.txt&quot;);


Just a confirmation: Other behaviors in your patch are conformed to the spec, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751636</commentid>
    <comment_count>12</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-26 00:31:39 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 170828 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=170828&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/file/input-file-write-files.html:28
&gt; &gt; +    file1.files = file2.files;
&gt; &gt; +    shouldBe(&quot;file1.files.length&quot;, &quot;1&quot;);
&gt; &gt; +    shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;bar.txt&quot;);
&gt; 
&gt; Just a confirmation: This behavior violates the spec, right? Then I would prefer writing the test like this:

Yes, this is the different from the Spec, but this change is internal, and it seems that W3C will change the spec. WebKit did the easier implementation.

&gt; 
&gt; // This test fails.
&gt; // &apos;files&apos; attribute should be readonly in the spec (http://...) but is implemented as non-readonly in WebKit.
&gt; // See discussion in https://bugs.webkit.org/show_bug.cgi?id=87154#c15. 
&gt; shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;foo.txt&quot;);

If we implement like this, it will fail. According to implementation of WebKit, the setting function can work correctly.
It should be shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;bar.txt&quot;);

&gt; 
&gt; 
&gt; Just a confirmation: Other behaviors in your patch are conformed to the spec, right?

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751645</commentid>
    <comment_count>13</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-26 00:37:38 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; &gt; LayoutTests/fast/forms/file/input-file-write-files.html:28
&gt; &gt; &gt; +    file1.files = file2.files;
&gt; &gt; &gt; +    shouldBe(&quot;file1.files.length&quot;, &quot;1&quot;);
&gt; &gt; &gt; +    shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;bar.txt&quot;);
&gt; &gt; 
&gt; &gt; Just a confirmation: This behavior violates the spec, right? Then I would prefer writing the test like this:
&gt; 
&gt; Yes, this is the different from the Spec, but this change is internal, and it seems that W3C will change the spec. WebKit did the easier implementation.

Understood. Would you write the situation as a comment in the test so that people won&apos;t get confused in the future again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751658</commentid>
    <comment_count>14</comment_count>
      <attachid>170841</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-26 00:52:37 -0700</bug_when>
    <thetext>Created attachment 170841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751659</commentid>
    <comment_count>15</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-10-26 00:53:45 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; &gt; &gt; LayoutTests/fast/forms/file/input-file-write-files.html:28
&gt; &gt; &gt; &gt; +    file1.files = file2.files;
&gt; &gt; &gt; &gt; +    shouldBe(&quot;file1.files.length&quot;, &quot;1&quot;);
&gt; &gt; &gt; &gt; +    shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;bar.txt&quot;);
&gt; &gt; &gt; 
&gt; &gt; &gt; Just a confirmation: This behavior violates the spec, right? Then I would prefer writing the test like this:
&gt; &gt; 
&gt; &gt; Yes, this is the different from the Spec, but this change is internal, and it seems that W3C will change the spec. WebKit did the easier implementation.
&gt; 
&gt; Understood. Would you write the situation as a comment in the test so that people won&apos;t get confused in the future again?

Done.
Add the comments in test. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751660</commentid>
    <comment_count>16</comment_count>
      <attachid>170841</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-26 00:55:40 -0700</bug_when>
    <thetext>Comment on attachment 170841
Patch

OK, thanks for the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751767</commentid>
    <comment_count>17</comment_count>
      <attachid>170841</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 03:18:29 -0700</bug_when>
    <thetext>Comment on attachment 170841
Patch

Clearing flags on attachment: 170841

Committed r132599: &lt;http://trac.webkit.org/changeset/132599&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751768</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 03:18:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758347</commentid>
    <comment_count>19</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2012-11-05 02:03:55 -0800</bug_when>
    <thetext>FWIW, this broke the GObject DOM bindings, since it made an incompatible change to the IDL file (exceptions don&apos;t break the JS API, but they do break GObject&apos;s, adding an extra GError parameter). Something similar happened a few weeks ago, see https://bugs.webkit.org/show_bug.cgi?id=91704</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759159</commentid>
    <comment_count>20</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-05 19:00:45 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759160</commentid>
    <comment_count>21</comment_count>
      <attachid>172467</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-05 19:00:53 -0800</bug_when>
    <thetext>Created attachment 172467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759163</commentid>
    <comment_count>22</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-05 19:04:32 -0800</bug_when>
    <thetext>Fix the GObject bindings compatibility issue.
Look: https://bugs.webkit.org/show_bug.cgi?id=91704#c19</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759232</commentid>
    <comment_count>23</comment_count>
      <attachid>172467</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-05 21:40:16 -0800</bug_when>
    <thetext>Comment on attachment 172467
Patch

Attachment 172467 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14722910</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759328</commentid>
    <comment_count>24</comment_count>
      <attachid>172501</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-06 00:06:55 -0800</bug_when>
    <thetext>Created attachment 172501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759355</commentid>
    <comment_count>25</comment_count>
      <attachid>172501</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-06 00:54:07 -0800</bug_when>
    <thetext>Comment on attachment 172501
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.idl:63
&gt; +#if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
&gt;      [TreatNullAs=NullString] attribute DOMString value setter raises(DOMException);
&gt; +#else
&gt; +    [TreatNullAs=NullString] attribute DOMString value;
&gt; +#endif

Does this mean that GObject cannot handle any IDL attribute that can raise exceptions? If that&apos;s the case, it would make more sense to skip raising exceptions in CodeGeneratorGObject.pm, rather than surrounding all IDL attributes with #if macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759517</commentid>
    <comment_count>26</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-06 04:15:49 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 172501 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=172501&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.idl:63
&gt; &gt; +#if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
&gt; &gt;      [TreatNullAs=NullString] attribute DOMString value setter raises(DOMException);
&gt; &gt; +#else
&gt; &gt; +    [TreatNullAs=NullString] attribute DOMString value;
&gt; &gt; +#endif
&gt; 
&gt; Does this mean that GObject cannot handle any IDL attribute that can raise exceptions? If that&apos;s the case, it would make more sense to skip raising exceptions in CodeGeneratorGObject.pm, rather than surrounding all IDL attributes with #if macro.

I don&apos;t think that is true, because there are still other attributes that can raise exceptions, such as setRangeText, https://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLInputElement.idl#L82</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759518</commentid>
    <comment_count>27</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-06 04:17:45 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; I don&apos;t think that is true, because there are still other attributes that can raise exceptions, such as setRangeText, https://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLInputElement.idl#L82

Then what&apos;s the difference between HTMLInputElement.value and setRangeText? (We don&apos;t want to mess up IDL files by inserting macros.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759522</commentid>
    <comment_count>28</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-06 04:31:30 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #26)
&gt; &gt; I don&apos;t think that is true, because there are still other attributes that can raise exceptions, such as setRangeText, https://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLInputElement.idl#L82
&gt; 
&gt; Then what&apos;s the difference between HTMLInputElement.value and setRangeText? (We don&apos;t want to mess up IDL files by inserting macros.)

I am also confused about it, maybe setValue have two function definitions in HTMLInputElement.h, one can raise exception, another one can not. I think this is the only difference.
I am unfamiliar with GObject binding related code, and expect experts&apos; words.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759527</commentid>
    <comment_count>29</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-06 04:37:53 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; FWIW, this broke the GObject DOM bindings, since it made an incompatible change to the IDL file (exceptions don&apos;t break the JS API, but they do break GObject&apos;s, adding an extra GError parameter). Something similar happened a few weeks ago, see https://bugs.webkit.org/show_bug.cgi?id=91704

I read bug 91704 and remembered the problem...

Xan Lopez: The problem is that this change breaks GObject API&apos;s compatibility, right? If that&apos;s the case, as discussed in bug 91704, it would look reasonable to avoid the problem by #if macro in IDL files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765359</commentid>
    <comment_count>30</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2012-11-13 00:43:52 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; 
&gt; I read bug 91704 and remembered the problem...
&gt; 
&gt; Xan Lopez: The problem is that this change breaks GObject API&apos;s compatibility, right? If that&apos;s the case, as discussed in bug 91704, it would look reasonable to avoid the problem by #if macro in IDL files.


Yes, exactly. The problem is not that we cannot handle exceptions (we can!), but that this was  changed in an incompatible way in an API that is exported. The attached patch would of course fix the issue, assuming it is correct to have variations in the IDL like this.

Thanks for quick replies (this somehow fell through the cracks in my inbox!).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765626</commentid>
    <comment_count>31</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-13 08:22:19 -0800</bug_when>
    <thetext>&gt; assuming it is correct to have variations in the IDL like this.

Yes, I think so. I&apos;d put an explanatory comment though - some people might incorrectly assume that the difference is due to Objective C bindings. Preserving existing behavior for those may be important too, so I&apos;m not asking to limit this fix to Gtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766197</commentid>
    <comment_count>32</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-13 17:08:35 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; &gt; assuming it is correct to have variations in the IDL like this.
&gt; 
&gt; Yes, I think so. I&apos;d put an explanatory comment though - some people might incorrectly assume that the difference is due to Objective C bindings. Preserving existing behavior for those may be important too, so I&apos;m not asking to limit this fix to Gtk.

Thanks for your explanation.

Kentaro: Could you please have a look again? Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766204</commentid>
    <comment_count>33</comment_count>
      <attachid>172501</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-13 17:11:14 -0800</bug_when>
    <thetext>Comment on attachment 172501
Patch

Looks reasonable. As ap commented, please add a comment about the situation before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766300</commentid>
    <comment_count>34</comment_count>
      <attachid>174049</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-13 18:54:53 -0800</bug_when>
    <thetext>Created attachment 174049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766303</commentid>
    <comment_count>35</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-13 18:56:06 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; (From update of attachment 172501 [details])
&gt; Looks reasonable. As ap commented, please add a comment about the situation before landing.

Fixed. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766307</commentid>
    <comment_count>36</comment_count>
      <attachid>174049</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-13 18:58:12 -0800</bug_when>
    <thetext>Comment on attachment 174049
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.idl:59
&gt; +#if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT

Would you add a comment on this line, adding a link to the discussion in bugzilla?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766311</commentid>
    <comment_count>37</comment_count>
      <attachid>174050</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-13 19:04:30 -0800</bug_when>
    <thetext>Created attachment 174050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766319</commentid>
    <comment_count>38</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-11-13 19:21:38 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; (From update of attachment 174049 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=174049&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.idl:59
&gt; &gt; +#if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
&gt; 
&gt; Would you add a comment on this line, adding a link to the discussion in bugzilla?

Done. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766329</commentid>
    <comment_count>39</comment_count>
      <attachid>174050</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-13 19:34:04 -0800</bug_when>
    <thetext>Comment on attachment 174050
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766394</commentid>
    <comment_count>40</comment_count>
      <attachid>174050</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 21:35:43 -0800</bug_when>
    <thetext>Comment on attachment 174050
Patch

Clearing flags on attachment: 174050

Committed r134538: &lt;http://trac.webkit.org/changeset/134538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766395</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 21:35:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170291</attachid>
            <date>2012-10-23 18:59:27 -0700</date>
            <delta_ts>2012-10-25 23:37:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100085-20121024095803.patch</filename>
            <type>text/plain</type>
            <size>8362</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMzk3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzIyOWJkNGNmN2I4N2ZjYmQyOWMx
OGE0Mjk3ZjBmYjdjZmQ5N2ExYi4uZjI0MzhhNWY5YzBlZDBkYTE3YTVhNWUyOThiODM2ODhhNzZm
YzRjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTEwLTIzICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRlLWZp
bGVzLmh0bWwgc2hvdWxkIGNvdmVyIGNvcnJlY3Qgc2V0dGluZyB2YWx1ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgZmlsZXMgYXR0cmli
dXRlIGlzIGNoYW5nZWQgdG8gYmUgcmVhZCBvbmx5LCB0aGUgdGVzdCBpcyBzdGlsbCBwYXNzZWQs
CisgICAgICAgIHNpbmNlIGl0IGxhY2tlZCB2ZXJpZmljYXRpb24gb2YgY29ycmVjdCBzZXR0aW5n
IHZhbHVlLgorICAgICAgICBBbmQgdGhlIHRlc3QgaXMgZGV2aWRlZCBpbnRvIHR3byBzdWIgdGVz
dHMsIGlucHV0LWZpbGUtdmFsdWUuaHRtbCBhbmQKKyAgICAgICAgaW5wdXQtZmlsZS13cml0ZS1m
aWxlcy5odG1sLiBUaGV5IGNhbiBjb3ZlciB2YWx1ZSBhbmQgZmlsZXMgYXR0cmlidXRlcy4KKwor
ICAgICAgICAqIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFsdWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUtZmlsZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRl
LWZpbGVzLmh0bWw6CisKIDIwMTItMTAtMTUgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIFRl
c3RFeHBlY3RhdGlvbnMgdXBkYXRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzdh
NDU3ZjFlYWY2ZjFiNDFkNmYzZWYwMjhmOTYyYWVlZWQyNzhiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFsdWUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTYgQEAKKworVGhpcyB0ZXN0cyB0aGUgdmFsdWUgYXR0cmlidXRlIGluIGZp
bGUgaW5wdXQgZm9ybXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZmls
ZS52YWx1ZSBpcyAiQzpcXGZha2VwYXRoXFxmb28udHh0IgorUEFTUyBmaWxlLmZpbGVzLmxlbmd0
aCBpcyAxCitQQVNTIGZpbGUudmFsdWUgaXMgIkM6XFxmYWtlcGF0aFxcZm9vLnR4dCIKK1BBU1Mg
ZmlsZS5maWxlcy5sZW5ndGggaXMgMQorUEFTUyBmaWxlLnZhbHVlIGlzICIiCitQQVNTIGZpbGUu
ZmlsZXMubGVuZ3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5w
dXQtZmlsZS12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZp
bGUtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjM1ZWY4YjU2ZjM1NzBmYjZhY2RkZGQwODQ2NTRk
OWQyMDBhMmZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxl
L2lucHV0LWZpbGUtdmFsdWUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlucHV0IHR5cGU9ImZpbGUiIG5h
bWU9ImZpbGUiIGlkPSJmaWxlIj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIHZhbHVlIGF0dHJpYnV0ZSBpbiBmaWxlIGlu
cHV0IGZvcm1zIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHZhciBmaWxlID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUiKTsKKyAgICBkcmFnRmlsZXNPbnRvSW5wdXQo
ZmlsZSwgWyJmb28udHh0Il0pOworICAgIAorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmls
ZS52YWx1ZSIsICJDOlxcZmFrZXBhdGhcXGZvby50eHQiKTsKKyAgICBzaG91bGRCZSgiZmlsZS5m
aWxlcy5sZW5ndGgiLCAiMSIpOworICAgIAorICAgIGZpbGUudmFsdWUgPSAiZm9vIjsgLy8gc2hv
dWxkIGRvIG5vdGhpbmcKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUudmFsdWUiLCAi
QzpcXGZha2VwYXRoXFxmb28udHh0Iik7CisgICAgc2hvdWxkQmUoImZpbGUuZmlsZXMubGVuZ3Ro
IiwgIjEiKTsKKworICAgIGZpbGUudmFsdWUgPSAiIjsgLy8gY2xlYXIgRmlsZUxpc3QKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUudmFsdWUiLCAiIik7CisgICAgc2hvdWxkQmUoImZp
bGUuZmlsZXMubGVuZ3RoIiwgIjAiKTsKK30KKworZnVuY3Rpb24gbW92ZU1vdXNlVG9DZW50ZXJP
ZkVsZW1lbnQoZWxlbWVudCkgeworICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0
ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7CisgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9m
ZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhjZW50ZXJYLCBjZW50ZXJZKTsKK30KKworZnVuY3Rpb24gZHJhZ0ZpbGVzT250b0lu
cHV0KGlucHV0LCBmaWxlcykgeworICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhm
aWxlcyk7CisgICAgbW92ZU1vdXNlVG9DZW50ZXJPZkVsZW1lbnQoaW5wdXQpOworICAgIGV2ZW50
U2VuZGVyLm1vdXNlVXAoKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUtZmls
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUt
d3JpdGUtZmlsZXMtZXhwZWN0ZWQudHh0CmluZGV4IGY1N2Q2MDg2YTkxODI2MDNkNDAzMzZiODFk
MzQxZTM3ZDVmNmYyZWYuLmYwNjQwMjQwZmZkMTZkZWI5YmIxN2JmYmQ0M2Q4MjRhNmIzNGNkMDkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRl
LWZpbGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5w
dXQtZmlsZS13cml0ZS1maWxlcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSwxNiBAQAotVGVzdCBk
cm9wcyBmaWxlcyBoZXJlCisgCitUaGlzIHRlc3RzIHRoZSBmaWxlcyBhdHRyaWJ1dGUgaW4gZmls
ZSBpbnB1dCBmb3JtcwogCi1QQVNTOiAxIGZpbGUgYWZ0ZXIgZHJhZwotUEFTUzogd3JpdGluZyBu
b25lbXB0eSBzdHJpbmcgdG8gdmFsdWUgaGFkIG5vIGVmZmVjdAotUEFTUzogd3JpdGluZyBlbXB0
eSBzdHJpbmcgdG8gdmFsdWUgY2xlYXJlZCBmaWxlcworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgZmlsZTEuZmlsZXMubGVuZ3RoIGlzIDEKK1BBU1MgZmlsZTEuZmlsZXMuaXRl
bSgwKS5uYW1lIGlzICJmb28udHh0IgorUEFTUyBmaWxlMS5maWxlcy5sZW5ndGggaXMgMQorUEFT
UyBmaWxlMS5maWxlcy5pdGVtKDApLm5hbWUgaXMgImZvby50eHQiCitQQVNTIGZpbGUxLmZpbGVz
Lmxlbmd0aCBpcyAxCitQQVNTIGZpbGUxLmZpbGVzLml0ZW0oMCkubmFtZSBpcyAiYmFyLnR4dCIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxl
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUtZmls
ZXMuaHRtbAppbmRleCAwZDVlNTRjYzllMDU0NzAxNmRhNjc3ZjI2MDIzMzU4OThmMzNlNmI0Li5m
MjU3NThkMjhmMTJlMjY2MTM1OTg3NzZkNDdmNjc2ODE1MDBhYzhkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRlLWZpbGVzLmh0bWwK
QEAgLTEsODUgKzEsNDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgogPGJvZHk+Ci08ZGl2IGlkPSJkcm9wdGFyZ2V0Ij5UZXN0IGRyb3BzIGZpbGVzIGhlcmU8
L2Rpdj4KLTxmb3JtPgotPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGVzIiBpZD0iZmlsZXMi
PgotPC9mb3JtPgotPHByZSBpZD0nb3V0cHV0Jz48L3ByZT4KKzxpbnB1dCB0eXBlPSJmaWxlIiBu
YW1lPSJmaWxlMSIgaWQ9ImZpbGUxIj4KKzxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlMiIg
aWQ9ImZpbGUyIj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogCiA8c2NyaXB0PgotZnVuY3Rp
b24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dCcp
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7Ci19
CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgZmlsZXMgYXR0cmlidXRlIGluIGZpbGUgaW5w
dXQgZm9ybXMiKTsKIAotZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQotewotICAgIHZhciBm
aWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlcyIpLmZpbGVzOwotICAgIGlmIChm
aWxlcy5sZW5ndGggIT0gMSkKLSAgICAgICAgbG9nKCJGQUlMOiBFeHBlY3RlZCAxIGZpbGUgYWZ0
ZXIgZHJhZy4iKQotICAgIGVsc2UKLSAgICAgICAgbG9nKCJQQVNTOiAxIGZpbGUgYWZ0ZXIgZHJh
ZyIpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdmFyIGZpbGUxID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZpbGUxIik7CisgICAgdmFyIGZpbGUyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImZpbGUyIik7CisgICAgZHJhZ0ZpbGVzT250b0lucHV0KGZpbGUxLCBbImZvby50
eHQiXSk7CisgICAgZHJhZ0ZpbGVzT250b0lucHV0KGZpbGUyLCBbImJhci50eHQiXSk7CiAKLSAg
ICBkb1N0cmluZ1Rlc3QoKTsKKyAgICBmaWxlMS5maWxlcyA9ICJmb28iOworICAgIHNob3VsZEJl
KCJmaWxlMS5maWxlcy5sZW5ndGgiLCAiMSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZmlsZTEuZmlsZXMuaXRlbSgwKS5uYW1lIiwgImZvby50eHQiKTsKIAotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19CisgICAgZmls
ZTEuZmlsZXMgPSBudWxsOworICAgIHNob3VsZEJlKCJmaWxlMS5maWxlcy5sZW5ndGgiLCAiMSIp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZTEuZmlsZXMuaXRlbSgwKS5uYW1lIiwg
ImZvby50eHQiKTsKIAotZnVuY3Rpb24gaGFuZGxlRHJhZ092ZXIoZSkgewotICAgIGUuc3RvcFBy
b3BhZ2F0aW9uKCk7Ci0gICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIGZpbGUxLmZpbGVzID0g
ZmlsZTIuZmlsZXM7CisgICAgc2hvdWxkQmUoImZpbGUxLmZpbGVzLmxlbmd0aCIsICIxIik7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlMS5maWxlcy5pdGVtKDApLm5hbWUiLCAiYmFy
LnR4dCIpOwogfQogCi1mdW5jdGlvbiBoYW5kbGVEcm9wKGUpIHsKLSAgICBlLnN0b3BQcm9wYWdh
dGlvbigpOwotICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZmlsZXMiKS5maWxlcyA9IGUuZGF0YVRyYW5zZmVyLmZpbGVzOworZnVuY3Rpb24gbW92
ZU1vdXNlVG9DZW50ZXJPZkVsZW1lbnQoZWxlbWVudCkgeworICAgIHZhciBjZW50ZXJYID0gZWxl
bWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7CisgICAgdmFyIGNlbnRl
clkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhjZW50ZXJYLCBjZW50ZXJZKTsKIH0KIAotdmFyIGRyb3B0
YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJvcHRhcmdldCcpOwotZHJvcHRhcmdl
dC5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGhhbmRsZURyYWdPdmVyLCBmYWxzZSk7Ci1k
cm9wdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBoYW5kbGVEcm9wLCBmYWxzZSk7Ci0K
LWZ1bmN0aW9uIGRvVGVzdChmaWxlTGlzdCkKLXsKLSAgICAvLyBUaGlzIGRyb3BzIGZpbGVzIG9u
IGEgZGl2LCB3aGljaCBjb3BpZXMgdGhlbSB0byB0aGUgaW5wdXQgZWxlbWVudCwgd2hvc2UKLSAg
ICAvLyBjYWxsYmFjayBjYWxscyBub3RpZnlEb25lKCkuCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZpbGVzIikub25jaGFuZ2UgPSBvbklucHV0RmlsZUNoYW5nZTsKLSAgICB2YXIgZmkg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZXMiKTsKLSAgICBldmVudFNlbmRlci5iZWdp
bkRyYWdXaXRoRmlsZXMoWycuLi9yZXNvdXJjZXMvdGVzdC50eHQnXSk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oZHJvcHRhcmdldC5vZmZzZXRMZWZ0ICsgMTAsIGRyb3B0YXJnZXQub2Zm
c2V0VG9wICsgZHJvcHRhcmdldC5vZmZzZXRIZWlnaHQgLyAyKTsKK2Z1bmN0aW9uIGRyYWdGaWxl
c09udG9JbnB1dChpbnB1dCwgZmlsZXMpIHsKKyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRo
RmlsZXMoZmlsZXMpOworICAgIG1vdmVNb3VzZVRvQ2VudGVyT2ZFbGVtZW50KGlucHV0KTsKICAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiB9Ci0KLWZ1bmN0aW9uIGRvU3RyaW5nVGVzdCgpCi17
Ci0gICAgdmFyIGZpbGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVzIik7Ci0gICAg
ZmlsZXMuZmlsZXMgPSAiZm9vIjsgIC8vIFNob3VsZG4ndCBjcmFzaC4KLQotICAgIGZpbGVzLnZh
bHVlID0gImZvbyI7ICAvLyBTaG91bGQgZG8gbm90aGluZy4KLSAgICBpZiAoZmlsZXMuZmlsZXMu
bGVuZ3RoID4gMCkKLSAgICAgICAgbG9nKCJQQVNTOiB3cml0aW5nIG5vbmVtcHR5IHN0cmluZyB0
byB2YWx1ZSBoYWQgbm8gZWZmZWN0Iik7Ci0gICAgZWxzZQotICAgICAgICBsb2coIkZBSUw6IHdy
aXRpbmcgbm9uZW1wdHkgc3RyaW5nIHRvIHZhbHVlIGNsZWFyZWQgZWxlbWVudHMiKTsKLQotICAg
IGZpbGVzLnZhbHVlID0gIiI7Ci0gICAgaWYgKGZpbGVzLmZpbGVzLmxlbmd0aCA9PT0gMCkKLSAg
ICAgICAgbG9nKCJQQVNTOiB3cml0aW5nIGVtcHR5IHN0cmluZyB0byB2YWx1ZSBjbGVhcmVkIGZp
bGVzIik7Ci0gICAgZWxzZQotICAgICAgICBsb2coIkZBSUw6IHdyaXRpbmcgZW1wdHkgc3RyaW5n
IHRvIHZhbHVlIGRpZCBub3QgY2xlYXIgZmlsZXMiKTsKLX0KLQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci19Ci0KLWlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICBkb1Rlc3Qo
KTsKLX0KLQogPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170828</attachid>
            <date>2012-10-25 23:37:39 -0700</date>
            <delta_ts>2012-10-26 00:52:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100085-20121026143608.patch</filename>
            <type>text/plain</type>
            <size>13350</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM3MThlYjdkYWUwMjAx
MzlkOWIyZmE2MDNkYjc1NTYwYzFkMTEwNy4uM2RmZWUwZjIwNTBlMGI3OGJlNGZmZTFhYTViNWEw
OWI2YTY0NjIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTI1ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1m
aWxlLXdyaXRlLWZpbGVzLmh0bWwgc2hvdWxkIGNvdmVyIGNvcnJlY3Qgc2V0dGluZyB2YWx1ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRnJvbSBTcGVj
OiBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL3NpbmdsZS1wYWdlLmh0bWwjZG9tLWlucHV0
LXZhbHVlLWZpbGVuYW1lCisgICAgICAgIE9uIHNldHRpbmcsIGlmIHRoZSBuZXcgdmFsdWUgaXMg
dGhlIGVtcHR5IHN0cmluZywgaXQgbXVzdCBlbXB0eSB0aGUgbGlzdCBvZiBzZWxlY3RlZAorICAg
ICAgICBmaWxlczsgb3RoZXJ3aXNlLCBpdCBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
IGV4Y2VwdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS12
YWx1ZS5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChIVE1MSW5w
dXRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorCiAyMDEy
LTEwLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMyNTE0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggNGYyMWEwZjQzYTc4ODUxZjdhMTM3MTdjNjNhNDJi
ZGQwOWZiYmYwNS4uZGI4NDg5MjY4YWU3NmI4YjQ2NjM5ZWU0ZDUyMDMyZTQxNDI2NzgxYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMDA2LDYgKzEwMDYs
MTUgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRFZGl0aW5nVmFsdWUoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKICAgICBkaXNwYXRjaElucHV0RXZlbnQoKTsKIH0KIAordm9pZCBIVE1MSW5wdXRF
bGVtZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYywg
VGV4dEZpZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQoreworICAgIGlmIChpc0ZpbGVV
cGxvYWQoKSAmJiAhdmFsdWUuaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc2V0VmFsdWUodmFsdWUsIGV2ZW50
QmVoYXZpb3IpOworfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0
cmluZyYgdmFsdWUsIFRleHRGaWVsZEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKIHsKICAg
ICBpZiAoIW1faW5wdXRUeXBlLT5jYW5TZXRWYWx1ZSh2YWx1ZSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oCmluZGV4IGFjMDEzZDk4MDkxYjk4OTc5M2NmNzA0MWQwM2RjZDBh
NThmODdmYWUuLmY2ZWRiNWUzOGE2YTFjYWZiNDQ1YTYyNjMzOWJjNzExODI3ZDYzYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0xNDgsNiArMTQ4LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0VHlwZShjb25zdCBTdHJpbmcmKTsKIAogICAgIFN0cmluZyB2YWx1
ZSgpIGNvbnN0OworICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29k
ZSYsIFRleHRGaWVsZEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpOwogICAgIHZvaWQg
c2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvciA9IERpc3BhdGNo
Tm9FdmVudCk7CiAgICAgdm9pZCBzZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJik7CiAgICAg
Ly8gQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgc3RyaW5nIHdvdWxkIGJlIGEgdmFsaWQgdmFsdWUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAppbmRleCA0YTg2ZmUyM2Zj
NWQyOGFlYTQ2MGFjZDFjNmE0ZTA0N2Q1NTc3ZTNjLi45MzE1ZjY3YmFiZmI3OWJmZmVmMmQ3NmU2
NGQ3MDM3NWRlZjA4YTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5p
ZGwKQEAgLTU2LDcgKzU2LDcgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RlcDsKICAgICBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOyAvLyByZWFkb25s
eSBkcm9wcGVkIGFzIHBhcnQgb2YgRE9NIGxldmVsIDIKICAgICBbVHJlYXROdWxsQXM9TnVsbFN0
cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Ci0gICAgW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWU7CisgICAgW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWUgc2V0dGVyIHJhaXNlcyhET01F
eGNlcHRpb24pOwogI2lmICFkZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUAog
ICAgIGF0dHJpYnV0ZSBEYXRlIHZhbHVlQXNEYXRlIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDcyMWU0ODM0NWI4NTU5YThkOWU3Mzg0NDZhMTRiZDlkY2I3ODBm
NjYuLjUxZTQ4YTFjZTM4MzJlMjlkMTc5ZDAxM2QxMGE1YzQ1YjRjZjExYWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMi0xMC0yNSAgTGkgWWluICA8bGkueWluQGludGVsLmNvbT4KKworICAg
ICAgICBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sIHNob3VsZCBj
b3ZlciBjb3JyZWN0IHNldHRpbmcgdmFsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSB0ZXN0IGlucHV0LWZpbGUtdmFsdWUuaHRtbCBpcyBzcGxp
dCBmcm9tIGlucHV0LWZpbGUtd3JpdGUtdGVzdC5odG1sLgorICAgICAgICBBbmQgYWRkIGNvcnJl
Y3Qgc2V0dGluZyB2YWx1ZSBmb3IgZmlsZXMgYXR0cmlidXRlLCB2ZXJpZnkgdGhlIGZpbGVzIGF0
dHJpYnV0ZQorICAgICAgICBpcyB3cml0YWJsZSBvciBub3QuCisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2ZpbGUvaW5wdXQtZmlsZS12YWx1ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRlLWZpbGVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sOgorCiAy
MDEyLTEwLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMyNTE0LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtc2V0cmFuZ2V0ZXh0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9maWxlLXNldHJhbmdldGV4dC1leHBlY3RlZC50
eHQKaW5kZXggNTJlNDEyZWE1ODhhODk1YjdjZGIyMmNlOTlmOWEwYTRjN2I2MWU0OC4uZWU0MDQ4
NTc5MWEzZDAwNmM1NDEwNjY3NTg1OGFiOGY3NzhjOGI4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtc2V0cmFuZ2V0ZXh0LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZmlsZS1zZXRyYW5nZXRleHQtZXhwZWN0ZWQudHh0
CkBAIC02LDcgKzYsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBSdW5uaW5nIHRlc3Rz
IG9uIGlucHV0IHdpdGggYXR0cmlidXRlczogeyJ0eXBlIjoiZmlsZSJ9CiAKLWVsZW1lbnQudmFs
dWUgPSAnMDEyMzQ1Njc4OVhZWicKK1BBU1MgZWxlbWVudC52YWx1ZSA9ICcwMTIzNDU2Nzg5WFla
JyB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9u
IDExLgogUEFTUyBlbGVtZW50LnNldFJhbmdlVGV4dCgnQUJDJywgMCwgMCkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1MgZWxl
bWVudC52YWx1ZSBpcyAiIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFsdWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFsdWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNTA4OWQ3ZThhY2NmN2Y5YjA5OGE5Njg5NWFlZDc2MmIy
YTMzYmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5w
dXQtZmlsZS12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGhpcyB0ZXN0cyB0
aGUgdmFsdWUgYXR0cmlidXRlIGluIGZpbGUgaW5wdXQgZm9ybXMKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgZmlsZS52YWx1ZSBpcyAiQzpcXGZha2VwYXRoXFxmb28udHh0
IgorUEFTUyBmaWxlLmZpbGVzLmxlbmd0aCBpcyAxCitQQVNTIGZpbGUudmFsdWUgPSAnZm9vJyB0
aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDEx
LgorUEFTUyBmaWxlLnZhbHVlIGlzICJDOlxcZmFrZXBhdGhcXGZvby50eHQiCitQQVNTIGZpbGUu
ZmlsZXMubGVuZ3RoIGlzIDEKK1BBU1MgZmlsZS52YWx1ZSBpcyAiIgorUEFTUyBmaWxlLmZpbGVz
Lmxlbmd0aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZp
bGUtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZh
bHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI3OTc5N2NmZWYwMjY5ZjUzZmU2MjZkN2M2OTUzNDQxODgy
YTdhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1
dC1maWxlLXZhbHVlLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJm
aWxlIiBpZD0iZmlsZSI+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUg
dmFsdWUgYXR0cmlidXRlIGluIGZpbGUgaW5wdXQgZm9ybXMiKTsKKworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgdmFyIGZpbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZSIp
OworICAgIGRyYWdGaWxlc09udG9JbnB1dChmaWxlLCBbImZvby50eHQiXSk7CisgICAgCisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlLnZhbHVlIiwgIkM6XFxmYWtlcGF0aFxcZm9vLnR4
dCIpOworICAgIHNob3VsZEJlKCJmaWxlLmZpbGVzLmxlbmd0aCIsICIxIik7CisgCisgICAgc2hv
dWxkVGhyb3coImZpbGUudmFsdWUgPSAnZm9vJyIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlsZS52YWx1ZSIsICJDOlxcZmFrZXBhdGhcXGZvby50eHQiKTsKKyAgICBzaG91bGRCZSgi
ZmlsZS5maWxlcy5sZW5ndGgiLCAiMSIpOworCisgICAgZmlsZS52YWx1ZSA9ICIiOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZS52YWx1ZSIsICIiKTsKKyAgICBzaG91bGRCZSgiZmls
ZS5maWxlcy5sZW5ndGgiLCAiMCIpOworfQorCitmdW5jdGlvbiBtb3ZlTW91c2VUb0NlbnRlck9m
RWxlbWVudChlbGVtZW50KSB7CisgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQg
KyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKGNlbnRlclgsIGNlbnRlclkpOworfQorCitmdW5jdGlvbiBkcmFnRmlsZXNPbnRvSW5w
dXQoaW5wdXQsIGZpbGVzKSB7CisgICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKGZp
bGVzKTsKKyAgICBtb3ZlTW91c2VUb0NlbnRlck9mRWxlbWVudChpbnB1dCk7CisgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13
cml0ZS1maWxlcy1leHBlY3RlZC50eHQKaW5kZXggZjU3ZDYwODZhOTE4MjYwM2Q0MDMzNmI4MWQz
NDFlMzdkNWY2ZjJlZi4uNTZiZmYwNTQ2MDNkYjc3Yjg1OGQ5ZTA5MDZiMjc0NGY2MmJjMzc5YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUt
ZmlsZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1
dC1maWxlLXdyaXRlLWZpbGVzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDE1IEBACi1UZXN0IGRy
b3BzIGZpbGVzIGhlcmUKK1RoaXMgdGVzdHMgdGhlIGZpbGVzIGF0dHJpYnV0ZSBpbiBmaWxlIGlu
cHV0IGZvcm1zCiAKLVBBU1M6IDEgZmlsZSBhZnRlciBkcmFnCi1QQVNTOiB3cml0aW5nIG5vbmVt
cHR5IHN0cmluZyB0byB2YWx1ZSBoYWQgbm8gZWZmZWN0Ci1QQVNTOiB3cml0aW5nIGVtcHR5IHN0
cmluZyB0byB2YWx1ZSBjbGVhcmVkIGZpbGVzCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
KworUEFTUyBmaWxlMS5maWxlcy5sZW5ndGggaXMgMQorUEFTUyBmaWxlMS5maWxlcy5pdGVtKDAp
Lm5hbWUgaXMgImZvby50eHQiCitQQVNTIGZpbGUxLmZpbGVzLmxlbmd0aCBpcyAxCitQQVNTIGZp
bGUxLmZpbGVzLml0ZW0oMCkubmFtZSBpcyAiZm9vLnR4dCIKK1BBU1MgZmlsZTEuZmlsZXMubGVu
Z3RoIGlzIDEKK1BBU1MgZmlsZTEuZmlsZXMuaXRlbSgwKS5uYW1lIGlzICJiYXIudHh0IgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUtZmlsZXMu
aHRtbAppbmRleCAwZDVlNTRjYzllMDU0NzAxNmRhNjc3ZjI2MDIzMzU4OThmMzNlNmI0Li43MGEy
MWRiNzMwOWQ0ZjkxNWU3NjhkN2E0ZTkzMTliOTIyNGM2YTAxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRlLWZpbGVzLmh0bWwKQEAg
LTEsODUgKzEsNDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgogPGJvZHk+Ci08ZGl2IGlkPSJkcm9wdGFyZ2V0Ij5UZXN0IGRyb3BzIGZpbGVzIGhlcmU8L2Rp
dj4KLTxmb3JtPgotPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGVzIiBpZD0iZmlsZXMiPgot
PC9mb3JtPgotPHByZSBpZD0nb3V0cHV0Jz48L3ByZT4KLQorPGlucHV0IHR5cGU9ImZpbGUiIG5h
bWU9ImZpbGUxIiBpZD0iZmlsZTEiPgorPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGUyIiBp
ZD0iZmlsZTIiPgogPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdvdXRwdXQnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOwotfQorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhl
IGZpbGVzIGF0dHJpYnV0ZSBpbiBmaWxlIGlucHV0IGZvcm1zIik7CiAKLWZ1bmN0aW9uIG9uSW5w
dXRGaWxlQ2hhbmdlKCkKLXsKLSAgICB2YXIgZmlsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZmlsZXMiKS5maWxlczsKLSAgICBpZiAoZmlsZXMubGVuZ3RoICE9IDEpCi0gICAgICAgIGxv
ZygiRkFJTDogRXhwZWN0ZWQgMSBmaWxlIGFmdGVyIGRyYWcuIikKLSAgICBlbHNlCi0gICAgICAg
IGxvZygiUEFTUzogMSBmaWxlIGFmdGVyIGRyYWciKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgIHZhciBmaWxlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlMSIpOworICAg
IHZhciBmaWxlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlMiIpOworICAgIGRyYWdG
aWxlc09udG9JbnB1dChmaWxlMSwgWyJmb28udHh0Il0pOworICAgIGRyYWdGaWxlc09udG9JbnB1
dChmaWxlMiwgWyJiYXIudHh0Il0pOwogCi0gICAgZG9TdHJpbmdUZXN0KCk7CisgICAgZmlsZTEu
ZmlsZXMgPSAiZm9vIjsKKyAgICBzaG91bGRCZSgiZmlsZTEuZmlsZXMubGVuZ3RoIiwgIjEiKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUxLmZpbGVzLml0ZW0oMCkubmFtZSIsICJm
b28udHh0Iik7CiAKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotfQorICAgIGZpbGUxLmZpbGVzID0gbnVsbDsKKyAgICBzaG91bGRC
ZSgiZmlsZTEuZmlsZXMubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImZpbGUxLmZpbGVzLml0ZW0oMCkubmFtZSIsICJmb28udHh0Iik7CiAKLWZ1bmN0aW9uIGhhbmRs
ZURyYWdPdmVyKGUpIHsKLSAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgIGUucHJldmVudERl
ZmF1bHQoKTsKKyAgICBmaWxlMS5maWxlcyA9IGZpbGUyLmZpbGVzOworICAgIHNob3VsZEJlKCJm
aWxlMS5maWxlcy5sZW5ndGgiLCAiMSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmls
ZTEuZmlsZXMuaXRlbSgwKS5uYW1lIiwgImJhci50eHQiKTsKIH0KIAotZnVuY3Rpb24gaGFuZGxl
RHJvcChlKSB7Ci0gICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKLSAgICBlLnByZXZlbnREZWZhdWx0
KCk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVzIikuZmlsZXMgPSBlLmRhdGFU
cmFuc2Zlci5maWxlczsKK2Z1bmN0aW9uIG1vdmVNb3VzZVRvQ2VudGVyT2ZFbGVtZW50KGVsZW1l
bnQpIHsKKyAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zm
c2V0V2lkdGggLyAyOworICAgIHZhciBjZW50ZXJZID0gZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVt
ZW50Lm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2VudGVy
WCwgY2VudGVyWSk7CiB9CiAKLXZhciBkcm9wdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2Ryb3B0YXJnZXQnKTsKLWRyb3B0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXIn
LCBoYW5kbGVEcmFnT3ZlciwgZmFsc2UpOwotZHJvcHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdk
cm9wJywgaGFuZGxlRHJvcCwgZmFsc2UpOwotCi1mdW5jdGlvbiBkb1Rlc3QoZmlsZUxpc3QpCi17
Ci0gICAgLy8gVGhpcyBkcm9wcyBmaWxlcyBvbiBhIGRpdiwgd2hpY2ggY29waWVzIHRoZW0gdG8g
dGhlIGlucHV0IGVsZW1lbnQsIHdob3NlCi0gICAgLy8gY2FsbGJhY2sgY2FsbHMgbm90aWZ5RG9u
ZSgpLgotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlcyIpLm9uY2hhbmdlID0gb25J
bnB1dEZpbGVDaGFuZ2U7Ci0gICAgdmFyIGZpID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZp
bGVzIik7Ci0gICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKFsnLi4vcmVzb3VyY2Vz
L3Rlc3QudHh0J10pOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGRyb3B0YXJnZXQub2Zm
c2V0TGVmdCArIDEwLCBkcm9wdGFyZ2V0Lm9mZnNldFRvcCArIGRyb3B0YXJnZXQub2Zmc2V0SGVp
Z2h0IC8gMik7CitmdW5jdGlvbiBkcmFnRmlsZXNPbnRvSW5wdXQoaW5wdXQsIGZpbGVzKSB7Cisg
ICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKGZpbGVzKTsKKyAgICBtb3ZlTW91c2VU
b0NlbnRlck9mRWxlbWVudChpbnB1dCk7CiAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwogfQot
Ci1mdW5jdGlvbiBkb1N0cmluZ1Rlc3QoKQotewotICAgIHZhciBmaWxlcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmaWxlcyIpOwotICAgIGZpbGVzLmZpbGVzID0gImZvbyI7ICAvLyBTaG91
bGRuJ3QgY3Jhc2guCi0KLSAgICBmaWxlcy52YWx1ZSA9ICJmb28iOyAgLy8gU2hvdWxkIGRvIG5v
dGhpbmcuCi0gICAgaWYgKGZpbGVzLmZpbGVzLmxlbmd0aCA+IDApCi0gICAgICAgIGxvZygiUEFT
Uzogd3JpdGluZyBub25lbXB0eSBzdHJpbmcgdG8gdmFsdWUgaGFkIG5vIGVmZmVjdCIpOwotICAg
IGVsc2UKLSAgICAgICAgbG9nKCJGQUlMOiB3cml0aW5nIG5vbmVtcHR5IHN0cmluZyB0byB2YWx1
ZSBjbGVhcmVkIGVsZW1lbnRzIik7Ci0KLSAgICBmaWxlcy52YWx1ZSA9ICIiOwotICAgIGlmIChm
aWxlcy5maWxlcy5sZW5ndGggPT09IDApCi0gICAgICAgIGxvZygiUEFTUzogd3JpdGluZyBlbXB0
eSBzdHJpbmcgdG8gdmFsdWUgY2xlYXJlZCBmaWxlcyIpOwotICAgIGVsc2UKLSAgICAgICAgbG9n
KCJGQUlMOiB3cml0aW5nIGVtcHR5IHN0cmluZyB0byB2YWx1ZSBkaWQgbm90IGNsZWFyIGZpbGVz
Iik7Ci19Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1pZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7Ci0gICAgZG9UZXN0KCk7Ci19Ci0KIDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMv
Y29tbW9uLXNldHJhbmdldGV4dC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2Vz
L2NvbW1vbi1zZXRyYW5nZXRleHQuanMKaW5kZXggZTU1ZTMwOThlMDExZjAwNmRmMjE4NWE3M2Zj
MGE3YjVkMDc3NmI0MS4uZDI0ZTJkZWEzMmU5NjkyYWUwMWNjMGUzYzQxM2UwNDBkZjRhZGZlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNldHJh
bmdldGV4dC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24t
c2V0cmFuZ2V0ZXh0LmpzCkBAIC0xNDUsNyArMTQ1LDEwIEBAIGZ1bmN0aW9uIHJ1blRlc3RzU2hv
dWxkRmFpbCh0YWdOYW1lLCBhdHRyaWJ1dGVzKQogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoZWxlbWVudCk7CiAgICAgZGVidWcoIjxocj4iKTsKICAgICBkZWJ1ZygiUnVubmluZyB0ZXN0
cyBvbiAiICsgdGFnTmFtZSArICIgd2l0aCBhdHRyaWJ1dGVzOiAiICsgSlNPTi5zdHJpbmdpZnko
YXR0cmlidXRlcykgKyAiXG4iKTsKLSAgICBldmFsQW5kTG9nKCJlbGVtZW50LnZhbHVlID0gJzAx
MjM0NTY3ODlYWVonIik7CisgICAgaWYgKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0eXBlIikgPT0g
ImZpbGUiKQorICAgICAgICBzaG91bGRUaHJvdygiZWxlbWVudC52YWx1ZSA9ICcwMTIzNDU2Nzg5
WFlaJyIpOworICAgIGVsc2UKKyAgICAgICAgZXZhbEFuZExvZygiZWxlbWVudC52YWx1ZSA9ICcw
MTIzNDU2Nzg5WFlaJyIpOwogICAgIHZhciBpbml0aWFsVmFsdWUgPSBlbGVtZW50LnZhbHVlOwog
ICAgIHNob3VsZFRocm93KCJlbGVtZW50LnNldFJhbmdlVGV4dCgnQUJDJywgMCwgMCkiKTsKICAg
ICAvLyBzZXRSYW5nZVRleHQoKSBzaG91bGRuJ3QgZG8gYW55dGhpbmcgb24gbm9uLXRleHQgZm9y
bSBjb250cm9scy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170841</attachid>
            <date>2012-10-26 00:52:37 -0700</date>
            <delta_ts>2012-11-05 19:00:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100085-20121026155107.patch</filename>
            <type>text/plain</type>
            <size>13543</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM3MThlYjdkYWUwMjAx
MzlkOWIyZmE2MDNkYjc1NTYwYzFkMTEwNy4uM2RmZWUwZjIwNTBlMGI3OGJlNGZmZTFhYTViNWEw
OWI2YTY0NjIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTI1ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1m
aWxlLXdyaXRlLWZpbGVzLmh0bWwgc2hvdWxkIGNvdmVyIGNvcnJlY3Qgc2V0dGluZyB2YWx1ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRnJvbSBTcGVj
OiBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL3NpbmdsZS1wYWdlLmh0bWwjZG9tLWlucHV0
LXZhbHVlLWZpbGVuYW1lCisgICAgICAgIE9uIHNldHRpbmcsIGlmIHRoZSBuZXcgdmFsdWUgaXMg
dGhlIGVtcHR5IHN0cmluZywgaXQgbXVzdCBlbXB0eSB0aGUgbGlzdCBvZiBzZWxlY3RlZAorICAg
ICAgICBmaWxlczsgb3RoZXJ3aXNlLCBpdCBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
IGV4Y2VwdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS12
YWx1ZS5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChIVE1MSW5w
dXRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorCiAyMDEy
LTEwLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMyNTE0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggNGYyMWEwZjQzYTc4ODUxZjdhMTM3MTdjNjNhNDJi
ZGQwOWZiYmYwNS4uZGI4NDg5MjY4YWU3NmI4YjQ2NjM5ZWU0ZDUyMDMyZTQxNDI2NzgxYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMDA2LDYgKzEwMDYs
MTUgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRFZGl0aW5nVmFsdWUoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKICAgICBkaXNwYXRjaElucHV0RXZlbnQoKTsKIH0KIAordm9pZCBIVE1MSW5wdXRF
bGVtZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYywg
VGV4dEZpZWxkRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQoreworICAgIGlmIChpc0ZpbGVV
cGxvYWQoKSAmJiAhdmFsdWUuaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc2V0VmFsdWUodmFsdWUsIGV2ZW50
QmVoYXZpb3IpOworfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0
cmluZyYgdmFsdWUsIFRleHRGaWVsZEV2ZW50QmVoYXZpb3IgZXZlbnRCZWhhdmlvcikKIHsKICAg
ICBpZiAoIW1faW5wdXRUeXBlLT5jYW5TZXRWYWx1ZSh2YWx1ZSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oCmluZGV4IGFjMDEzZDk4MDkxYjk4OTc5M2NmNzA0MWQwM2RjZDBh
NThmODdmYWUuLmY2ZWRiNWUzOGE2YTFjYWZiNDQ1YTYyNjMzOWJjNzExODI3ZDYzYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0xNDgsNiArMTQ4LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0VHlwZShjb25zdCBTdHJpbmcmKTsKIAogICAgIFN0cmluZyB2YWx1
ZSgpIGNvbnN0OworICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29k
ZSYsIFRleHRGaWVsZEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpOwogICAgIHZvaWQg
c2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvciA9IERpc3BhdGNo
Tm9FdmVudCk7CiAgICAgdm9pZCBzZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJik7CiAgICAg
Ly8gQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgc3RyaW5nIHdvdWxkIGJlIGEgdmFsaWQgdmFsdWUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAppbmRleCA0YTg2ZmUyM2Zj
NWQyOGFlYTQ2MGFjZDFjNmE0ZTA0N2Q1NTc3ZTNjLi45MzE1ZjY3YmFiZmI3OWJmZmVmMmQ3NmU2
NGQ3MDM3NWRlZjA4YTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5p
ZGwKQEAgLTU2LDcgKzU2LDcgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RlcDsKICAgICBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOyAvLyByZWFkb25s
eSBkcm9wcGVkIGFzIHBhcnQgb2YgRE9NIGxldmVsIDIKICAgICBbVHJlYXROdWxsQXM9TnVsbFN0
cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Ci0gICAgW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWU7CisgICAgW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWUgc2V0dGVyIHJhaXNlcyhET01F
eGNlcHRpb24pOwogI2lmICFkZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUAog
ICAgIGF0dHJpYnV0ZSBEYXRlIHZhbHVlQXNEYXRlIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDcyMWU0ODM0NWI4NTU5YThkOWU3Mzg0NDZhMTRiZDlkY2I3ODBm
NjYuLjUxZTQ4YTFjZTM4MzJlMjlkMTc5ZDAxM2QxMGE1YzQ1YjRjZjExYWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMi0xMC0yNSAgTGkgWWluICA8bGkueWluQGludGVsLmNvbT4KKworICAg
ICAgICBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sIHNob3VsZCBj
b3ZlciBjb3JyZWN0IHNldHRpbmcgdmFsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSB0ZXN0IGlucHV0LWZpbGUtdmFsdWUuaHRtbCBpcyBzcGxp
dCBmcm9tIGlucHV0LWZpbGUtd3JpdGUtdGVzdC5odG1sLgorICAgICAgICBBbmQgYWRkIGNvcnJl
Y3Qgc2V0dGluZyB2YWx1ZSBmb3IgZmlsZXMgYXR0cmlidXRlLCB2ZXJpZnkgdGhlIGZpbGVzIGF0
dHJpYnV0ZQorICAgICAgICBpcyB3cml0YWJsZSBvciBub3QuCisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2ZpbGUvaW5wdXQtZmlsZS12YWx1ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRlLWZpbGVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sOgorCiAy
MDEyLTEwLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMyNTE0LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtc2V0cmFuZ2V0ZXh0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9maWxlLXNldHJhbmdldGV4dC1leHBlY3RlZC50
eHQKaW5kZXggNTJlNDEyZWE1ODhhODk1YjdjZGIyMmNlOTlmOWEwYTRjN2I2MWU0OC4uZWU0MDQ4
NTc5MWEzZDAwNmM1NDEwNjY3NTg1OGFiOGY3NzhjOGI4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtc2V0cmFuZ2V0ZXh0LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZmlsZS1zZXRyYW5nZXRleHQtZXhwZWN0ZWQudHh0
CkBAIC02LDcgKzYsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBSdW5uaW5nIHRlc3Rz
IG9uIGlucHV0IHdpdGggYXR0cmlidXRlczogeyJ0eXBlIjoiZmlsZSJ9CiAKLWVsZW1lbnQudmFs
dWUgPSAnMDEyMzQ1Njc4OVhZWicKK1BBU1MgZWxlbWVudC52YWx1ZSA9ICcwMTIzNDU2Nzg5WFla
JyB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9u
IDExLgogUEFTUyBlbGVtZW50LnNldFJhbmdlVGV4dCgnQUJDJywgMCwgMCkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1MgZWxl
bWVudC52YWx1ZSBpcyAiIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFsdWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFsdWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNTA4OWQ3ZThhY2NmN2Y5YjA5OGE5Njg5NWFlZDc2MmIy
YTMzYmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5w
dXQtZmlsZS12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGhpcyB0ZXN0cyB0
aGUgdmFsdWUgYXR0cmlidXRlIGluIGZpbGUgaW5wdXQgZm9ybXMKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgZmlsZS52YWx1ZSBpcyAiQzpcXGZha2VwYXRoXFxmb28udHh0
IgorUEFTUyBmaWxlLmZpbGVzLmxlbmd0aCBpcyAxCitQQVNTIGZpbGUudmFsdWUgPSAnZm9vJyB0
aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDEx
LgorUEFTUyBmaWxlLnZhbHVlIGlzICJDOlxcZmFrZXBhdGhcXGZvby50eHQiCitQQVNTIGZpbGUu
ZmlsZXMubGVuZ3RoIGlzIDEKK1BBU1MgZmlsZS52YWx1ZSBpcyAiIgorUEFTUyBmaWxlLmZpbGVz
Lmxlbmd0aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZp
bGUtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZh
bHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI3OTc5N2NmZWYwMjY5ZjUzZmU2MjZkN2M2OTUzNDQxODgy
YTdhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1
dC1maWxlLXZhbHVlLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJm
aWxlIiBpZD0iZmlsZSI+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUg
dmFsdWUgYXR0cmlidXRlIGluIGZpbGUgaW5wdXQgZm9ybXMiKTsKKworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgdmFyIGZpbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZSIp
OworICAgIGRyYWdGaWxlc09udG9JbnB1dChmaWxlLCBbImZvby50eHQiXSk7CisgICAgCisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlLnZhbHVlIiwgIkM6XFxmYWtlcGF0aFxcZm9vLnR4
dCIpOworICAgIHNob3VsZEJlKCJmaWxlLmZpbGVzLmxlbmd0aCIsICIxIik7CisgCisgICAgc2hv
dWxkVGhyb3coImZpbGUudmFsdWUgPSAnZm9vJyIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlsZS52YWx1ZSIsICJDOlxcZmFrZXBhdGhcXGZvby50eHQiKTsKKyAgICBzaG91bGRCZSgi
ZmlsZS5maWxlcy5sZW5ndGgiLCAiMSIpOworCisgICAgZmlsZS52YWx1ZSA9ICIiOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZS52YWx1ZSIsICIiKTsKKyAgICBzaG91bGRCZSgiZmls
ZS5maWxlcy5sZW5ndGgiLCAiMCIpOworfQorCitmdW5jdGlvbiBtb3ZlTW91c2VUb0NlbnRlck9m
RWxlbWVudChlbGVtZW50KSB7CisgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQg
KyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKGNlbnRlclgsIGNlbnRlclkpOworfQorCitmdW5jdGlvbiBkcmFnRmlsZXNPbnRvSW5w
dXQoaW5wdXQsIGZpbGVzKSB7CisgICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKGZp
bGVzKTsKKyAgICBtb3ZlTW91c2VUb0NlbnRlck9mRWxlbWVudChpbnB1dCk7CisgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13
cml0ZS1maWxlcy1leHBlY3RlZC50eHQKaW5kZXggZjU3ZDYwODZhOTE4MjYwM2Q0MDMzNmI4MWQz
NDFlMzdkNWY2ZjJlZi4uNTZiZmYwNTQ2MDNkYjc3Yjg1OGQ5ZTA5MDZiMjc0NGY2MmJjMzc5YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUt
ZmlsZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1
dC1maWxlLXdyaXRlLWZpbGVzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDE1IEBACi1UZXN0IGRy
b3BzIGZpbGVzIGhlcmUKK1RoaXMgdGVzdHMgdGhlIGZpbGVzIGF0dHJpYnV0ZSBpbiBmaWxlIGlu
cHV0IGZvcm1zCiAKLVBBU1M6IDEgZmlsZSBhZnRlciBkcmFnCi1QQVNTOiB3cml0aW5nIG5vbmVt
cHR5IHN0cmluZyB0byB2YWx1ZSBoYWQgbm8gZWZmZWN0Ci1QQVNTOiB3cml0aW5nIGVtcHR5IHN0
cmluZyB0byB2YWx1ZSBjbGVhcmVkIGZpbGVzCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
KworUEFTUyBmaWxlMS5maWxlcy5sZW5ndGggaXMgMQorUEFTUyBmaWxlMS5maWxlcy5pdGVtKDAp
Lm5hbWUgaXMgImZvby50eHQiCitQQVNTIGZpbGUxLmZpbGVzLmxlbmd0aCBpcyAxCitQQVNTIGZp
bGUxLmZpbGVzLml0ZW0oMCkubmFtZSBpcyAiZm9vLnR4dCIKK1BBU1MgZmlsZTEuZmlsZXMubGVu
Z3RoIGlzIDEKK1BBU1MgZmlsZTEuZmlsZXMuaXRlbSgwKS5uYW1lIGlzICJiYXIudHh0IgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUtZmlsZXMu
aHRtbAppbmRleCAwZDVlNTRjYzllMDU0NzAxNmRhNjc3ZjI2MDIzMzU4OThmMzNlNmI0Li42M2Jl
ODBjMThjZWE0M2EzNGE1NzJjYzBhNTBkOWExMjBlODEzZWZlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS13cml0ZS1maWxlcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRlLWZpbGVzLmh0bWwKQEAg
LTEsODUgKzEsNDggQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgogPGJvZHk+Ci08ZGl2IGlkPSJkcm9wdGFyZ2V0Ij5UZXN0IGRyb3BzIGZpbGVzIGhlcmU8L2Rp
dj4KLTxmb3JtPgotPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGVzIiBpZD0iZmlsZXMiPgot
PC9mb3JtPgotPHByZSBpZD0nb3V0cHV0Jz48L3ByZT4KLQorPGlucHV0IHR5cGU9ImZpbGUiIG5h
bWU9ImZpbGUxIiBpZD0iZmlsZTEiPgorPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGUyIiBp
ZD0iZmlsZTIiPgogPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdvdXRwdXQnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOwotfQorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhl
IGZpbGVzIGF0dHJpYnV0ZSBpbiBmaWxlIGlucHV0IGZvcm1zIik7CiAKLWZ1bmN0aW9uIG9uSW5w
dXRGaWxlQ2hhbmdlKCkKLXsKLSAgICB2YXIgZmlsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZmlsZXMiKS5maWxlczsKLSAgICBpZiAoZmlsZXMubGVuZ3RoICE9IDEpCi0gICAgICAgIGxv
ZygiRkFJTDogRXhwZWN0ZWQgMSBmaWxlIGFmdGVyIGRyYWcuIikKLSAgICBlbHNlCi0gICAgICAg
IGxvZygiUEFTUzogMSBmaWxlIGFmdGVyIGRyYWciKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgIHZhciBmaWxlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlMSIpOworICAg
IHZhciBmaWxlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlMiIpOworICAgIGRyYWdG
aWxlc09udG9JbnB1dChmaWxlMSwgWyJmb28udHh0Il0pOworICAgIGRyYWdGaWxlc09udG9JbnB1
dChmaWxlMiwgWyJiYXIudHh0Il0pOwogCi0gICAgZG9TdHJpbmdUZXN0KCk7CisgICAgZmlsZTEu
ZmlsZXMgPSAiZm9vIjsKKyAgICBzaG91bGRCZSgiZmlsZTEuZmlsZXMubGVuZ3RoIiwgIjEiKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUxLmZpbGVzLml0ZW0oMCkubmFtZSIsICJm
b28udHh0Iik7CiAKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotfQorICAgIGZpbGUxLmZpbGVzID0gbnVsbDsKKyAgICBzaG91bGRC
ZSgiZmlsZTEuZmlsZXMubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImZpbGUxLmZpbGVzLml0ZW0oMCkubmFtZSIsICJmb28udHh0Iik7CiAKLWZ1bmN0aW9uIGhhbmRs
ZURyYWdPdmVyKGUpIHsKLSAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgIGUucHJldmVudERl
ZmF1bHQoKTsKKyAgICAvLyBGcm9tIGN1cnJlbnQgVzNDIHNwZWMsIGZpbGVzIGF0dHJpYnV0ZSBz
aG91bGQgYmUgcmVhZCBvbmx5LAorICAgIC8vIGJ1dCBXZWJLaXQgaW1wbGVtZW50IGl0IHRvIGJl
IHdyaXRhYmxlIGludGVudGlvbmFsbHkuCisgICAgLy8gU2VlOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNTQjYzE1CisgICAgZmlsZTEuZmlsZXMgPSBmaWxlMi5m
aWxlczsKKyAgICBzaG91bGRCZSgiZmlsZTEuZmlsZXMubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImZpbGUxLmZpbGVzLml0ZW0oMCkubmFtZSIsICJiYXIudHh0Iik7
CiB9CiAKLWZ1bmN0aW9uIGhhbmRsZURyb3AoZSkgewotICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7
Ci0gICAgZS5wcmV2ZW50RGVmYXVsdCgpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
aWxlcyIpLmZpbGVzID0gZS5kYXRhVHJhbnNmZXIuZmlsZXM7CitmdW5jdGlvbiBtb3ZlTW91c2VU
b0NlbnRlck9mRWxlbWVudChlbGVtZW50KSB7CisgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9m
ZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgY2VudGVyWSA9IGVs
ZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKGNlbnRlclgsIGNlbnRlclkpOwogfQogCi12YXIgZHJvcHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcm9wdGFyZ2V0Jyk7Ci1kcm9wdGFyZ2V0LmFkZEV2
ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgaGFuZGxlRHJhZ092ZXIsIGZhbHNlKTsKLWRyb3B0YXJn
ZXQuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGhhbmRsZURyb3AsIGZhbHNlKTsKLQotZnVuY3Rp
b24gZG9UZXN0KGZpbGVMaXN0KQotewotICAgIC8vIFRoaXMgZHJvcHMgZmlsZXMgb24gYSBkaXYs
IHdoaWNoIGNvcGllcyB0aGVtIHRvIHRoZSBpbnB1dCBlbGVtZW50LCB3aG9zZQotICAgIC8vIGNh
bGxiYWNrIGNhbGxzIG5vdGlmeURvbmUoKS4KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZmlsZXMiKS5vbmNoYW5nZSA9IG9uSW5wdXRGaWxlQ2hhbmdlOwotICAgIHZhciBmaSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlcyIpOwotICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dp
dGhGaWxlcyhbJy4uL3Jlc291cmNlcy90ZXN0LnR4dCddKTsKLSAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhkcm9wdGFyZ2V0Lm9mZnNldExlZnQgKyAxMCwgZHJvcHRhcmdldC5vZmZzZXRUb3Ag
KyBkcm9wdGFyZ2V0Lm9mZnNldEhlaWdodCAvIDIpOworZnVuY3Rpb24gZHJhZ0ZpbGVzT250b0lu
cHV0KGlucHV0LCBmaWxlcykgeworICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhm
aWxlcyk7CisgICAgbW92ZU1vdXNlVG9DZW50ZXJPZkVsZW1lbnQoaW5wdXQpOwogICAgIGV2ZW50
U2VuZGVyLm1vdXNlVXAoKTsKIH0KLQotZnVuY3Rpb24gZG9TdHJpbmdUZXN0KCkKLXsKLSAgICB2
YXIgZmlsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZXMiKTsKLSAgICBmaWxlcy5m
aWxlcyA9ICJmb28iOyAgLy8gU2hvdWxkbid0IGNyYXNoLgotCi0gICAgZmlsZXMudmFsdWUgPSAi
Zm9vIjsgIC8vIFNob3VsZCBkbyBub3RoaW5nLgotICAgIGlmIChmaWxlcy5maWxlcy5sZW5ndGgg
PiAwKQotICAgICAgICBsb2coIlBBU1M6IHdyaXRpbmcgbm9uZW1wdHkgc3RyaW5nIHRvIHZhbHVl
IGhhZCBubyBlZmZlY3QiKTsKLSAgICBlbHNlCi0gICAgICAgIGxvZygiRkFJTDogd3JpdGluZyBu
b25lbXB0eSBzdHJpbmcgdG8gdmFsdWUgY2xlYXJlZCBlbGVtZW50cyIpOwotCi0gICAgZmlsZXMu
dmFsdWUgPSAiIjsKLSAgICBpZiAoZmlsZXMuZmlsZXMubGVuZ3RoID09PSAwKQotICAgICAgICBs
b2coIlBBU1M6IHdyaXRpbmcgZW1wdHkgc3RyaW5nIHRvIHZhbHVlIGNsZWFyZWQgZmlsZXMiKTsK
LSAgICBlbHNlCi0gICAgICAgIGxvZygiRkFJTDogd3JpdGluZyBlbXB0eSBzdHJpbmcgdG8gdmFs
dWUgZGlkIG5vdCBjbGVhciBmaWxlcyIpOwotfQotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLX0KLQotaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgIGRvVGVzdCgpOwotfQot
CiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvcmVzb3VyY2VzL2NvbW1vbi1zZXRyYW5nZXRleHQuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24tc2V0cmFuZ2V0ZXh0LmpzCmluZGV4IGU1NWUz
MDk4ZTAxMWYwMDZkZjIxODVhNzNmYzBhN2I1ZDA3NzZiNDEuLmQyNGUyZGVhMzJlOTY5MmFlMDFj
YzBlM2M0MTNlMDQwZGY0YWRmZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
cmVzb3VyY2VzL2NvbW1vbi1zZXRyYW5nZXRleHQuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNldHJhbmdldGV4dC5qcwpAQCAtMTQ1LDcgKzE0NSwxMCBA
QCBmdW5jdGlvbiBydW5UZXN0c1Nob3VsZEZhaWwodGFnTmFtZSwgYXR0cmlidXRlcykKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogICAgIGRlYnVnKCI8aHI+Iik7CiAg
ICAgZGVidWcoIlJ1bm5pbmcgdGVzdHMgb24gIiArIHRhZ05hbWUgKyAiIHdpdGggYXR0cmlidXRl
czogIiArIEpTT04uc3RyaW5naWZ5KGF0dHJpYnV0ZXMpICsgIlxuIik7Ci0gICAgZXZhbEFuZExv
ZygiZWxlbWVudC52YWx1ZSA9ICcwMTIzNDU2Nzg5WFlaJyIpOworICAgIGlmIChlbGVtZW50Lmdl
dEF0dHJpYnV0ZSgidHlwZSIpID09ICJmaWxlIikKKyAgICAgICAgc2hvdWxkVGhyb3coImVsZW1l
bnQudmFsdWUgPSAnMDEyMzQ1Njc4OVhZWiciKTsKKyAgICBlbHNlCisgICAgICAgIGV2YWxBbmRM
b2coImVsZW1lbnQudmFsdWUgPSAnMDEyMzQ1Njc4OVhZWiciKTsKICAgICB2YXIgaW5pdGlhbFZh
bHVlID0gZWxlbWVudC52YWx1ZTsKICAgICBzaG91bGRUaHJvdygiZWxlbWVudC5zZXRSYW5nZVRl
eHQoJ0FCQycsIDAsIDApIik7CiAgICAgLy8gc2V0UmFuZ2VUZXh0KCkgc2hvdWxkbid0IGRvIGFu
eXRoaW5nIG9uIG5vbi10ZXh0IGZvcm0gY29udHJvbHMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172467</attachid>
            <date>2012-11-05 19:00:53 -0800</date>
            <delta_ts>2012-11-06 00:06:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100085-20121106105906.patch</filename>
            <type>text/plain</type>
            <size>1597</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU2MjQ5ODhmODdjNGZj
OGY2ZDRhMWFhN2ZhMTc4ZDY2YWE4NTAxYS4uNDQ5OTg1ZDlmMDlmYWNlZjc1ZDcwNzVjOTk5MDU2
ZGFlNTQyMGQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTA1ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1m
aWxlLXdyaXRlLWZpbGVzLmh0bWwgc2hvdWxkIGNvdmVyIGNvcnJlY3Qgc2V0dGluZyB2YWx1ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHRoZSBH
T2JqZWN0IGJpbmRpbmdzIGNvbXBhcmliaWxpdHkgaXNzdWUuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBiZWNhdXNlIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLmh0bWwgaGFzIGNv
dmVyZWQgaXQuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorCiAyMDEy
LTExLTA1ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMjc1CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmlkbAppbmRleCA5MzE1ZjY3YmFiZmI3OWJmZmVmMmQ3NmU2NGQ3
MDM3NWRlZjA4YTQ0Li45NDc3ZjdkOWQyNDdiZGI1NTdjOWU2M2M2YWYwZjQyOGZlMmZiM2YxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTU2LDcgKzU2LDkg
QEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxl
Y3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RlcDsKICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
Z10gYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOyAvLyByZWFkb25seSBkcm9wcGVkIGFzIHBhcnQg
b2YgRE9NIGxldmVsIDIKICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERP
TVN0cmluZyBkZWZhdWx0VmFsdWU7CisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAm
JiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIGF0dHJp
YnV0ZSBET01TdHJpbmcgdmFsdWUgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOworI2VuZGlm
CiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8fCAhTEFOR1VBR0VfQ1BQCiAgICAgYXR0cmli
dXRlIERhdGUgdmFsdWVBc0RhdGUgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2VuZGlm
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172501</attachid>
            <date>2012-11-06 00:06:55 -0800</date>
            <delta_ts>2012-11-13 18:54:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100085-20121106160508.patch</filename>
            <type>text/plain</type>
            <size>1662</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU2MjQ5ODhmODdjNGZj
OGY2ZDRhMWFhN2ZhMTc4ZDY2YWE4NTAxYS4uNDQ5OTg1ZDlmMDlmYWNlZjc1ZDcwNzVjOTk5MDU2
ZGFlNTQyMGQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTA1ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1m
aWxlLXdyaXRlLWZpbGVzLmh0bWwgc2hvdWxkIGNvdmVyIGNvcnJlY3Qgc2V0dGluZyB2YWx1ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHRoZSBH
T2JqZWN0IGJpbmRpbmdzIGNvbXBhcmliaWxpdHkgaXNzdWUuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBiZWNhdXNlIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLmh0bWwgaGFzIGNv
dmVyZWQgaXQuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorCiAyMDEy
LTExLTA1ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMjc1CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmlkbAppbmRleCA5MzE1ZjY3YmFiZmI3OWJmZmVmMmQ3NmU2NGQ3
MDM3NWRlZjA4YTQ0Li4xYTRjZDY5YTExZWYxZjAwNDI1YzQ0YmRiYWE5ZDVhZjg0MDdiOGQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTU2LDcgKzU2LDEx
IEBAIGludGVyZmFjZSBIVE1MSW5wdXRFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0ZXA7CiAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJp
bmddIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsgLy8gcmVhZG9ubHkgZHJvcHBlZCBhcyBwYXJ0
IG9mIERPTSBsZXZlbCAyCiAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIGF0dHJpYnV0ZSBE
T01TdHJpbmcgZGVmYXVsdFZhbHVlOworI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkg
JiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHZhbHVlIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyNlbHNl
CisgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWU7
CisjZW5kaWYKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9DUFApIHx8ICFMQU5HVUFHRV9DUFAKICAg
ICBhdHRyaWJ1dGUgRGF0ZSB2YWx1ZUFzRGF0ZSBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174049</attachid>
            <date>2012-11-13 18:54:53 -0800</date>
            <delta_ts>2012-11-13 19:04:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100085-20121114105251.patch</filename>
            <type>text/plain</type>
            <size>1751</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU2MjQ5ODhmODdjNGZj
OGY2ZDRhMWFhN2ZhMTc4ZDY2YWE4NTAxYS4uYWZlMWM1MDViY2VhYzAzNDAyOTM0NDc0YTViNjNh
MmEyZDA5NmNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTA1ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1m
aWxlLXdyaXRlLWZpbGVzLmh0bWwgc2hvdWxkIGNvdmVyIGNvcnJlY3Qgc2V0dGluZyB2YWx1ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHRoZSBH
T2JqZWN0IGFuZCBPYmplY3RpdmUgQyBiaW5kaW5ncyBjb21wYXJpYmlsaXR5IGlzc3VlLiBQcmVz
ZXJ2aW5nIGV4aXN0aW5nCisgICAgICAgIGJlaGF2aW9yIGZvciB0aG9zZSBtYXkgYmUgaW1wb3J0
YW50IGluIGlkbC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgZmFzdC9mb3Jtcy9m
aWxlL2lucHV0LWZpbGUtdmFsdWUuaHRtbCBoYXMgY292ZXJlZCBpdC4KKworICAgICAgICAqIGh0
bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisKIDIwMTItMTEtMDUgIEJldGggRGFraW4gIDxiZGFr
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDEyNzUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCmlu
ZGV4IDkzMTVmNjdiYWJmYjc5YmZmZWYyZDc2ZTY0ZDcwMzc1ZGVmMDhhNDQuLjFhNGNkNjlhMTFl
ZjFmMDA0MjVjNDRiZGJhYTlkNWFmODQwN2I4ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmlkbApAQCAtNTYsNyArNTYsMTEgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcg
c3RlcDsKICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyB0
eXBlOyAvLyByZWFkb25seSBkcm9wcGVkIGFzIHBhcnQgb2YgRE9NIGxldmVsIDIKICAgICBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Cisj
aWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAg
ICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWUgc2V0
dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOworI2Vsc2UKKyAgICBbVHJlYXROdWxsQXM9TnVsbFN0
cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZTsKKyNlbmRpZgogI2lmICFkZWZpbmVkKExB
TkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUAogICAgIGF0dHJpYnV0ZSBEYXRlIHZhbHVlQXNE
YXRlIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174050</attachid>
            <date>2012-11-13 19:04:30 -0800</date>
            <delta_ts>2012-11-13 21:35:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100085-20121114110229.patch</filename>
            <type>text/plain</type>
            <size>1828</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU2MjQ5ODhmODdjNGZj
OGY2ZDRhMWFhN2ZhMTc4ZDY2YWE4NTAxYS4uYWZlMWM1MDViY2VhYzAzNDAyOTM0NDc0YTViNjNh
MmEyZDA5NmNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTA1ICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1m
aWxlLXdyaXRlLWZpbGVzLmh0bWwgc2hvdWxkIGNvdmVyIGNvcnJlY3Qgc2V0dGluZyB2YWx1ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHRoZSBH
T2JqZWN0IGFuZCBPYmplY3RpdmUgQyBiaW5kaW5ncyBjb21wYXJpYmlsaXR5IGlzc3VlLiBQcmVz
ZXJ2aW5nIGV4aXN0aW5nCisgICAgICAgIGJlaGF2aW9yIGZvciB0aG9zZSBtYXkgYmUgaW1wb3J0
YW50IGluIGlkbC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgZmFzdC9mb3Jtcy9m
aWxlL2lucHV0LWZpbGUtdmFsdWUuaHRtbCBoYXMgY292ZXJlZCBpdC4KKworICAgICAgICAqIGh0
bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisKIDIwMTItMTEtMDUgIEJldGggRGFraW4gIDxiZGFr
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDEyNzUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCmlu
ZGV4IDkzMTVmNjdiYWJmYjc5YmZmZWYyZDc2ZTY0ZDcwMzc1ZGVmMDhhNDQuLmZhNDE2YTAzYzEw
NDEyYmUyZDkwZjk5NDJkMmExZmMwODExNzA0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmlkbApAQCAtNTYsNyArNTYsMTIgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcg
c3RlcDsKICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyB0
eXBlOyAvLyByZWFkb25seSBkcm9wcGVkIGFzIHBhcnQgb2YgRE9NIGxldmVsIDIKICAgICBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Cisg
ICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDAwODUKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExB
TkdVQUdFX0pBVkFTQ1JJUFQKICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRl
IERPTVN0cmluZyB2YWx1ZSBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisjZWxzZQorICAg
IFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbHVlOworI2Vu
ZGlmCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8fCAhTEFOR1VBR0VfQ1BQCiAgICAgYXR0
cmlidXRlIERhdGUgdmFsdWVBc0RhdGUgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2Vu
ZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>