<?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>54443</bug_id>
          
          <creation_ts>2011-02-15 02:40:31 -0800</creation_ts>
          <short_desc>Textarea maxlength doesn&apos;t account for newlines</short_desc>
          <delta_ts>2011-03-16 23:31:23 -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>DOM</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>http://host0001.webd.pl/bugs/safari/maxlength-placeholder.htm</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="bugzilla33">bugzilla33</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>honten</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>351163</commentid>
    <comment_count>0</comment_count>
      <attachid>82430</attachid>
    <who name="bugzilla33">bugzilla33</who>
    <bug_when>2011-02-15 02:40:31 -0800</bug_when>
    <thetext>Created attachment 82430
testcase

http://dev.w3.org/html5/markup/textarea.html

Textarea maxlength &amp; placeholder attributes do not work.

maxlength tip: new line character (enter) should be regarded as a one character (length = 1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351165</commentid>
    <comment_count>1</comment_count>
    <who name="bugzilla33">bugzilla33</who>
    <bug_when>2011-02-15 02:47:14 -0800</bug_when>
    <thetext>little mistake - of course, placeholder is working
Only maxlength problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351388</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-15 10:25:01 -0800</bug_when>
    <thetext>Could you please clarify what this bug is about? Is it about newlines not being counted as characters for maxlength, or something else?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351538</commentid>
    <comment_count>3</comment_count>
    <who name="bugzilla33">bugzilla33</who>
    <bug_when>2011-02-15 13:41:18 -0800</bug_when>
    <thetext>Yes,
I think - new lines character should be counted as 1 character.

Firefox counts new line (\n) in textarea as 1 character.

All databases counts new line (\n) as 1 character when storing data in text fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351544</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-15 13:53:24 -0800</bug_when>
    <thetext>Thank you for the clarification - renaming the bug accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366197</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-11 12:00:00 -0800</bug_when>
    <thetext>*** Bug 56171 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366200</commentid>
    <comment_count>6</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-11 12:01:32 -0800</bug_when>
    <thetext>Sorry, I forgot to commit my patch last night due to Japan earthquake.

I&apos;ll commit this weekend...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366670</commentid>
    <comment_count>7</comment_count>
      <attachid>85609</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-12 23:39:32 -0800</bug_when>
    <thetext>Created attachment 85609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366671</commentid>
    <comment_count>8</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-12 23:41:37 -0800</bug_when>
    <thetext>Alexey,

Thank you for your suggestion how to test!!

I wrote the test and uploaded the patch.

Please review it.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366877</commentid>
    <comment_count>9</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-14 00:12:04 -0700</bug_when>
    <thetext>Alexey,

Could you review?

(In reply to comment #8)
&gt; Alexey,
&gt; 
&gt; Thank you for your suggestion how to test!!
&gt; 
&gt; I wrote the test and uploaded the patch.
&gt; 
&gt; Please review it.
&gt; 
&gt; Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366882</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-14 00:53:08 -0700</bug_when>
    <thetext>I don&apos;t plan to review this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366883</commentid>
    <comment_count>11</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-14 00:56:01 -0700</bug_when>
    <thetext>Ok,

Could you tell me who is the right person to contact if you know?

(In reply to comment #10)
&gt; I don&apos;t plan to review this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366886</commentid>
    <comment_count>12</comment_count>
      <attachid>85609</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-14 01:19:56 -0700</bug_when>
    <thetext>Comment on attachment 85609
Patch

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

&gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:96
&gt; +document.execCommand(&apos;insertLineBreak&apos;); // This linebreak should be ignored because limitation up to 3 characters.

You didn&apos;t realize about the bug I spotted below because your previous 3 calls have instantiated an open TypingCommand.

&gt; Source/WebCore/editing/TypingCommand.cpp:227
&gt; +            // Check if we can insert new line break with \n(line feed) string.
&gt; +            ExceptionCode ec = 0;
&gt; +            RefPtr&lt;BeforeTextInsertedEvent&gt; evt = BeforeTextInsertedEvent::create(String(&quot;\n&quot;));
&gt; +            root-&gt;dispatchEvent(evt, ec);
&gt; +
&gt; +            if (evt-&gt;text().length()) {
&gt; +                lastTypingCommand-&gt;setShouldRetainAutocorrectionIndicator(options &amp; RetainAutocorrectionIndicator);
&gt; +                lastTypingCommand-&gt;insertLineBreak();
&gt; +            }

I don&apos;t think this is the right place to put this code.  I don&apos;t see any reason this fix should be restricted to the line breaks inserted after the user had typed something else (i.e. there is an open typing command).  r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366889</commentid>
    <comment_count>13</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-14 01:35:07 -0700</bug_when>
    <thetext>Niwa-san,

Thank you for your review.

But I cannot understand what is &quot;open typing command&quot;.

Could you tell me what kind of situation it happens?

(In reply to comment #12)
&gt; (From update of attachment 85609 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85609&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:96
&gt; &gt; +document.execCommand(&apos;insertLineBreak&apos;); // This linebreak should be ignored because limitation up to 3 characters.
&gt; 
&gt; You didn&apos;t realize about the bug I spotted below because your previous 3 calls have instantiated an open TypingCommand.
&gt; 
&gt; &gt; Source/WebCore/editing/TypingCommand.cpp:227
&gt; &gt; +            // Check if we can insert new line break with \n(line feed) string.
&gt; &gt; +            ExceptionCode ec = 0;
&gt; &gt; +            RefPtr&lt;BeforeTextInsertedEvent&gt; evt = BeforeTextInsertedEvent::create(String(&quot;\n&quot;));
&gt; &gt; +            root-&gt;dispatchEvent(evt, ec);
&gt; &gt; +
&gt; &gt; +            if (evt-&gt;text().length()) {
&gt; &gt; +                lastTypingCommand-&gt;setShouldRetainAutocorrectionIndicator(options &amp; RetainAutocorrectionIndicator);
&gt; &gt; +                lastTypingCommand-&gt;insertLineBreak();
&gt; &gt; +            }
&gt; 
&gt; I don&apos;t think this is the right place to put this code.  I don&apos;t see any reason this fix should be restricted to the line breaks inserted after the user had typed something else (i.e. there is an open typing command).  r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366890</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-14 01:39:08 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Thank you for your review.
&gt; 
&gt; But I cannot understand what is &quot;open typing command&quot;.

TypingCommand can be open or closed.  Open means that TypingCommand is still accepting more inputs.  This is necessary to group together multiple input events so that we can undo them at once.

&gt; Could you tell me what kind of situation it happens?

In your patch, you&apos;re fixing only when you&apos;re adding more inputs to the existing TyingCommand (the last one on the undo stack).  But you don&apos;t fix the case where there is no typing command or the TypingCommand which is on the top of the undo stack has already been closed (e.g. by selection change).  So try inserting a line break into &lt;input type=&quot;text&quot; value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;.  I bet your fix won&apos;t work in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366895</commentid>
    <comment_count>15</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-14 01:54:49 -0700</bug_when>
    <thetext>I see.

I didn&apos;t consider such a situation. Actually this is not only new line problem, but also normal characters.

Let&apos;s say,
 &lt;input type=&quot;text&quot; value=&quot;aaaaaaa&quot; maxlength=&quot;3&quot;&gt;
It shows
aaaaaaa
in text input.

I suppose it might be different problem form the bug entry pointed out though, because the reporter only told &quot;new line&quot; though.
Anyway, I&apos;ll look into it more.

Thanks,

(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; Thank you for your review.
&gt; &gt; 
&gt; &gt; But I cannot understand what is &quot;open typing command&quot;.
&gt; 
&gt; TypingCommand can be open or closed.  Open means that TypingCommand is still accepting more inputs.  This is necessary to group together multiple input events so that we can undo them at once.
&gt; 
&gt; &gt; Could you tell me what kind of situation it happens?
&gt; 
&gt; In your patch, you&apos;re fixing only when you&apos;re adding more inputs to the existing TyingCommand (the last one on the undo stack).  But you don&apos;t fix the case where there is no typing command or the TypingCommand which is on the top of the undo stack has already been closed (e.g. by selection change).  So try inserting a line break into &lt;input type=&quot;text&quot; value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;.  I bet your fix won&apos;t work in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366896</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-14 02:03:18 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; I didn&apos;t consider such a situation. Actually this is not only new line problem, but also normal characters.
&gt; 
&gt; Let&apos;s say,
&gt;  &lt;input type=&quot;text&quot; value=&quot;aaaaaaa&quot; maxlength=&quot;3&quot;&gt;
&gt; It shows
&gt; aaaaaaa
&gt; in text input.

I think you misunderstood me.  I&apos;m talking about the case where you try inserting the 4th new line break into &lt;input type=&quot;text&quot; value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;.  I&apos;m not talking about the case where the number of line breaks is larger than the maximum length.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367014</commentid>
    <comment_count>17</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-14 09:23:36 -0700</bug_when>
    <thetext>Sorry, I want to make sure again.

&lt;input type=&quot;text&quot; value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;
Now I noticed that this doesn&apos;t show correct newlines. Does it?

Because input type=&quot;text&quot; is just one line.

Or do you mean as following?
&lt;textarea value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;

And then after that, do I have to try to insert 4th new line break?
Or still do I misunderstand you?

If you can, could you tell me the bug step by step?

Thanks,

(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; I didn&apos;t consider such a situation. Actually this is not only new line problem, but also normal characters.
&gt; &gt; 
&gt; &gt; Let&apos;s say,
&gt; &gt;  &lt;input type=&quot;text&quot; value=&quot;aaaaaaa&quot; maxlength=&quot;3&quot;&gt;
&gt; &gt; It shows
&gt; &gt; aaaaaaa
&gt; &gt; in text input.
&gt; 
&gt; I think you misunderstood me.  I&apos;m talking about the case where you try inserting the 4th new line break into &lt;input type=&quot;text&quot; value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;.  I&apos;m not talking about the case where the number of line breaks is larger than the maximum length.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367024</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-14 09:47:17 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; &lt;input type=&quot;text&quot; value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;
&gt; Now I noticed that this doesn&apos;t show correct newlines. Does it?

Oops, you&apos;re absolutely right.

&gt; Or do you mean as following?
&gt; &lt;textarea value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;

&lt;textarea maxlength=&quot;3&quot;&gt;


&lt;/textarea&gt;

is what I meant (3 lines in textarea).

&gt; And then after that, do I have to try to insert 4th new line break?

Right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367496</commentid>
    <comment_count>19</comment_count>
      <attachid>85770</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-14 21:39:27 -0700</bug_when>
    <thetext>Created attachment 85770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367497</commentid>
    <comment_count>20</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-14 21:41:24 -0700</bug_when>
    <thetext>Niwa-san,

I uploaded new patch.

Basically I just move the checking part to more inner function.

Could you review?

Thanks,

(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; &lt;input type=&quot;text&quot; value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;
&gt; &gt; Now I noticed that this doesn&apos;t show correct newlines. Does it?
&gt; 
&gt; Oops, you&apos;re absolutely right.
&gt; 
&gt; &gt; Or do you mean as following?
&gt; &gt; &lt;textarea value=&quot;\n\n\n&quot; maxlength=&quot;3&quot;&gt;
&gt; 
&gt; &lt;textarea maxlength=&quot;3&quot;&gt;
&gt; 
&gt; 
&gt; &lt;/textarea&gt;
&gt; 
&gt; is what I meant (3 lines in textarea).
&gt; 
&gt; &gt; And then after that, do I have to try to insert 4th new line break?
&gt; 
&gt; Right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368009</commentid>
    <comment_count>21</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 15:56:35 -0700</bug_when>
    <thetext>Niwa-san,

Could you review my patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368014</commentid>
    <comment_count>22</comment_count>
      <attachid>85770</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-15 16:02:14 -0700</bug_when>
    <thetext>Comment on attachment 85770
Patch

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

&gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:96
&gt; +// Here confirms correct count for consecutive linebreaks inputs.
&gt; +textArea = createFocusedTextAreaWithMaxLength3();
&gt; +textArea.innerHTML = &apos;a\n\n&apos;;
&gt; +document.execCommand(&apos;insertLineBreak&apos;); // This linebreak should be ignored because limitation up to 3 characters.
&gt; +shouldBe(&apos;textArea.value&apos;, &apos;&quot;a\\n\\n&quot;&apos;);

You should add one more test case where you call InsertLineBreak multiple times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368024</commentid>
    <comment_count>23</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 16:16:25 -0700</bug_when>
    <thetext>Ok,

How about the cpp part?

No problem?

(In reply to comment #22)
&gt; (From update of attachment 85770 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85770&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:96
&gt; &gt; +// Here confirms correct count for consecutive linebreaks inputs.
&gt; &gt; +textArea = createFocusedTextAreaWithMaxLength3();
&gt; &gt; +textArea.innerHTML = &apos;a\n\n&apos;;
&gt; &gt; +document.execCommand(&apos;insertLineBreak&apos;); // This linebreak should be ignored because limitation up to 3 characters.
&gt; &gt; +shouldBe(&apos;textArea.value&apos;, &apos;&quot;a\\n\\n&quot;&apos;);
&gt; 
&gt; You should add one more test case where you call InsertLineBreak multiple times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368095</commentid>
    <comment_count>24</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-15 17:46:01 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; How about the cpp part?
&gt; No problem?

View in context: https://bugs.webkit.org/attachment.cgi?id=85770&amp;action=review
&gt; Source/WebCore/editing/TypingCommand.cpp:408
&gt; +    RefPtr&lt;BeforeTextInsertedEvent&gt; evt = BeforeTextInsertedEvent::create(String(&quot;\n&quot;));

Please do not use abbreviations like &quot;evt&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368164</commentid>
    <comment_count>25</comment_count>
      <attachid>85904</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 21:06:39 -0700</bug_when>
    <thetext>Created attachment 85904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368165</commentid>
    <comment_count>26</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 21:07:18 -0700</bug_when>
    <thetext>Please review again.

(In reply to comment #25)
&gt; Created an attachment (id=85904) [details]
&gt; Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368172</commentid>
    <comment_count>27</comment_count>
      <attachid>85904</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-15 21:22:06 -0700</bug_when>
    <thetext>Comment on attachment 85904
Patch

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

&gt; LayoutTests/ChangeLog:5
&gt; +        Textarea maxlength doesn&amp;apos;t account for newlines

&quot;doesn&amp;apos;t&quot; should be &quot;doesn&apos;t&quot;

&gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:52
&gt; +    return textArea;

This line isn&apos;t necessary as textAre is declared in the global scope.

&gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:93
&gt; +textArea = createFocusedTextAreaWithMaxLength3();

No need to update textArea manually here.

&gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:95
&gt; +document.execCommand(&apos;insertLineBreak&apos;); // This linebreak should be ignored because limitation up to 3 characters.

Given we already call createFocusedTextAreaWithMaxLength3, the comment is redundant.  Please get rid of it.

&gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:103
&gt; +document.execCommand(&apos;insertLineBreak&apos;); // This linebreak should be ignored because limitation up to 3 characters.

Ditto about the comment.

&gt; Source/WebCore/ChangeLog:5
&gt; +        Textarea maxlength doesn&amp;apos;t account for newlines

Same comment about &quot;&amp;apos;&quot;

&gt; Source/WebCore/ChangeLog:8
&gt; +        When a user presses a return key, TypingCommand::insertLineBreak() is called. So before append a new line, check if we can add the new line.

This seems to be excessively long.  Please split the line at the end of the first sentence so that each line is ~150 columns.

&gt; Source/WebCore/editing/TypingCommand.cpp:412
&gt; +    // Check if we can insert new line break with \n(line feed) string.
&gt; +    ExceptionCode ec = 0;
&gt; +    RefPtr&lt;BeforeTextInsertedEvent&gt; event = BeforeTextInsertedEvent::create(String(&quot;\n&quot;));
&gt; +    endingSelection().rootEditableElement()-&gt;dispatchEvent(event, ec);
&gt; +    if (!event-&gt;text().length())
&gt; +        return;
&gt; +

Now that I think about it, it seems odd that we don&apos;t do the same thing for insertParagraphSeparator (i.e. execCommand(&apos;InsertParagraph&apos;, false, null))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368173</commentid>
    <comment_count>28</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-15 21:24:05 -0700</bug_when>
    <thetext>Also, if you&apos;re not a committer yet, you should probably ask for cq+ as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368181</commentid>
    <comment_count>29</comment_count>
      <attachid>85907</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 22:09:46 -0700</bug_when>
    <thetext>Created attachment 85907
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368182</commentid>
    <comment_count>30</comment_count>
      <attachid>85907</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 22:10:53 -0700</bug_when>
    <thetext>Comment on attachment 85907
Patch

Could you review again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368186</commentid>
    <comment_count>31</comment_count>
      <attachid>85907</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-15 22:18:32 -0700</bug_when>
    <thetext>Comment on attachment 85907
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        (createFocusedTextAreaWithMaxLength3): Added to make sure consecutive insertbreaks work correctly for textarea maxlength.

Please split this into two lines.  It&apos;s way too long to fit in one line.

&gt; Source/WebCore/editing/TypingCommand.cpp:50
&gt; +// Helper function to check if we can insert new line feed with \n(line feed) string.

This comment seems to repeat what code does.  In general, we&apos;d like to make code self-explanatory and add as little comment as possible.

&gt; Source/WebCore/editing/TypingCommand.cpp:51
&gt; +static bool canAppendNewLineFeed(TypingCommand&amp; typingCommand)

It&apos;s uncommon for a function to take a reference to an EditCommand like this because EditCommand is ref-counted.

&gt; Source/WebCore/editing/TypingCommand.cpp:416
&gt; +    if (!canAppendNewLineFeed(*this))
&gt; +        return;

I&apos;d pass typingCommand.endingSelection() or the root editable element instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368187</commentid>
    <comment_count>32</comment_count>
      <attachid>85907</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-15 22:20:09 -0700</bug_when>
    <thetext>Comment on attachment 85907
Patch

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

&gt;&gt; Source/WebCore/editing/TypingCommand.cpp:50
&gt;&gt; +// Helper function to check if we can insert new line feed with \n(line feed) string.
&gt; 
&gt; This comment seems to repeat what code does.  In general, we&apos;d like to make code self-explanatory and add as little comment as possible.

I forgot to say that you should remove this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368211</commentid>
    <comment_count>33</comment_count>
      <attachid>85914</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 23:21:28 -0700</bug_when>
    <thetext>Created attachment 85914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368214</commentid>
    <comment_count>34</comment_count>
      <attachid>85914</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-15 23:23:34 -0700</bug_when>
    <thetext>Comment on attachment 85914
Patch

Please review again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368240</commentid>
    <comment_count>35</comment_count>
      <attachid>85914</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-16 00:01:47 -0700</bug_when>
    <thetext>Comment on attachment 85914
Patch

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

&gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:95
&gt; +shouldBe(&apos;textArea.value&apos;, &apos;&quot;a\\n\\n&quot;&apos;);

I&apos;m a bit confused.  Why am I not seeing changes in textarea-maxlength-expected.txt ?  Aren&apos;t these changed suppose to affect the test ouput?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368244</commentid>
    <comment_count>36</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-16 00:25:19 -0700</bug_when>
    <thetext>Hmm...

My git repo looks strange;-(

Even if &quot;git diff&quot;, it cannot detect expected.txt diff.

I&apos;ll take all the repo again, and make the patch later...

Thanks,

(In reply to comment #35)
&gt; (From update of attachment 85914 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85914&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:95
&gt; &gt; +shouldBe(&apos;textArea.value&apos;, &apos;&quot;a\\n\\n&quot;&apos;);
&gt; 
&gt; I&apos;m a bit confused.  Why am I not seeing changes in textarea-maxlength-expected.txt ?  Aren&apos;t these changed suppose to affect the test ouput?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368731</commentid>
    <comment_count>37</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-16 19:29:47 -0700</bug_when>
    <thetext>Niwa-san,

While I&apos;m looking around the test code, I noticed textarea-maxlength-expected.txt doesn&apos;t affect the test output.

As you know, if we really need expectation check, we have to add the test into test_expectations.txt, right?
http://www.chromium.org/developers/testing/webkit-layout-tests#TOC-Test-Expectations

But textarea-maxlength.html doesn&apos;t exist in test_expectations.txt. I guess run_webkit_tests checks the test output strings and confirms &quot;PASS&quot; or &quot;FAIL&quot;.

I confirmed the following cases,
1, Even if I change textarea-maxlength-expected.txt, the test passes. So the file doesn&apos;t affect anything. Also I delete it, still the test passes.
2, If I change textarea-maxlength.html in order to fail the test intentionally, it fails.
3, Even if I try to generate new-baseline with --new-baseline option, I cannot change textarea-maxlength-expected.txt.

What do you think?

(In reply to comment #36)
&gt; Hmm...
&gt; 
&gt; My git repo looks strange;-(
&gt; 
&gt; Even if &quot;git diff&quot;, it cannot detect expected.txt diff.
&gt; 
&gt; I&apos;ll take all the repo again, and make the patch later...
&gt; 
&gt; Thanks,
&gt; 
&gt; (In reply to comment #35)
&gt; &gt; (From update of attachment 85914 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85914&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/fast/forms/script-tests/textarea-maxlength.js:95
&gt; &gt; &gt; +shouldBe(&apos;textArea.value&apos;, &apos;&quot;a\\n\\n&quot;&apos;);
&gt; &gt; 
&gt; &gt; I&apos;m a bit confused.  Why am I not seeing changes in textarea-maxlength-expected.txt ?  Aren&apos;t these changed suppose to affect the test ouput?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368743</commentid>
    <comment_count>38</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-16 19:39:46 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; While I&apos;m looking around the test code, I noticed textarea-maxlength-expected.txt doesn&apos;t affect the test output.

You mean &quot;doesn&apos;t get affected&quot;?

&gt; As you know, if we really need expectation check, we have to add the test into test_expectations.txt, right?

No.  Every test that doesn&apos;t have an entry in test_expectations.txt will be ran and the results are compared against the expected result.  So not having an entry means that we expect the test to run normally and its output to match the expected result.

&gt; But textarea-maxlength.html doesn&apos;t exist in test_expectations.txt. I guess run_webkit_tests checks the test output strings and confirms &quot;PASS&quot; or &quot;FAIL&quot;.

I don&apos;t think so.  Your patch should have changed in http://trac.webkit.org/browser/trunk/LayoutTests/fast/forms/textarea-maxlength-expected.txt as in http://trac.webkit.org/changeset/48903

&gt; I confirmed the following cases,
&gt; 1, Even if I change textarea-maxlength-expected.txt, the test passes. So the file doesn&apos;t affect anything. Also I delete it, still the test passes.

That doesn&apos;t make any sense.  You&apos;re probably not running it correctly.  Did you rebuild WebKit before running LayoutTests?

&gt; 2, If I change textarea-maxlength.html in order to fail the test intentionally, it fails.
&gt; 3, Even if I try to generate new-baseline with --new-baseline option, I cannot change textarea-maxlength-expected.txt.

Which port are you using to do this?  You should be running Tools/Scripts/run-webkit-tests (optionally --debug if you&apos;re using debug build) and I don&apos;t think it has --new-baseline option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368753</commentid>
    <comment_count>39</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-16 19:51:17 -0700</bug_when>
    <thetext>According to http://www.chromium.org/developers/testing/webkit-layout-tests#TOC-Running-the-Tests
 ./webkit/tools/layout_tests/run_webkit_tests.sh
looks correct.

But, do you mean
Tools/Scripts/run-webkit-tests
is correct?

I didn&apos;t know there are two version of run-webkit-tests or run_webkit_tests.

Which is correct one?

(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; While I&apos;m looking around the test code, I noticed textarea-maxlength-expected.txt doesn&apos;t affect the test output.
&gt; 
&gt; You mean &quot;doesn&apos;t get affected&quot;?
&gt; 
&gt; &gt; As you know, if we really need expectation check, we have to add the test into test_expectations.txt, right?
&gt; 
&gt; No.  Every test that doesn&apos;t have an entry in test_expectations.txt will be ran and the results are compared against the expected result.  So not having an entry means that we expect the test to run normally and its output to match the expected result.
&gt; 
&gt; &gt; But textarea-maxlength.html doesn&apos;t exist in test_expectations.txt. I guess run_webkit_tests checks the test output strings and confirms &quot;PASS&quot; or &quot;FAIL&quot;.
&gt; 
&gt; I don&apos;t think so.  Your patch should have changed in http://trac.webkit.org/browser/trunk/LayoutTests/fast/forms/textarea-maxlength-expected.txt as in http://trac.webkit.org/changeset/48903
&gt; 
&gt; &gt; I confirmed the following cases,
&gt; &gt; 1, Even if I change textarea-maxlength-expected.txt, the test passes. So the file doesn&apos;t affect anything. Also I delete it, still the test passes.
&gt; 
&gt; That doesn&apos;t make any sense.  You&apos;re probably not running it correctly.  Did you rebuild WebKit before running LayoutTests?
&gt; 
&gt; &gt; 2, If I change textarea-maxlength.html in order to fail the test intentionally, it fails.
&gt; &gt; 3, Even if I try to generate new-baseline with --new-baseline option, I cannot change textarea-maxlength-expected.txt.
&gt; 
&gt; Which port are you using to do this?  You should be running Tools/Scripts/run-webkit-tests (optionally --debug if you&apos;re using debug build) and I don&apos;t think it has --new-baseline option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368759</commentid>
    <comment_count>40</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-16 19:58:15 -0700</bug_when>
    <thetext>(In reply to comment #39)
&gt; According to http://www.chromium.org/developers/testing/webkit-layout-tests#TOC-Running-the-Tests
&gt;  ./webkit/tools/layout_tests/run_webkit_tests.sh
&gt; looks correct.

Ah, you&apos;re using WebKit inside Chromium checkout.  I don&apos;t know what&apos;s the proper way to run layout tests inside Chromium checkout because I always use Apple&apos;s Mac port.

&gt; But, do you mean
&gt; Tools/Scripts/run-webkit-tests
&gt; is correct?

For Chromium port, you need to use Tools/Scripts/new-run-webkit-tests.  See http://trac.webkit.org/wiki/Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368786</commentid>
    <comment_count>41</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-16 20:30:06 -0700</bug_when>
    <thetext>I see.

./third_party/WebKit/LayoutTests/platform/chromium-linux/fast/forms/textarea-maxlength-expected.txt
is generated. That is different location...

I recreate patch.

(In reply to comment #40)
&gt; (In reply to comment #39)
&gt; &gt; According to http://www.chromium.org/developers/testing/webkit-layout-tests#TOC-Running-the-Tests
&gt; &gt;  ./webkit/tools/layout_tests/run_webkit_tests.sh
&gt; &gt; looks correct.
&gt; 
&gt; Ah, you&apos;re using WebKit inside Chromium checkout.  I don&apos;t know what&apos;s the proper way to run layout tests inside Chromium checkout because I always use Apple&apos;s Mac port.
&gt; 
&gt; &gt; But, do you mean
&gt; &gt; Tools/Scripts/run-webkit-tests
&gt; &gt; is correct?
&gt; 
&gt; For Chromium port, you need to use Tools/Scripts/new-run-webkit-tests.  See http://trac.webkit.org/wiki/Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368787</commentid>
    <comment_count>42</comment_count>
      <attachid>86022</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-16 20:30:18 -0700</bug_when>
    <thetext>Created attachment 86022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368788</commentid>
    <comment_count>43</comment_count>
      <attachid>86022</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-03-16 20:31:18 -0700</bug_when>
    <thetext>Comment on attachment 86022
Patch

Please review again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368868</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-16 23:28:55 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 86022:

http/tests/appcache/top-frame-1.html bug 56542 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368869</commentid>
    <comment_count>45</comment_count>
      <attachid>86022</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-16 23:31:16 -0700</bug_when>
    <thetext>Comment on attachment 86022
Patch

Clearing flags on attachment: 86022

Committed r81328: &lt;http://trac.webkit.org/changeset/81328&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368870</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-16 23:31:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>82430</attachid>
            <date>2011-02-15 02:40:31 -0800</date>
            <delta_ts>2011-02-15 02:40:31 -0800</delta_ts>
            <desc>testcase</desc>
            <filename>maxlength-placeholder.htm</filename>
            <type>text/html</type>
            <size>1302</size>
            <attacher name="bugzilla33">bugzilla33</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCI+DQogPGhlYWQ+DQogIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPg0KICA8bWV0YSBodHRwLWVx
dWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+DQogPC9oZWFkPg0KIDxi
b2R5Pg0KICA8ZGl2PjxhIGhyZWY9Imh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L21hcmt1cC90ZXh0
YXJlYS5odG1sIj5odHRwOi8vZGV2LnczLm9yZy9odG1sNS9tYXJrdXAvdGV4dGFyZWEuaHRtbDwv
YT48L2Rpdj4NCiAgPGRpdj5UZXh0YXJlYSBtYXhsZW5ndGggJiBwbGFjZWhvbGRlciBhdHRyaWJ1
dGVzIGRvIG5vdCB3b3JrLjwvZGl2Pg0KICA8ZGl2Pm1heGxlbmd0aCB0aXA6IG5ldyBsaW5lIGNo
YXJhY3RlciAoZW50ZXIpIHNob3VsZCBiZSByZWdhcmRlZCBhcyBhIG9uZSBjaGFyYWN0ZXIgKGxl
bmd0aCA9IDEpLjwvZGl2Pg0KICA8ZGl2Pjx0ZXh0YXJlYSBzdHlsZT0id2lkdGg6MzAwcHg7aGVp
Z2h0OjIwMHB4IiBtYXhsZW5ndGg9IjYiIHBsYWNlaG9sZGVyPSJ0aGlzIHRleHRhcmVhIGhhcyBt
YXhsZW5ndGggc2V0IHRvIDYiPjwvdGV4dGFyZWE+PC9kaXY+DQogIDxkaXY+SUUgOS4wLjgwODAu
MTY0MTM6IDxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPm1heGxlbmd0aDwvc3Bhbj4sIDxzcGFuIHN0
eWxlPSJjb2xvcjpyZWQiPnBsYWNlaG9sZGVyPC9zcGFuPjwvZGl2Pg0KICA8ZGl2PkZpcmVmb3gg
NDogPHNwYW4gc3R5bGU9ImNvbG9yOmdyZWVuIj5tYXhsZW5ndGg8L3NwYW4+LCA8c3BhbiBzdHls
ZT0iY29sb3I6Z3JlZW4iPnBsYWNlaG9sZGVyPC9zcGFuPjwvZGl2Pg0KICA8ZGl2Pk9wZXJhIDEx
OiA8c3BhbiBzdHlsZT0iY29sb3I6cmVkIj5tYXhsZW5ndGg8L3NwYW4+LCA8c3BhbiBzdHlsZT0i
Y29sb3I6cmVkIj5wbGFjZWhvbGRlcjwvc3Bhbj48L2Rpdj4NCiAgPGRpdj5DaHJvbWUgOTogPHNw
YW4gc3R5bGU9ImNvbG9yOnJlZCI+bWF4bGVuZ3RoPC9zcGFuPiwgPHNwYW4gc3R5bGU9ImNvbG9y
OmdyZWVuIj5wbGFjZWhvbGRlcjwvc3Bhbj48L2Rpdj4NCiAgPGRpdj5TYWZhcmkgNTogPHNwYW4g
c3R5bGU9ImNvbG9yOnJlZCI+bWF4bGVuZ3RoPC9zcGFuPiwgPHNwYW4gc3R5bGU9ImNvbG9yOmdy
ZWVuIj5wbGFjZWhvbGRlcjwvc3Bhbj48L2Rpdj4NCiAgPGRpdj5Lb25xdWVyb3IgNC41OiA8c3Bh
biBzdHlsZT0iY29sb3I6cmVkIj5tYXhsZW5ndGg8L3NwYW4+LCA8c3BhbiBzdHlsZT0iY29sb3I6
cmVkIj5wbGFjZWhvbGRlcjwvc3Bhbj48L2Rpdj4NCiA8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85609</attachid>
            <date>2011-03-12 23:39:32 -0800</date>
            <delta_ts>2011-03-14 21:39:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54443-20110312015046.patch</filename>
            <type>text/plain</type>
            <size>4035</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA0MzMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNDk1OGI5M2Y2NzJhYWUwODc1MjQ2
NDA5NWQ2YWJkYTk4NDRkMjFiLi4yYzVmYzViZjc3ZGVkYjI4MjkxYjZhYjg5YmQ5OTMzYTk2YWY2
MWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMTIgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3RoIGRvZXNuJmFwb3M7dCBhY2NvdW50IGZv
ciBuZXdsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTQ0NDMKKworICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1h
eGxlbmd0aC5qczogQWRkZWQgdG8gbWFrZSBzdXJlIGNvbnNlY3V0aXZlIGluc2VydGJyZWFrcyB3
b3JrIGNvcnJlY3RseSBmb3IgdGV4dGFyZWEgbWF4bGVuZ3RoLgorCiAyMDExLTAzLTA1ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByODA0MjguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMKaW5kZXggZWUyYmIxN2U5
ZDIyZDgyNjhiNjRmM2FlNzFjZWYyNWJmYzcyZjNjZC4uZjg4YTU4NDkyZDNlNDNjYzI2NWM4MjVk
OGYzYjE1NjhiYzI0NTEzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1heGxlbmd0aC5qcwpAQCAtODgsNiArODgsMTQgQEAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwogZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJ0InKTsKIHNob3VsZEJlKCd0ZXh0QXJlYS52YWx1
ZScsICciQVxcbkIiJyk7CiAKKy8vIEhlcmUgY29uZmlybXMgY29ycmVjdCBjb3VudCBmb3IgY29u
c2VjdXRpdmUgbGluZWJyZWFrcyBpbnB1dHMuCitjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4
TGVuZ3RoMygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOworZG9j
dW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOworZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ2luc2VydExpbmVCcmVhaycpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVC
cmVhaycpOyAvLyBUaGlzIGxpbmVicmVhayBzaG91bGQgYmUgaWdub3JlZCBiZWNhdXNlIGxpbWl0
YXRpb24gdXAgdG8gMyBjaGFyYWN0ZXJzLgorc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJc
XG5cXG5cXG4iJyk7CisKIC8vIEFjY29yZGluZyB0byB0aGUgSFRNTDUgc3BlY2lmaWNhdGlvbiwg
bWF4TGVuZ3RoIGlzIGNvZGUtcG9pbnQgbGVuZ3RoLgogLy8gSG93ZXZlciBXZWJLaXQgaGFuZGxl
cyBpdCBhcyBncmFwaGVtZSBsZW5ndGguCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMjM0OGZhNWYxZjAwZjM4
ZTVkYTE4M2NhNDViYjdlMWEyYTZmMzk4Li41MjZkZjk0YTFkNTBiMmI0NTI4ZDRjNzg1NDMxYzUy
ZmI5OTUxNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMtMTIgIE5hb2tp
IFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3RoIGRvZXNuJmFwb3M7
dCBhY2NvdW50IGZvciBuZXdsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTQ0NDMKKworICAgICAgICBXaGVuIGEgdXNlciBwcmVzc2VzIGEgcmV0
dXJuIGtleSwgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0TGluZUJyZWFrKCkgaXMgY2FsbGVkLiBTbyBi
ZWZvcmUgYXBwZW5kIGEgbmV3IGxpbmUsIGNoZWNrIGlmIHdlIGNhbiBhZGQgdGhlIG5ldyBsaW5l
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1heGxl
bmd0aC5qczoKKworICAgICAgICAqIGVkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUeXBpbmdDb21tYW5kOjppbnNlcnRMaW5lQnJlYWspOiBBZGRlZCBjaGVjayBs
b2dpYyBiZWZvcmUgYWRkaW5nIHRoZSBuZXcgbGluZS4KKwogMjAxMS0wMy0wNSAgU2hlcmlmZiBC
b3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjgwNDI4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9U
eXBpbmdDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5j
cHAKaW5kZXggM2I0MjkxNTA3YmFkZmEyM2U2NDg4YjZhODBiYjhkNjZhZmNkNGZkOC4uYTQ1ZjQz
NGViNzFjMDU2ZTc5Y2VmNGEwYjNmNGYwMWFlNTQ5ZDQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1R5cGluZ0NvbW1hbmQuY3BwCkBAIC0yMTQsOCArMjE0LDE4IEBAIHZvaWQgVHlwaW5nQ29t
bWFuZDo6aW5zZXJ0TGluZUJyZWFrKERvY3VtZW50ICpkb2N1bWVudCwgVHlwaW5nQ29tbWFuZE9w
dGlvbnMgb3B0CiAgICAgRWRpdENvbW1hbmQqIGxhc3RFZGl0Q29tbWFuZCA9IGZyYW1lLT5lZGl0
b3IoKS0+bGFzdEVkaXRDb21tYW5kKCk7CiAgICAgaWYgKGlzT3BlbkZvck1vcmVUeXBpbmdDb21t
YW5kKGxhc3RFZGl0Q29tbWFuZCkpIHsKICAgICAgICAgVHlwaW5nQ29tbWFuZCogbGFzdFR5cGlu
Z0NvbW1hbmQgPSBzdGF0aWNfY2FzdDxUeXBpbmdDb21tYW5kKj4obGFzdEVkaXRDb21tYW5kKTsK
LSAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPnNldFNob3VsZFJldGFpbkF1dG9jb3JyZWN0aW9u
SW5kaWNhdG9yKG9wdGlvbnMgJiBSZXRhaW5BdXRvY29ycmVjdGlvbkluZGljYXRvcik7Ci0gICAg
ICAgIGxhc3RUeXBpbmdDb21tYW5kLT5pbnNlcnRMaW5lQnJlYWsoKTsKKyAgICAgICAgRWxlbWVu
dCogcm9vdCA9IGxhc3RUeXBpbmdDb21tYW5kLT5lbmRpbmdTZWxlY3Rpb24oKS5yb290RWRpdGFi
bGVFbGVtZW50KCk7CisgICAgICAgIGlmIChyb290KSB7CisgICAgICAgICAgICAvLyBDaGVjayBp
ZiB3ZSBjYW4gaW5zZXJ0IG5ldyBsaW5lIGJyZWFrIHdpdGggXG4obGluZSBmZWVkKSBzdHJpbmcu
CisgICAgICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgICAgIFJlZlB0cjxC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudD4gZXZ0ID0gQmVmb3JlVGV4dEluc2VydGVkRXZlbnQ6OmNy
ZWF0ZShTdHJpbmcoIlxuIikpOworICAgICAgICAgICAgcm9vdC0+ZGlzcGF0Y2hFdmVudChldnQs
IGVjKTsKKworICAgICAgICAgICAgaWYgKGV2dC0+dGV4dCgpLmxlbmd0aCgpKSB7CisgICAgICAg
ICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPnNldFNob3VsZFJldGFpbkF1dG9jb3JyZWN0aW9u
SW5kaWNhdG9yKG9wdGlvbnMgJiBSZXRhaW5BdXRvY29ycmVjdGlvbkluZGljYXRvcik7CisgICAg
ICAgICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPmluc2VydExpbmVCcmVhaygpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85770</attachid>
            <date>2011-03-14 21:39:27 -0700</date>
            <delta_ts>2011-03-15 21:06:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54443-20110314213926.patch</filename>
            <type>text/plain</type>
            <size>3754</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA3MjUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxN2Q1NDE5YTRlMWQ1Yjk5MjUyODk4
YTgyMGE1MWJmZjM5MGFhZmU4Li5lZDhjMTYyYTE3ZWUwNWEyZWRiNDc0MTQ0MWM3ODc3OWU2YWY1
NGQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMTQgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3RoIGRvZXNuJmFwb3M7dCBhY2NvdW50IGZv
ciBuZXdsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTQ0NDMKKworICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1h
eGxlbmd0aC5qczoKKyAgICAgICAgKGNyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgz
KTogQWRkZWQgdG8gbWFrZSBzdXJlIGNvbnNlY3V0aXZlIGluc2VydGJyZWFrcyB3b3JrIGNvcnJl
Y3RseSBmb3IgdGV4dGFyZWEgbWF4bGVuZ3RoLgorCiAyMDExLTAzLTEwICBBZGFtIFJvYmVuICA8
YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV2luZG93cyBleHBlY3RlZCBmYWlsdXJl
IHJlc3VsdHMgZm9yIGZhc3QvdGV4dC9oeXBoZW5hdGUtbGltaXQtYmVmb3JlLWFmdGVyLmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVh
LW1heGxlbmd0aC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRh
cmVhLW1heGxlbmd0aC5qcwppbmRleCBlZTJiYjE3ZTlkMjJkODI2OGI2NGYzYWU3MWNlZjI1YmZj
NzJmM2NkLi5jMDdkMGU1MWMxZGFlM2Q1MmMwMTk5MjQ2NmFkOWUyMjQ4MDViYWRjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5n
dGguanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEt
bWF4bGVuZ3RoLmpzCkBAIC00OSw2ICs0OSw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUZvY3VzZWRUZXh0
QXJlYVdpdGhNYXhMZW5ndGgzKCkgewogICAgIHRleHRBcmVhLnNldEF0dHJpYnV0ZSgnbWF4bGVu
Z3RoJywgJzMnKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTsKICAg
ICB0ZXh0QXJlYS5mb2N1cygpOworICAgIHJldHVybiB0ZXh0QXJlYTsKIH0KIAogLy8gSW5zZXJ0
IHRleHQgb2Ygd2hpY2ggbGVuZ3RoIGlzIG1heExlbmd0aC4KQEAgLTg4LDYgKzg5LDEyIEBAIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdCJyk7CiBzaG91bGRCZSgndGV4dEFyZWEudmFsdWUn
LCAnIkFcXG5CIicpOwogCisvLyBIZXJlIGNvbmZpcm1zIGNvcnJlY3QgY291bnQgZm9yIGNvbnNl
Y3V0aXZlIGxpbmVicmVha3MgaW5wdXRzLgordGV4dEFyZWEgPSBjcmVhdGVGb2N1c2VkVGV4dEFy
ZWFXaXRoTWF4TGVuZ3RoMygpOwordGV4dEFyZWEuaW5uZXJIVE1MID0gJ2FcblxuJzsKK2RvY3Vt
ZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsgLy8gVGhpcyBsaW5lYnJlYWsgc2hv
dWxkIGJlIGlnbm9yZWQgYmVjYXVzZSBsaW1pdGF0aW9uIHVwIHRvIDMgY2hhcmFjdGVycy4KK3No
b3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciYVxcblxcbiInKTsKKwogLy8gQWNjb3JkaW5nIHRv
IHRoZSBIVE1MNSBzcGVjaWZpY2F0aW9uLCBtYXhMZW5ndGggaXMgY29kZS1wb2ludCBsZW5ndGgu
CiAvLyBIb3dldmVyIFdlYktpdCBoYW5kbGVzIGl0IGFzIGdyYXBoZW1lIGxlbmd0aC4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDQ3Y2JjZTI3YmQ0YWRmZGU1ZDc5ZWQ2OGQ5ZGRlOWFkNmQ5MGFkNzcuLjJjY2Uy
ZWI4M2EwZmU2OTNjNGYzOTkwZTk0MDQzNjU5ZmM5MGJlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMS0wMy0xNCAgTmFva2kgVGFrYW5vICA8dGFrYW5vLm5hb2tpQGdtYWlsLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXh0
YXJlYSBtYXhsZW5ndGggZG9lc24mYXBvczt0IGFjY291bnQgZm9yIG5ld2xpbmVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDQ0MworCisgICAgICAg
IFdoZW4gYSB1c2VyIHByZXNzZXMgYSByZXR1cm4ga2V5LCBUeXBpbmdDb21tYW5kOjppbnNlcnRM
aW5lQnJlYWsoKSBpcyBjYWxsZWQuIFNvIGJlZm9yZSBhcHBlbmQgYSBuZXcgbGluZSwgY2hlY2sg
aWYgd2UgY2FuIGFkZCB0aGUgbmV3IGxpbmUuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzOgorCisgICAgICAgICogZWRpdGluZy9U
eXBpbmdDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6Omluc2Vy
dExpbmVCcmVhayk6IEFkZGVkIGNoZWNrIGxvZ2ljIGJlZm9yZSBhZGRpbmcgdGhlIG5ldyBsaW5l
LgorCiAyMDExLTAzLTEwICBHcmVnIFNpbW9uICA8Z3JlZ3NpbW9uQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VHlwaW5nQ29tbWFuZC5jcHAKaW5kZXggM2I0MjkxNTA3YmFkZmEyM2U2NDg4YjZhODBiYjhkNjZh
ZmNkNGZkOC4uNGNhZDQwZTViNDZlNGMwNWU3NTBhYzZiZjc3YTE4MDZkN2Y5ZGM1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCkBAIC00MDMsNiArNDAzLDEzIEBA
IHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dFJ1bldpdGhvdXROZXdsaW5lcyhjb25zdCBT
dHJpbmcgJnRleHQsIGJvb2wgc2VsZWN0CiAKIHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0TGlu
ZUJyZWFrKCkKIHsKKyAgICAvLyBDaGVjayBpZiB3ZSBjYW4gaW5zZXJ0IG5ldyBsaW5lIGJyZWFr
IHdpdGggXG4obGluZSBmZWVkKSBzdHJpbmcuCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Cisg
ICAgUmVmUHRyPEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50PiBldnQgPSBCZWZvcmVUZXh0SW5zZXJ0
ZWRFdmVudDo6Y3JlYXRlKFN0cmluZygiXG4iKSk7CisgICAgZW5kaW5nU2VsZWN0aW9uKCkucm9v
dEVkaXRhYmxlRWxlbWVudCgpLT5kaXNwYXRjaEV2ZW50KGV2dCwgZWMpOworICAgIGlmICghZXZ0
LT50ZXh0KCkubGVuZ3RoKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGFwcGx5Q29tbWFuZFRv
Q29tcG9zaXRlKEluc2VydExpbmVCcmVha0NvbW1hbmQ6OmNyZWF0ZShkb2N1bWVudCgpKSk7CiAg
ICAgdHlwaW5nQWRkZWRUb09wZW5Db21tYW5kKEluc2VydExpbmVCcmVhayk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85904</attachid>
            <date>2011-03-15 21:06:39 -0700</date>
            <delta_ts>2011-03-15 22:09:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54443-20110315210638.patch</filename>
            <type>text/plain</type>
            <size>4145</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA3MjUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxN2Q1NDE5YTRlMWQ1Yjk5MjUyODk4
YTgyMGE1MWJmZjM5MGFhZmU4Li5lZDhjMTYyYTE3ZWUwNWEyZWRiNDc0MTQ0MWM3ODc3OWU2YWY1
NGQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMTQgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3RoIGRvZXNuJmFwb3M7dCBhY2NvdW50IGZv
ciBuZXdsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTQ0NDMKKworICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1h
eGxlbmd0aC5qczoKKyAgICAgICAgKGNyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgz
KTogQWRkZWQgdG8gbWFrZSBzdXJlIGNvbnNlY3V0aXZlIGluc2VydGJyZWFrcyB3b3JrIGNvcnJl
Y3RseSBmb3IgdGV4dGFyZWEgbWF4bGVuZ3RoLgorCiAyMDExLTAzLTEwICBBZGFtIFJvYmVuICA8
YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV2luZG93cyBleHBlY3RlZCBmYWlsdXJl
IHJlc3VsdHMgZm9yIGZhc3QvdGV4dC9oeXBoZW5hdGUtbGltaXQtYmVmb3JlLWFmdGVyLmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVh
LW1heGxlbmd0aC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRh
cmVhLW1heGxlbmd0aC5qcwppbmRleCBlZTJiYjE3ZTlkMjJkODI2OGI2NGYzYWU3MWNlZjI1YmZj
NzJmM2NkLi5mZWFkMGRmNTZkOWMzNjNlMzRlZGM1ZGQxNDU1Y2Y2MGRlMDQxZmRjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5n
dGguanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEt
bWF4bGVuZ3RoLmpzCkBAIC00OSw2ICs0OSw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUZvY3VzZWRUZXh0
QXJlYVdpdGhNYXhMZW5ndGgzKCkgewogICAgIHRleHRBcmVhLnNldEF0dHJpYnV0ZSgnbWF4bGVu
Z3RoJywgJzMnKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTsKICAg
ICB0ZXh0QXJlYS5mb2N1cygpOworICAgIHJldHVybiB0ZXh0QXJlYTsKIH0KIAogLy8gSW5zZXJ0
IHRleHQgb2Ygd2hpY2ggbGVuZ3RoIGlzIG1heExlbmd0aC4KQEAgLTg4LDYgKzg5LDIwIEBAIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdCJyk7CiBzaG91bGRCZSgndGV4dEFyZWEudmFsdWUn
LCAnIkFcXG5CIicpOwogCisvLyBDb25maXJtcyBjb3JyZWN0IGNvdW50IGZvciBjbG9zZSBsaW5l
YnJlYWtzIGlucHV0cy4KK3RleHRBcmVhID0gY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExl
bmd0aDMoKTsKK3RleHRBcmVhLmlubmVySFRNTCA9ICdhXG5cbic7Citkb2N1bWVudC5leGVjQ29t
bWFuZCgnaW5zZXJ0TGluZUJyZWFrJyk7IC8vIFRoaXMgbGluZWJyZWFrIHNob3VsZCBiZSBpZ25v
cmVkIGJlY2F1c2UgbGltaXRhdGlvbiB1cCB0byAzIGNoYXJhY3RlcnMuCitzaG91bGRCZSgndGV4
dEFyZWEudmFsdWUnLCAnImFcXG5cXG4iJyk7CisKKy8vIENvbmZpcm1zIGNvcnJlY3QgY291bnQg
Zm9yIG9wZW4gY29uc2VjdXRpdmUgbGluZWJyZWFrcyBpbnB1dHMuCitjcmVhdGVGb2N1c2VkVGV4
dEFyZWFXaXRoTWF4TGVuZ3RoMygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVC
cmVhaycpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOworZG9jdW1l
bnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQo
J2luc2VydExpbmVCcmVhaycpOyAvLyBUaGlzIGxpbmVicmVhayBzaG91bGQgYmUgaWdub3JlZCBi
ZWNhdXNlIGxpbWl0YXRpb24gdXAgdG8gMyBjaGFyYWN0ZXJzLgorc2hvdWxkQmUoJ3RleHRBcmVh
LnZhbHVlJywgJyJcXG5cXG5cXG4iJyk7CisKIC8vIEFjY29yZGluZyB0byB0aGUgSFRNTDUgc3Bl
Y2lmaWNhdGlvbiwgbWF4TGVuZ3RoIGlzIGNvZGUtcG9pbnQgbGVuZ3RoLgogLy8gSG93ZXZlciBX
ZWJLaXQgaGFuZGxlcyBpdCBhcyBncmFwaGVtZSBsZW5ndGguCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0N2Ni
Y2UyN2JkNGFkZmRlNWQ3OWVkNjhkOWRkZTlhZDZkOTBhZDc3Li4yY2NlMmViODNhMGZlNjkzYzRm
Mzk5MGU5NDA0MzY1OWZjOTBiZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEt
MDMtMTQgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3Ro
IGRvZXNuJmFwb3M7dCBhY2NvdW50IGZvciBuZXdsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ0NDMKKworICAgICAgICBXaGVuIGEgdXNlciBw
cmVzc2VzIGEgcmV0dXJuIGtleSwgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0TGluZUJyZWFrKCkgaXMg
Y2FsbGVkLiBTbyBiZWZvcmUgYXBwZW5kIGEgbmV3IGxpbmUsIGNoZWNrIGlmIHdlIGNhbiBhZGQg
dGhlIG5ldyBsaW5lLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3Rl
eHRhcmVhLW1heGxlbmd0aC5qczoKKworICAgICAgICAqIGVkaXRpbmcvVHlwaW5nQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUeXBpbmdDb21tYW5kOjppbnNlcnRMaW5lQnJlYWspOiBB
ZGRlZCBjaGVjayBsb2dpYyBiZWZvcmUgYWRkaW5nIHRoZSBuZXcgbGluZS4KKwogMjAxMS0wMy0x
MCAgR3JlZyBTaW1vbiAgPGdyZWdzaW1vbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VHlwaW5nQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQu
Y3BwCmluZGV4IDNiNDI5MTUwN2JhZGZhMjNlNjQ4OGI2YTgwYmI4ZDY2YWZjZDRmZDguLjExNmQw
Y2IyNzRhZTk5ZGRmMGIxZjAzZmY0MTQ5YzdhMjdmZWM3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9UeXBpbmdDb21tYW5kLmNwcApAQCAtNDAzLDYgKzQwMywxMyBAQCB2b2lkIFR5cGluZ0Nv
bW1hbmQ6Omluc2VydFRleHRSdW5XaXRob3V0TmV3bGluZXMoY29uc3QgU3RyaW5nICZ0ZXh0LCBi
b29sIHNlbGVjdAogCiB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydExpbmVCcmVhaygpCiB7Cisg
ICAgLy8gQ2hlY2sgaWYgd2UgY2FuIGluc2VydCBuZXcgbGluZSBicmVhayB3aXRoIFxuKGxpbmUg
ZmVlZCkgc3RyaW5nLgorICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIFJlZlB0cjxCZWZv
cmVUZXh0SW5zZXJ0ZWRFdmVudD4gZXZlbnQgPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudDo6Y3Jl
YXRlKFN0cmluZygiXG4iKSk7CisgICAgZW5kaW5nU2VsZWN0aW9uKCkucm9vdEVkaXRhYmxlRWxl
bWVudCgpLT5kaXNwYXRjaEV2ZW50KGV2ZW50LCBlYyk7CisgICAgaWYgKCFldmVudC0+dGV4dCgp
Lmxlbmd0aCgpKQorICAgICAgICByZXR1cm47CisKICAgICBhcHBseUNvbW1hbmRUb0NvbXBvc2l0
ZShJbnNlcnRMaW5lQnJlYWtDb21tYW5kOjpjcmVhdGUoZG9jdW1lbnQoKSkpOwogICAgIHR5cGlu
Z0FkZGVkVG9PcGVuQ29tbWFuZChJbnNlcnRMaW5lQnJlYWspOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85907</attachid>
            <date>2011-03-15 22:09:46 -0700</date>
            <delta_ts>2011-03-15 23:21:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54443-20110315220945.patch</filename>
            <type>text/plain</type>
            <size>4594</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA5NTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMjQyYmM1MDQxNWJjMGE2NDU1NmM3
ZjEyZTYwOTNlZTcwMDE3NmMzLi5jY2YyMTNlMjE3ODg0YzVkYjRiNWFiNmFkMWE5MzU3MjI3MmE3
YjIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMTQgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3RoIGRvZXNuJ3QgYWNjb3VudCBmb3IgbmV3
bGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0
NDQzCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5n
dGguanM6CisgICAgICAgIChjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoMyk6IEFk
ZGVkIHRvIG1ha2Ugc3VyZSBjb25zZWN1dGl2ZSBpbnNlcnRicmVha3Mgd29yayBjb3JyZWN0bHkg
Zm9yIHRleHRhcmVhIG1heGxlbmd0aC4KKwogMjAxMS0wMy0xMiAgRGF2aWQgTGV2aW4gIDxsZXZp
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIHJlc3VsdHMgZm9yIG5ld2x5IGFkZGVkIHRl
c3QgaW4gcjgwODgzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzCmluZGV4IGVlMmJiMTdlOWQyMmQ4MjY4YjY0
ZjNhZTcxY2VmMjViZmM3MmYzY2QuLjJiYjZmZGQ1M2E1YTA1YTA0M2UzZTA1ZGM0MjVhMTU3ZTA1
ZjJmMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3Rl
eHRhcmVhLW1heGxlbmd0aC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMKQEAgLTg4LDYgKzg4LDIwIEBAIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNl
cnRUZXh0JywgZmFsc2UsICdCJyk7CiBzaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAnIkFcXG5C
IicpOwogCisvLyBDb25maXJtcyBjb3JyZWN0IGNvdW50IGZvciBjbG9zZSBsaW5lYnJlYWtzIGlu
cHV0cy4KK2NyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgzKCk7Cit0ZXh0QXJlYS5p
bm5lckhUTUwgPSAnYVxuXG4nOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVh
aycpOworc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJhXFxuXFxuIicpOworCisvLyBDb25m
aXJtcyBjb3JyZWN0IGNvdW50IGZvciBvcGVuIGNvbnNlY3V0aXZlIGxpbmVicmVha3MgaW5wdXRz
LgorY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aDMoKTsKK2RvY3VtZW50LmV4ZWND
b21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRM
aW5lQnJlYWsnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK2Rv
Y3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK3Nob3VsZEJlKCd0ZXh0QXJl
YS52YWx1ZScsICciXFxuXFxuXFxuIicpOworCiAvLyBBY2NvcmRpbmcgdG8gdGhlIEhUTUw1IHNw
ZWNpZmljYXRpb24sIG1heExlbmd0aCBpcyBjb2RlLXBvaW50IGxlbmd0aC4KIC8vIEhvd2V2ZXIg
V2ViS2l0IGhhbmRsZXMgaXQgYXMgZ3JhcGhlbWUgbGVuZ3RoLgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzg4
YTM3MWEyMzJiODk1NmRlNjdhYzUwOWNlMGYzMWFhNmI3NDAyMy4uYTNiMDIzMjAwZGI4YTVjZWVm
OWQ2NmYyMTY1NDQxODg4NTcyYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEx
LTAzLTE1ICBOYW9raSBUYWthbm8gIDx0YWthbm8ubmFva2lAZ21haWwuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRleHRhcmVhIG1heGxlbmd0
aCBkb2Vzbid0IGFjY291bnQgZm9yIG5ld2xpbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDQ0MworCisgICAgICAgIFdoZW4gYSB1c2VyIHByZXNz
ZXMgYSByZXR1cm4ga2V5LCBUeXBpbmdDb21tYW5kOjppbnNlcnRMaW5lQnJlYWsoKSBpcyBjYWxs
ZWQuCisgICAgICAgIFNvIGJlZm9yZSBhcHBlbmQgYSBuZXcgbGluZSwgY2hlY2sgaWYgd2UgY2Fu
IGFkZCB0aGUgbmV3IGxpbmUuCisKKyAgICAgICAgKiBlZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y2FuQXBwZW5kTmV3TGluZUZlZWQpOiBJbXBsZW1lbnQgbmV3
IGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBpZiB3ZSBjYW4gYWRkIG5ldyBsaW5lLgorICAgICAg
ICAoV2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6aW5zZXJ0TGluZUJyZWFrKTogQWRkZWQgY2hlY2sg
bG9naWMgYmVmb3JlIGFkZGluZyB0aGUgbmV3IGxpbmUuCisgICAgICAgIChXZWJDb3JlOjpUeXBp
bmdDb21tYW5kOjppbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3IpOiBBZGRlZCBjaGVjayBsb2dpYyBi
ZWZvcmUgYWRkaW5nIHRoZSBuZXcgbGluZS4KKwogMjAxMS0wMy0xMiAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjgwODk1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdD
b21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKaW5k
ZXggYjhlOThlMDljNDQwM2ZmMWVkN2Y2YWZhNDQ1MWEyNmE5YzU1NDA5NC4uMjdhYTg5YTk2YmU3
NmZlYjQyYjNlZDk3ZWViMWI1Yzk1YjhmNmQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5
cGluZ0NvbW1hbmQuY3BwCkBAIC00Nyw2ICs0NywxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKKy8vIEhlbHBlciBmdW5jdGlvbiB0byBjaGVj
ayBpZiB3ZSBjYW4gaW5zZXJ0IG5ldyBsaW5lIGZlZWQgd2l0aCBcbihsaW5lIGZlZWQpIHN0cmlu
Zy4KK3N0YXRpYyBib29sIGNhbkFwcGVuZE5ld0xpbmVGZWVkKFR5cGluZ0NvbW1hbmQmIHR5cGlu
Z0NvbW1hbmQpCit7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgUmVmUHRyPEJlZm9y
ZVRleHRJbnNlcnRlZEV2ZW50PiBldmVudCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50OjpjcmVh
dGUoU3RyaW5nKCJcbiIpKTsKKyAgICB0eXBpbmdDb21tYW5kLmVuZGluZ1NlbGVjdGlvbigpLnJv
b3RFZGl0YWJsZUVsZW1lbnQoKS0+ZGlzcGF0Y2hFdmVudChldmVudCwgZWMpOworICAgIHJldHVy
biBldmVudC0+dGV4dCgpLmxlbmd0aCgpOworfQorCiBUeXBpbmdDb21tYW5kOjpUeXBpbmdDb21t
YW5kKERvY3VtZW50ICpkb2N1bWVudCwgRVR5cGluZ0NvbW1hbmQgY29tbWFuZFR5cGUsIGNvbnN0
IFN0cmluZyAmdGV4dFRvSW5zZXJ0LCBUeXBpbmdDb21tYW5kT3B0aW9ucyBvcHRpb25zLCBUZXh0
R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIFRleHRDb21wb3NpdGlvblR5cGUgY29tcG9zaXRpb25U
eXBlKQogICAgIDogQ29tcG9zaXRlRWRpdENvbW1hbmQoZG9jdW1lbnQpCiAgICAgLCBtX2NvbW1h
bmRUeXBlKGNvbW1hbmRUeXBlKQpAQCAtNDAzLDEyICs0MTIsMTggQEAgdm9pZCBUeXBpbmdDb21t
YW5kOjppbnNlcnRUZXh0UnVuV2l0aG91dE5ld2xpbmVzKGNvbnN0IFN0cmluZyAmdGV4dCwgYm9v
bCBzZWxlY3QKIAogdm9pZCBUeXBpbmdDb21tYW5kOjppbnNlcnRMaW5lQnJlYWsoKQogeworICAg
IGlmICghY2FuQXBwZW5kTmV3TGluZUZlZWQoKnRoaXMpKQorICAgICAgICByZXR1cm47CisKICAg
ICBhcHBseUNvbW1hbmRUb0NvbXBvc2l0ZShJbnNlcnRMaW5lQnJlYWtDb21tYW5kOjpjcmVhdGUo
ZG9jdW1lbnQoKSkpOwogICAgIHR5cGluZ0FkZGVkVG9PcGVuQ29tbWFuZChJbnNlcnRMaW5lQnJl
YWspOwogfQogCiB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFBhcmFncmFwaFNlcGFyYXRvcigp
CiB7CisgICAgaWYgKCFjYW5BcHBlbmROZXdMaW5lRmVlZCgqdGhpcykpCisgICAgICAgIHJldHVy
bjsKKwogICAgIGFwcGx5Q29tbWFuZFRvQ29tcG9zaXRlKEluc2VydFBhcmFncmFwaFNlcGFyYXRv
ckNvbW1hbmQ6OmNyZWF0ZShkb2N1bWVudCgpKSk7CiAgICAgdHlwaW5nQWRkZWRUb09wZW5Db21t
YW5kKEluc2VydFBhcmFncmFwaFNlcGFyYXRvcik7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85914</attachid>
            <date>2011-03-15 23:21:28 -0700</date>
            <delta_ts>2011-03-16 20:30:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54443-20110315232127.patch</filename>
            <type>text/plain</type>
            <size>4523</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA5NTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMjQyYmM1MDQxNWJjMGE2NDU1NmM3
ZjEyZTYwOTNlZTcwMDE3NmMzLi40NjRmZGZkMmM2NjA2Y2I0YTVhNzVmMDgzNWE5ZDQzODk4MmYy
MzgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDMtMTQgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3RoIGRvZXNuJ3QgYWNjb3VudCBmb3IgbmV3
bGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0
NDQzCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5n
dGguanM6CisgICAgICAgIChjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoMyk6IEFk
ZGVkIHRvIG1ha2Ugc3VyZSBjb25zZWN1dGl2ZSBpbnNlcnRicmVha3Mgd29yaworICAgICAgICBj
b3JyZWN0bHkgZm9yIHRleHRhcmVhIG1heGxlbmd0aC4KKwogMjAxMS0wMy0xMiAgRGF2aWQgTGV2
aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIHJlc3VsdHMgZm9yIG5ld2x5
IGFkZGVkIHRlc3QgaW4gcjgwODgzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzCmluZGV4IGVlMmJiMTdlOWQy
MmQ4MjY4YjY0ZjNhZTcxY2VmMjViZmM3MmYzY2QuLjJiYjZmZGQ1M2E1YTA1YTA0M2UzZTA1ZGM0
MjVhMTU3ZTA1ZjJmMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL3RleHRhcmVhLW1heGxlbmd0aC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMKQEAgLTg4LDYgKzg4LDIwIEBAIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdCJyk7CiBzaG91bGRCZSgndGV4dEFyZWEudmFsdWUn
LCAnIkFcXG5CIicpOwogCisvLyBDb25maXJtcyBjb3JyZWN0IGNvdW50IGZvciBjbG9zZSBsaW5l
YnJlYWtzIGlucHV0cy4KK2NyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgzKCk7Cit0
ZXh0QXJlYS5pbm5lckhUTUwgPSAnYVxuXG4nOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2Vy
dExpbmVCcmVhaycpOworc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJhXFxuXFxuIicpOwor
CisvLyBDb25maXJtcyBjb3JyZWN0IGNvdW50IGZvciBvcGVuIGNvbnNlY3V0aXZlIGxpbmVicmVh
a3MgaW5wdXRzLgorY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aDMoKTsKK2RvY3Vt
ZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5k
KCdpbnNlcnRMaW5lQnJlYWsnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJl
YWsnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK3Nob3VsZEJl
KCd0ZXh0QXJlYS52YWx1ZScsICciXFxuXFxuXFxuIicpOworCiAvLyBBY2NvcmRpbmcgdG8gdGhl
IEhUTUw1IHNwZWNpZmljYXRpb24sIG1heExlbmd0aCBpcyBjb2RlLXBvaW50IGxlbmd0aC4KIC8v
IEhvd2V2ZXIgV2ViS2l0IGhhbmRsZXMgaXQgYXMgZ3JhcGhlbWUgbGVuZ3RoLgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMzg4YTM3MWEyMzJiODk1NmRlNjdhYzUwOWNlMGYzMWFhNmI3NDAyMy4uYTNiMDIzMjAw
ZGI4YTVjZWVmOWQ2NmYyMTY1NDQxODg4NTcyYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDExLTAzLTE1ICBOYW9raSBUYWthbm8gIDx0YWthbm8ubmFva2lAZ21haWwuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRleHRhcmVh
IG1heGxlbmd0aCBkb2Vzbid0IGFjY291bnQgZm9yIG5ld2xpbmVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDQ0MworCisgICAgICAgIFdoZW4gYSB1
c2VyIHByZXNzZXMgYSByZXR1cm4ga2V5LCBUeXBpbmdDb21tYW5kOjppbnNlcnRMaW5lQnJlYWso
KSBpcyBjYWxsZWQuCisgICAgICAgIFNvIGJlZm9yZSBhcHBlbmQgYSBuZXcgbGluZSwgY2hlY2sg
aWYgd2UgY2FuIGFkZCB0aGUgbmV3IGxpbmUuCisKKyAgICAgICAgKiBlZGl0aW5nL1R5cGluZ0Nv
bW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FuQXBwZW5kTmV3TGluZUZlZWQpOiBJbXBs
ZW1lbnQgbmV3IGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBpZiB3ZSBjYW4gYWRkIG5ldyBsaW5l
LgorICAgICAgICAoV2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6aW5zZXJ0TGluZUJyZWFrKTogQWRk
ZWQgY2hlY2sgbG9naWMgYmVmb3JlIGFkZGluZyB0aGUgbmV3IGxpbmUuCisgICAgICAgIChXZWJD
b3JlOjpUeXBpbmdDb21tYW5kOjppbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3IpOiBBZGRlZCBjaGVj
ayBsb2dpYyBiZWZvcmUgYWRkaW5nIHRoZSBuZXcgbGluZS4KKwogMjAxMS0wMy0xMiAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjgwODk1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UeXBpbmdDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFu
ZC5jcHAKaW5kZXggYjhlOThlMDljNDQwM2ZmMWVkN2Y2YWZhNDQ1MWEyNmE5YzU1NDA5NC4uNjRk
OWE4ZTFiZDYwNmZkYzBlYzQyMzYwZjVkNzU0MjFlYTM2Yjc3YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCkBAIC00Nyw2ICs0NywxNCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKK3N0YXRpYyBib29sIGNhbkFw
cGVuZE5ld0xpbmVGZWVkKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKK3sKKyAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBSZWZQdHI8QmVmb3JlVGV4dEluc2VydGVkRXZl
bnQ+IGV2ZW50ID0gQmVmb3JlVGV4dEluc2VydGVkRXZlbnQ6OmNyZWF0ZShTdHJpbmcoIlxuIikp
OworICAgIHNlbGVjdGlvbi5yb290RWRpdGFibGVFbGVtZW50KCktPmRpc3BhdGNoRXZlbnQoZXZl
bnQsIGVjKTsKKyAgICByZXR1cm4gZXZlbnQtPnRleHQoKS5sZW5ndGgoKTsKK30KKwogVHlwaW5n
Q29tbWFuZDo6VHlwaW5nQ29tbWFuZChEb2N1bWVudCAqZG9jdW1lbnQsIEVUeXBpbmdDb21tYW5k
IGNvbW1hbmRUeXBlLCBjb25zdCBTdHJpbmcgJnRleHRUb0luc2VydCwgVHlwaW5nQ29tbWFuZE9w
dGlvbnMgb3B0aW9ucywgVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBUZXh0Q29tcG9zaXRp
b25UeXBlIGNvbXBvc2l0aW9uVHlwZSkKICAgICA6IENvbXBvc2l0ZUVkaXRDb21tYW5kKGRvY3Vt
ZW50KQogICAgICwgbV9jb21tYW5kVHlwZShjb21tYW5kVHlwZSkKQEAgLTQwMywxMiArNDExLDE4
IEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dFJ1bldpdGhvdXROZXdsaW5lcyhjb25z
dCBTdHJpbmcgJnRleHQsIGJvb2wgc2VsZWN0CiAKIHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0
TGluZUJyZWFrKCkKIHsKKyAgICBpZiAoIWNhbkFwcGVuZE5ld0xpbmVGZWVkKGVuZGluZ1NlbGVj
dGlvbigpKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXBwbHlDb21tYW5kVG9Db21wb3NpdGUo
SW5zZXJ0TGluZUJyZWFrQ29tbWFuZDo6Y3JlYXRlKGRvY3VtZW50KCkpKTsKICAgICB0eXBpbmdB
ZGRlZFRvT3BlbkNvbW1hbmQoSW5zZXJ0TGluZUJyZWFrKTsKIH0KIAogdm9pZCBUeXBpbmdDb21t
YW5kOjppbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3IoKQogeworICAgIGlmICghY2FuQXBwZW5kTmV3
TGluZUZlZWQoZW5kaW5nU2VsZWN0aW9uKCkpKQorICAgICAgICByZXR1cm47CisKICAgICBhcHBs
eUNvbW1hbmRUb0NvbXBvc2l0ZShJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kOjpjcmVh
dGUoZG9jdW1lbnQoKSkpOwogICAgIHR5cGluZ0FkZGVkVG9PcGVuQ29tbWFuZChJbnNlcnRQYXJh
Z3JhcGhTZXBhcmF0b3IpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86022</attachid>
            <date>2011-03-16 20:30:18 -0700</date>
            <delta_ts>2011-03-16 23:31:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54443-20110316195216.patch</filename>
            <type>text/plain</type>
            <size>5280</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODEyMjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYmZkNWJmMzQzYTg0NjViZmE3NDFm
YTcxNGM3MzUxYWVkNzgzMWJmLi4yOGFhZjQ5NDNhNjFmMDFiMzZjYjc5ZTMzMzMxYWNlMjEwNTUz
NmIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMTYgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGV4dGFyZWEgbWF4bGVuZ3RoIGRvZXNuJ3QgYWNjb3VudCBmb3IgbmV3
bGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0
NDQzCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5n
dGguanM6CisgICAgICAgIChjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoMyk6IEFk
ZGVkIHR3byB0ZXN0cyB0byBtYWtlIHN1cmUgY29uc2VjdXRpdmUgaW5zZXJ0YnJlYWtzCisgICAg
ICAgIHdvcmsgY29ycmVjdGx5IGZvciB0ZXh0YXJlYSBtYXhsZW5ndGguCisgICAgICAgICogZmFz
dC9mb3Jtcy90ZXh0YXJlYS1tYXhsZW5ndGgtZXhwZWN0ZWQudHh0OiBBZGRlZCB0d28gdGVzdCBy
ZXN1bHRzLgorCiAyMDExLTAzLTE1ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBGaXggZmV3IG1vcmUgYmFzZWxpbmVzICh3aGljaCB0aGUgdG9vbCBkaWRuJ3Qg
aGFuZGxlIHdlbGwgYmVmb3JlIGR1ZSB0byB0aGVtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMKaW5kZXggZWUy
YmIxN2U5ZDIyZDgyNjhiNjRmM2FlNzFjZWYyNWJmYzcyZjNjZC4uMmJiNmZkZDUzYTVhMDVhMDQz
ZTNlMDVkYzQyNWExNTdlMDVmMmYzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1heGxlbmd0aC5qcwpAQCAtODgsNiArODgs
MjAgQEAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwogZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJ0InKTsKIHNob3VsZEJlKCd0ZXh0QXJl
YS52YWx1ZScsICciQVxcbkIiJyk7CiAKKy8vIENvbmZpcm1zIGNvcnJlY3QgY291bnQgZm9yIGNs
b3NlIGxpbmVicmVha3MgaW5wdXRzLgorY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0
aDMoKTsKK3RleHRBcmVhLmlubmVySFRNTCA9ICdhXG5cbic7Citkb2N1bWVudC5leGVjQ29tbWFu
ZCgnaW5zZXJ0TGluZUJyZWFrJyk7CitzaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAnImFcXG5c
XG4iJyk7CisKKy8vIENvbmZpcm1zIGNvcnJlY3QgY291bnQgZm9yIG9wZW4gY29uc2VjdXRpdmUg
bGluZWJyZWFrcyBpbnB1dHMuCitjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoMygp
OworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOworZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2Vy
dExpbmVCcmVhaycpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwor
c2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJcXG5cXG5cXG4iJyk7CisKIC8vIEFjY29yZGlu
ZyB0byB0aGUgSFRNTDUgc3BlY2lmaWNhdGlvbiwgbWF4TGVuZ3RoIGlzIGNvZGUtcG9pbnQgbGVu
Z3RoLgogLy8gSG93ZXZlciBXZWJLaXQgaGFuZGxlcyBpdCBhcyBncmFwaGVtZSBsZW5ndGguCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtbWF4bGVuZ3RoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtbWF4bGVuZ3RoLWV4
cGVjdGVkLnR4dAppbmRleCA1Zjg0ZThhZjJlMmJkMzliOTQ0NWVhNThmYTAzMTM0MjY0ZTIyZTk4
Li4zZDA3OWMyNjE5ZDk5YjkwOGQ0NTdmYmY5NTQyNWI3Nzg5YzU3MTgwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLW1heGxlbmd0aC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1tYXhsZW5ndGgtZXhwZWN0ZWQudHh0
CkBAIC0yMSw2ICsyMSw4IEBAIFBBU1MgdGV4dEFyZWEudmFsdWUgaXMgImRlZiIKIFBBU1MgdGV4
dEFyZWEudmFsdWUgaXMgImFiY2RlZiIKIFBBU1MgdGV4dEFyZWEudmFsdWUgaXMgImFiY2RlIgog
UEFTUyB0ZXh0QXJlYS52YWx1ZSBpcyAiQVxuQiIKK1BBU1MgdGV4dEFyZWEudmFsdWUgaXMgImFc
blxuIgorUEFTUyB0ZXh0QXJlYS52YWx1ZSBpcyAiXG5cblxuIgogUEFTUyB0ZXh0QXJlYS52YWx1
ZSBpcyAiQUIiICsgZmFuY3lYCiBQQVNTIHRleHRBcmVhLnZhbHVlLmxlbmd0aCBpcyA1CiBQQVNT
IHRleHRBcmVhLnZhbHVlIGlzICJBQkMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTczYzY0NmExYTBkZTZiZTE0
NWM1OGM1ZWU2NTEyYzY2YTgyZDkwZi4uNGZmZDk4ODRiYzYyNTE0OGJmNGQ4NGQ4NTdkNGEwYjk2
NDhhYjYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTE2ICBOYW9raSBU
YWthbm8gIDx0YWthbm8ubmFva2lAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRleHRhcmVhIG1heGxlbmd0aCBkb2Vzbid0IGFjY291
bnQgZm9yIG5ld2xpbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NDQ0MworCisgICAgICAgIFdoZW4gYSB1c2VyIHByZXNzZXMgYSByZXR1cm4ga2V5
LCBUeXBpbmdDb21tYW5kOjppbnNlcnRMaW5lQnJlYWsoKSBpcyBjYWxsZWQuCisgICAgICAgIFNv
IGJlZm9yZSBhcHBlbmQgYSBuZXcgbGluZSwgY2hlY2sgaWYgd2UgY2FuIGFkZCB0aGUgbmV3IGxp
bmUuCisKKyAgICAgICAgKiBlZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Y2FuQXBwZW5kTmV3TGluZUZlZWQpOiBJbXBsZW1lbnQgbmV3IGhlbHBlciBmdW5jdGlv
biB0byBjaGVjayBpZiB3ZSBjYW4gYWRkIG5ldyBsaW5lLgorICAgICAgICAoV2ViQ29yZTo6VHlw
aW5nQ29tbWFuZDo6aW5zZXJ0TGluZUJyZWFrKTogQWRkZWQgY2hlY2sgbG9naWMgYmVmb3JlIGFk
ZGluZyB0aGUgbmV3IGxpbmUuCisgICAgICAgIChXZWJDb3JlOjpUeXBpbmdDb21tYW5kOjppbnNl
cnRQYXJhZ3JhcGhTZXBhcmF0b3IpOiBBZGRlZCBjaGVjayBsb2dpYyBiZWZvcmUgYWRkaW5nIHRo
ZSBuZXcgbGluZS4KKwogMjAxMS0wMy0xNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1R5cGluZ0NvbW1hbmQuY3BwCmluZGV4IDg0Mzc2NTg4OTg2NGViNmZkMjM2YjcyODk4ZTI5
NmY1YzdiYzE5MDYuLjM1NjA0ZjZhYjFhN2M2NmVhMGZlYzI3OWZlNTNkNGRkMWI5Yzk1MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcApAQCAtNDcsNiArNDcsMTQg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCitz
dGF0aWMgYm9vbCBjYW5BcHBlbmROZXdMaW5lRmVlZChjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBz
ZWxlY3Rpb24pCit7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgUmVmUHRyPEJlZm9y
ZVRleHRJbnNlcnRlZEV2ZW50PiBldmVudCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50OjpjcmVh
dGUoU3RyaW5nKCJcbiIpKTsKKyAgICBzZWxlY3Rpb24ucm9vdEVkaXRhYmxlRWxlbWVudCgpLT5k
aXNwYXRjaEV2ZW50KGV2ZW50LCBlYyk7CisgICAgcmV0dXJuIGV2ZW50LT50ZXh0KCkubGVuZ3Ro
KCk7Cit9CisKIFR5cGluZ0NvbW1hbmQ6OlR5cGluZ0NvbW1hbmQoRG9jdW1lbnQgKmRvY3VtZW50
LCBFVHlwaW5nQ29tbWFuZCBjb21tYW5kVHlwZSwgY29uc3QgU3RyaW5nICZ0ZXh0VG9JbnNlcnQs
IFR5cGluZ0NvbW1hbmRPcHRpb25zIG9wdGlvbnMsIFRleHRHcmFudWxhcml0eSBncmFudWxhcml0
eSwgVGV4dENvbXBvc2l0aW9uVHlwZSBjb21wb3NpdGlvblR5cGUpCiAgICAgOiBDb21wb3NpdGVF
ZGl0Q29tbWFuZChkb2N1bWVudCkKICAgICAsIG1fY29tbWFuZFR5cGUoY29tbWFuZFR5cGUpCkBA
IC00MDMsMTIgKzQxMSwxOCBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHRSdW5XaXRo
b3V0TmV3bGluZXMoY29uc3QgU3RyaW5nICZ0ZXh0LCBib29sIHNlbGVjdAogCiB2b2lkIFR5cGlu
Z0NvbW1hbmQ6Omluc2VydExpbmVCcmVhaygpCiB7CisgICAgaWYgKCFjYW5BcHBlbmROZXdMaW5l
RmVlZChlbmRpbmdTZWxlY3Rpb24oKSkpCisgICAgICAgIHJldHVybjsKKwogICAgIGFwcGx5Q29t
bWFuZFRvQ29tcG9zaXRlKEluc2VydExpbmVCcmVha0NvbW1hbmQ6OmNyZWF0ZShkb2N1bWVudCgp
KSk7CiAgICAgdHlwaW5nQWRkZWRUb09wZW5Db21tYW5kKEluc2VydExpbmVCcmVhayk7CiB9CiAK
IHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yKCkKIHsKKyAgICBp
ZiAoIWNhbkFwcGVuZE5ld0xpbmVGZWVkKGVuZGluZ1NlbGVjdGlvbigpKSkKKyAgICAgICAgcmV0
dXJuOworCiAgICAgYXBwbHlDb21tYW5kVG9Db21wb3NpdGUoSW5zZXJ0UGFyYWdyYXBoU2VwYXJh
dG9yQ29tbWFuZDo6Y3JlYXRlKGRvY3VtZW50KCkpKTsKICAgICB0eXBpbmdBZGRlZFRvT3BlbkNv
bW1hbmQoSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>