<?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>60871</bug_id>
          
          <creation_ts>2011-05-15 23:21:24 -0700</creation_ts>
          <short_desc>HTML5 Number Spinbox displays a 0 in situations where a 0 is not between the min and max.</short_desc>
          <delta_ts>2011-05-16 19:34:47 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Naoki Takano">honten</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>honten</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>404307</commentid>
    <comment_count>0</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-15 23:21:24 -0700</bug_when>
    <thetext>HTML5 Number Spinbox displays a 0 in situations where a 0 is not between the min and max.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404315</commentid>
    <comment_count>1</comment_count>
      <attachid>93614</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-15 23:41:27 -0700</bug_when>
    <thetext>Created attachment 93614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404316</commentid>
    <comment_count>2</comment_count>
      <attachid>93614</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-15 23:44:06 -0700</bug_when>
    <thetext>Comment on attachment 93614
Patch

Please review my patch.

The original didn&apos;t have tests
http://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLInputElement.cpp?rev=85998

So I added.

If we don&apos;t need it, please let me know.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404332</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-05-16 00:23:33 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 93614 [details])
&gt; Please review my patch.
&gt; 
&gt; The original didn&apos;t have tests
&gt; http://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLInputElement.cpp?rev=85998
&gt; 
&gt; So I added.

No, we had.
http://trac.webkit.org/changeset/72884

Please add new test cases to LayoutTest/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404338</commentid>
    <comment_count>4</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-16 00:27:56 -0700</bug_when>
    <thetext>Oops, I should I ask first;-)

If you have any comment in C++ code, please give me too.

Thanks,

(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 93614 [details] [details])
&gt; &gt; Please review my patch.
&gt; &gt; 
&gt; &gt; The original didn&apos;t have tests
&gt; &gt; http://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLInputElement.cpp?rev=85998
&gt; &gt; 
&gt; &gt; So I added.
&gt; 
&gt; No, we had.
&gt; http://trac.webkit.org/changeset/72884
&gt; 
&gt; Please add new test cases to LayoutTest/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404339</commentid>
    <comment_count>5</comment_count>
      <attachid>93614</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-05-16 00:29:19 -0700</bug_when>
    <thetext>Comment on attachment 93614
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.cpp:339
&gt; -void HTMLInputElement::applyStep(double count, ExceptionCode&amp; ec)
&gt; +void HTMLInputElement::applyStep(double count, bool clearedByDefault, ExceptionCode&amp; ec)

I don&apos;t think we need to handle such cases in applyStep().  We can handle such cases only in stepUpFromRenderer().
Also, a bool function parameter is not recommended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404351</commentid>
    <comment_count>6</comment_count>
      <attachid>93620</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-16 01:08:32 -0700</bug_when>
    <thetext>Created attachment 93620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404352</commentid>
    <comment_count>7</comment_count>
      <attachid>93620</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-16 01:09:36 -0700</bug_when>
    <thetext>Comment on attachment 93620
Patch

Just I changed C++ part.

Please review C++ part only.

I&apos;ll change the test tomorrow...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404390</commentid>
    <comment_count>8</comment_count>
      <attachid>93620</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-05-16 02:58:09 -0700</bug_when>
    <thetext>Comment on attachment 93620
Patch

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

&gt; LayoutTests/fast/forms/numeric-input-spin.html:48
&gt; +//     - The value should be the minimum value for both keyDown and keyUp.

Don&apos;t call them keydown / keyup.  Keydown and keyup are the names of DOM events.

&gt; Source/WebCore/html/HTMLInputElement.cpp:1466
&gt; +        int nextDiff = step * n;
&gt; +        if (current &lt; m_inputType-&gt;minimum() - nextDiff)
&gt; +            current = m_inputType-&gt;minimum() - nextDiff;

This looks tricky.  But I understand you want to use the following step-rounding and the event dispatching.  So I think this is acceptable.

&gt; Source/WebCore/html/HTMLInputElement.cpp:1475
&gt; -        if (stepMismatch(currentStringValue)) {
&gt; +        if (stepMismatch(value())) {

Instead of this change, we had better do currentStringValue=value() just after setValueAsNumber().
Anyway, this also fixes another bug http://crbug.com/76046 , right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404847</commentid>
    <comment_count>9</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-16 17:44:29 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 93620 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93620&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/numeric-input-spin.html:48
&gt; &gt; +//     - The value should be the minimum value for both keyDown and keyUp.
&gt; 
&gt; Don&apos;t call them keydown / keyup.  Keydown and keyup are the names of DOM events.
Ok, anyway the test is consolidated to the test you suggested;-)

&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.cpp:1466
&gt; &gt; +        int nextDiff = step * n;
&gt; &gt; +        if (current &lt; m_inputType-&gt;minimum() - nextDiff)
&gt; &gt; +            current = m_inputType-&gt;minimum() - nextDiff;
&gt; 
&gt; This looks tricky.  But I understand you want to use the following step-rounding and the event dispatching.  So I think this is acceptable.
Thanks,

&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.cpp:1475
&gt; &gt; -        if (stepMismatch(currentStringValue)) {
&gt; &gt; +        if (stepMismatch(value())) {
&gt; 
&gt; Instead of this change, we had better do currentStringValue=value() just after setValueAsNumber().
&gt; Anyway, this also fixes another bug http://crbug.com/76046 , right?
I didn&apos;t know the bug. But fortunately, the bug is gone after the change.

My original intention is to fix this one
//   * If 0 is in-range, but not matched to step value
//     - The value should be the larger matched value nearest to 0 if n &gt; 0   //       e.g. &lt;input type=number min=-100 step=3&gt; -&gt; 2               

Should I separate the bug entry?


Also I suppose 
&gt; &gt; +        if (stepMismatch(value())) {
Is better than currentStringValue=value().

Because after this step, the following steps are executed,
if (currentStringValue != value()) {
    if (m_inputType-&gt;isRangeControl())
            dispatchFormControlChangeEvent();
        else
            dispatchFormControlInputEvent();
}

So shouldn&apos;t we change currentStringValue, right?

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404866</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-05-16 17:58:47 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; Instead of this change, we had better do currentStringValue=value() just after setValueAsNumber().
&gt; &gt; Anyway, this also fixes another bug http://crbug.com/76046 , right?
&gt; I didn&apos;t know the bug. But fortunately, the bug is gone after the change.
&gt; 
&gt; My original intention is to fix this one
&gt; //   * If 0 is in-range, but not matched to step value
&gt; //     - The value should be the larger matched value nearest to 0 if n &gt; 0   //       e.g. &lt;input type=number min=-100 step=3&gt; -&gt; 2               
&gt; 
&gt; Should I separate the bug entry?

I don&apos;t think so.  This change is needed for this issue.  Let&apos;s go ahead with the single patch.

&gt; Also I suppose 
&gt; &gt; &gt; +        if (stepMismatch(value())) {
&gt; Is better than currentStringValue=value().
&gt; 
&gt; Because after this step, the following steps are executed,
&gt; if (currentStringValue != value()) {
&gt;     if (m_inputType-&gt;isRangeControl())
&gt;             dispatchFormControlChangeEvent();
&gt;         else
&gt;             dispatchFormControlInputEvent();
&gt; }
&gt; 
&gt; So shouldn&apos;t we change currentStringValue, right?

Ah, you&apos;re right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404872</commentid>
    <comment_count>11</comment_count>
      <attachid>93724</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-16 18:18:06 -0700</bug_when>
    <thetext>Created attachment 93724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404873</commentid>
    <comment_count>12</comment_count>
      <attachid>93724</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-05-16 18:18:27 -0700</bug_when>
    <thetext>Comment on attachment 93724
Patch

Please review again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404883</commentid>
    <comment_count>13</comment_count>
      <attachid>93724</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-05-16 18:50:43 -0700</bug_when>
    <thetext>Comment on attachment 93724
Patch

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

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown-from-renderer.js:245
&gt; +shouldBe(&apos;stepUpExplicitBounds(-4, 4, 1, &quot;&quot;)&apos;, &apos;&quot;1&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(-4, 4, 1, &quot;&quot;)&apos;, &apos;&quot;-1&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(0, 4, 1, &quot;&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(-4, 0, 1, &quot;&quot;)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(1, 4, 1, &quot;&quot;)&apos;, &apos;&quot;1&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(1, 4, 1, &quot;&quot;)&apos;, &apos;&quot;1&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(-4, -1, 1, &quot;&quot;)&apos;, &apos;&quot;-1&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(-4, -1, 1, &quot;&quot;)&apos;, &apos;&quot;-1&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(-100, null, 3, &quot;&quot;)&apos;, &apos;&quot;2&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(-100, null, 3, &quot;&quot;)&apos;, &apos;&quot;-1&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(1, 4, 1, 0)&apos;, &apos;&quot;1&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(1, 4, 1, 0)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(-4, -1, 1, 0)&apos;, &apos;&quot;-1&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(-4, -1, 1, 0)&apos;, &apos;&quot;0&quot;&apos;);
&gt; +shouldBe(&apos;stepUpExplicitBounds(-100, null, 3, 3)&apos;, &apos;&quot;5&quot;&apos;);
&gt; +shouldBe(&apos;stepDownExplicitBounds(-100, null, 3, 3)&apos;, &apos;&quot;2&quot;&apos;);

nit: The function arguments should be strings unless null.
Specifying numbers causes extra conversion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404900</commentid>
    <comment_count>14</comment_count>
      <attachid>93724</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 19:34:43 -0700</bug_when>
    <thetext>Comment on attachment 93724
Patch

Clearing flags on attachment: 93724

Committed r86650: &lt;http://trac.webkit.org/changeset/86650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404901</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 19:34:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93614</attachid>
            <date>2011-05-15 23:41:27 -0700</date>
            <delta_ts>2011-05-16 01:08:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60871-20110515234129.patch</filename>
            <type>text/plain</type>
            <size>12281</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY0NTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZjc5YjM1NTI0NmUwOWQxOTc2ODBj
Y2M5MDJjMGViNjg3ODkzMzA0Li44NWNkOTUxNjdlOGM5OTFmNWY3ZTRlNjI1OTRhYjRhMDZlNmVk
MjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTUgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSFRNTDUgTnVtYmVyIFNwaW5ib3ggZGlzcGxheXMgYSAwIGluIHNpdHVh
dGlvbnMgd2hlcmUgYSAwIGlzIG5vdCBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwODcxCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL251bWVyaWMtaW5wdXQtc3Bpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLmh0bWw6IEFkZGVkLgorCiAyMDEx
LTA1LTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251
bWVyaWMtaW5wdXQtc3Bpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251
bWVyaWMtaW5wdXQtc3Bpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg2ZjhjZTIwNmZhYzRm
ZDIwNDYwMGMwM2FiNTc1MjU1YTM4ZDY5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIy
IEBACitUaGVzZSB0ZXN0cyBjaGVjayBpZiB0aGUgbnVtYmVyIGlucHV0IGZpZWxkIGlzIHdvcmtp
bmcgZmluZSB3aXRoIGtleSB1cCBhbmQgZG93biBiZXR3ZWVuIG1pbiBtYXggcmFuZ2UuIAorCitQ
QVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIxIgorUEFTUyBudW1iZXJJbnB1dC52YWx1ZSBpcyAi
LTEiCitQQVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIwIgorUEFTUyBudW1iZXJJbnB1dC52YWx1
ZSBpcyAiMCIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjEiCitQQVNTIG51bWJlcklucHV0
LnZhbHVlIGlzICIxIgorUEFTUyBudW1iZXJJbnB1dC52YWx1ZSBpcyAiLTEiCitQQVNTIG51bWJl
cklucHV0LnZhbHVlIGlzICItMSIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjIiCitQQVNT
IG51bWJlcklucHV0LnZhbHVlIGlzICItMSIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjEi
CitQQVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIwIgorUEFTUyBudW1iZXJJbnB1dC52YWx1ZSBp
cyAiLTEiCitQQVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIwIgorUEFTUyBudW1iZXJJbnB1dC52
YWx1ZSBpcyAiNSIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjIiCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9udW1lcmljLWlucHV0LXNwaW4uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxODAzYzUzYzM4
ZGZlZWY2NjZiNzM1ZjMzMjYxZTE3YjM1YTRmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLmh0bWwKQEAgLTAsMCArMSwxMzQgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorVGhlc2UgdGVzdHMgY2hlY2sgaWYgdGhlIG51bWJlciBpbnB1dCBm
aWVsZCBpcyB3b3JraW5nIGZpbmUgd2l0aCBrZXkgdXAgYW5kIGRvd24gYmV0d2VlbiBtaW4gbWF4
IHJhbmdlLgorCis8YnI+Cis8aW5wdXQgdHlwZT0ibnVtYmVyIiBzdGVwPSIxIiB2YWx1ZT0iIiBz
dGVwPSAiMSIgaWQ9Im51bWJlcklucHV0Ij4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK251bWJlcklucHV0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm51bWJlcklucHV0IikKK251bWJlcklucHV0LmZvY3VzKCkKKwor
Ly8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgbm90IGEgbnVtYmVyLCBpbmNsdWRpbmcgZW1wdHks
IHRoZSBjdXJyZW50IHZhbHVlIGlzIGFzc3VtZWQgYXMgMC4KKworLy8gICAqIElmIDAgaXMgaW4t
cmFuZ2UsIGFuZCBtYXRjaGVzIHRvIHN0ZXAgdmFsdWUKKy8vICAgICAtIFRoZSB2YWx1ZSBzaG91
bGQgYmUgdGhlICtzdGVwIGlmIGtleVVwLgorbnVtYmVySW5wdXQubWluID0gLTQKK251bWJlcklu
cHV0Lm1heCA9IDQKK251bWJlcklucHV0LnN0ZXAgPSAxCitldmVudFNlbmRlci5rZXlEb3duKCJ1
cEFycm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMSInKQorCisvLyAgICAg
LSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSAtc3RlcCBpZiBrZXlEb3duLgorbnVtYmVySW5wdXQu
dmFsdWUgPSAiIgorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93IikKK3Nob3VsZEJlKCdu
dW1iZXJJbnB1dC52YWx1ZScsICciLTEiJykKKworLy8gICAgIElmIC1zdGVwIG9yICtzdGVwIGlz
IG91dCBvZiByYW5nZSwgbmV3IHZhbHVlIHNob3VsZCBiZSAwLgorbnVtYmVySW5wdXQubWluID0g
MAorbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93
IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMCInKQorCitudW1iZXJJbnB1dC5t
aW4gPSAtNAorbnVtYmVySW5wdXQubWF4ID0gMAorbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZl
bnRTZW5kZXIua2V5RG93bigidXBBcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUn
LCAnIjAiJykKKworLy8gICAqIElmIDAgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVl
CisvLyAgICAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtaW5pbXVtIHZhbHVlIGZvciBib3Ro
IGtleURvd24gYW5kIGtleVVwLgorbnVtYmVySW5wdXQubWluID0gMQorbnVtYmVySW5wdXQubWF4
ID0gNAorbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFy
cm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMSInKQorCitudW1iZXJJbnB1
dC52YWx1ZSA9ICIiCitldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93IikKK3Nob3VsZEJlKCdu
dW1iZXJJbnB1dC52YWx1ZScsICciMSInKQorCisvLyAgICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0
aGUgbWF4aW11bSB2YWx1ZQorLy8gICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11
bSB2YWx1ZSBmb3IgYm90aCBrZXlEb3duIGFuZCBrZXlVcC4KK251bWJlcklucHV0Lm1pbj0gLTQK
K251bWJlcklucHV0Lm1heD0gLTEKK251bWJlcklucHV0LnZhbHVlID0gIiIKK2V2ZW50U2VuZGVy
LmtleURvd24oImRvd25BcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIi0x
IicpCisKK251bWJlcklucHV0LnZhbHVlID0gIiIKK2V2ZW50U2VuZGVyLmtleURvd24oInVwQXJy
b3ciKQorc2hvdWxkQmUoJ251bWJlcklucHV0LnZhbHVlJywgJyItMSInKQorCisvLyAgICogSWYg
MCBpcyBpbi1yYW5nZSwgYnV0IG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWUKKy8vICAgICAtIFRo
ZSB2YWx1ZSBzaG91bGQgYmUgdGhlIGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBp
ZiBrZXlVcC4KK251bWJlcklucHV0Lm1pbiA9IC0xMDAKK251bWJlcklucHV0Lm1heCA9ICIiCitu
dW1iZXJJbnB1dC5zdGVwID0gMworbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZlbnRTZW5kZXIu
a2V5RG93bigidXBBcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIjIiJykK
KworLy8gICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgc21hbGVyIG1hdGNoZWQgdmFsdWUg
bmVhcmVzdCB0byAwIGlmIGtleURvd24uCitudW1iZXJJbnB1dC52YWx1ZSA9ICIiCitldmVudFNl
bmRlci5rZXlEb3duKCJkb3duQXJyb3ciKQorc2hvdWxkQmUoJ251bWJlcklucHV0LnZhbHVlJywg
JyItMSInKQorCisvLyBSZXR1cm4gdG8gc3RlcCAxCitudW1iZXJJbnB1dC5zdGVwID0gMSAKKwor
Ly8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVl
OgorLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWluaW11bSB2YWx1ZSBpZiBrZXlVcC4K
K251bWJlcklucHV0Lm1pbiA9IDEKK251bWJlcklucHV0Lm1heCA9IDQKK251bWJlcklucHV0LnZh
bHVlID0gMAorZXZlbnRTZW5kZXIua2V5RG93bigidXBBcnJvdyIpCitzaG91bGRCZSgnbnVtYmVy
SW5wdXQudmFsdWUnLCAnIjEiJykKKworLy8gIC0gTm90aGluZyBzaG91bGQgaGFwcGVuIGlmIGtl
eURvd24uCitudW1iZXJJbnB1dC52YWx1ZSA9IDAKK2V2ZW50U2VuZGVyLmtleURvd24oImRvd25B
cnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIjAiJykKKworLy8gSWYgdGhl
IGN1cnJlbnQgdmFsdWUgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heGltdW0gdmFsdWU6CisvLyAgLSBU
aGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHZhbHVlIGlmIGtleURvd24uCitudW1iZXJJ
bnB1dC5taW4gPSAtNAorbnVtYmVySW5wdXQubWF4ID0gLTEKK251bWJlcklucHV0LnZhbHVlID0g
MAorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1
dC52YWx1ZScsICciLTEiJykKKworLy8gIC0gTm90aGluZyBzaG91bGQgaGFwcGVuIGlmIGtleVVw
LgorbnVtYmVySW5wdXQudmFsdWUgPSAwCitldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93IikK
K3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMCInKQorCisvLyBJZiB0aGUgY3VycmVu
dCB2YWx1ZSBpcyBub3QgbWF0Y2hlZCB0byBzdGVwIHZhbHVlOgorLy8gLSBUaGUgdmFsdWUgc2hv
dWxkIGJlIHRoZSBsYXJnZXIgbWF0Y2hlZCB2YWx1ZSBuZWFyZXN0IHRvIDAgaWYga2V5VXAKK251
bWJlcklucHV0Lm1pbiA9IC0xMDAKK251bWJlcklucHV0Lm1heCA9ICIiCitudW1iZXJJbnB1dC5z
dGVwID0gMworbnVtYmVySW5wdXQudmFsdWUgPSAzCitldmVudFNlbmRlci5rZXlEb3duKCJ1cEFy
cm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciNSInKQorCisvLyAtIFRoZSB2
YWx1ZSBzaG91bGQgYmUgdGhlIHNtYWxlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBpZiBr
ZXlEb3duCisvLyAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIHZhbHVlPTMgbWluPS0xMDAgc3Rl
cD0zPiAtPiAyCitudW1iZXJJbnB1dC52YWx1ZSA9IDMKK2V2ZW50U2VuZGVyLmtleURvd24oImRv
d25BcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIjIiJykKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWUKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBjMjEzNmM4ZTAwZjA0MDA0YmVlMWI2N2UzNDBlMWViM2RiMDdk
MGIzLi5lZDU0YTc1M2U0ZTI1OTNmNDJiNzBmYTZiMGFhNzBiZmVmNTdmOWY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDUtMTUgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9r
aUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSFRNTDUgTnVtYmVyIFNwaW5ib3ggZGlzcGxheXMgYSAwIGluIHNpdHVhdGlvbnMgd2hl
cmUgYSAwIGlzIG5vdCBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwODcxCisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9udW1lcmljLWlucHV0LXNwaW4uaHRtbAorCisgICAgICAgIEluIG51bWJlciBpbnB1
dCB0eXBlLCBpZiB0aGUgdmFsdWUgaXMgbm90IGEgbnVtYmVyLCBpbmNsdWRpbmcgZW1wdHksIHRo
ZSBjdXJyZWN0IHZhbHVlZCBpcyBhc3N1bWVkIDAuCisgICAgICAgIEJ1dCB3ZSBoYXZlIHRvIGhh
bmRsZSBpdCBzZXBhcmF0ZWx5IGZyb20gdGhlIGNhc2Ugd2hlbiB0aGUgdmFsdWUgaXMgYWN0dWFs
bCAiMCIuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXBwbHlTdGVwKTogQWRkZWQgY2xlYXJCeURlZmF1
bHQgZmxhZyB0byBwcm9jZXNzIHRoZSB2YWx1ZSBjb3JyZWN0bHkuCisgICAgICAgIFdoZW4gdGhl
IGZsYWcgaXMgc2V0LCB3ZSBoYXZlIHRvIGNoZWNrIG1pbiBtYXggdmFsdWVzIGZpcnN0IHJhdGhl
ciB0aGFuIGFjY2VwdGFibGVFcnJvciBjaGVja2luZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OnN0ZXBVcCk6IEFkZGVkIGZhbHNlIHRvIGNsZWFyQnlEZWZhdWx0IGFzIGl0
IHdhcy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBEb3duKTogQWRk
ZWQgZmFsc2UgdG8gY2xlYXJCeURlZmF1bHQgYXMgaXQgd2FzLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTElucHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKTogQWRkZWQgY2xlYXJCeURlZmF1
bHQgYW5kIHBhc3MgaXQgdG8gYXBwbHlTdGVwKCkuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRF
bGVtZW50Lmg6IEFkZGVkIGNsZWFyQnlEZWZhdWx0LgorCiAyMDExLTA1LTEzICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBkMTM1Zjk3OWE1
ODU1ZDA3MjAwMjQ2OWU0ZDYyOTBkYzUwODQ0YmQzLi42N2MxYjNmNmYwMTgwZTUzZDA1OWMyZWM4
NGJjMWRjZGQyNmZmYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKQEAgLTMzNiw3ICszMzYsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmdldEFsbG93ZWRW
YWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNlcyhkb3VibGUqIHN0ZXAsIHVuc2lnbgogICAgIHJldHVy
biB0cnVlOwogfQogCi12b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUgY291
bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXAo
ZG91YmxlIGNvdW50LCBib29sIGNsZWFyZWRCeURlZmF1bHQsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewogICAgIGRvdWJsZSBzdGVwOwogICAgIHVuc2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzLCBjdXJy
ZW50RGVjaW1hbFBsYWNlczsKQEAgLTM0NCw2ICszNDQsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1l
bnQ6OmFwcGx5U3RlcChkb3VibGUgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBl
YyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQorCiAgICAgY29u
c3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogICAg
IGRvdWJsZSBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPnBhcnNlVG9Eb3VibGVXaXRoRGVjaW1hbFBs
YWNlcyh2YWx1ZSgpLCBuYW4sICZjdXJyZW50RGVjaW1hbFBsYWNlcyk7CiAgICAgaWYgKCFpc2Zp
bml0ZShjdXJyZW50KSkgewpAQCAtMzU1LDEzICszNTYsMTkgQEAgdm9pZCBIVE1MSW5wdXRFbGVt
ZW50OjphcHBseVN0ZXAoZG91YmxlIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAg
ZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIGlm
IChjbGVhcmVkQnlEZWZhdWx0ICYmIG5ld1ZhbHVlIDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkK
KyAgICAgICAgbmV3VmFsdWUgPSBtX2lucHV0VHlwZS0+bWluaW11bSgpOworCiAgICAgZG91Ymxl
IGFjY2VwdGFibGVFcnJvciA9IG1faW5wdXRUeXBlLT5hY2NlcHRhYmxlRXJyb3Ioc3RlcCk7CiAg
ICAgaWYgKG5ld1ZhbHVlIC0gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA8IC1hY2NlcHRhYmxlRXJy
b3IpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICBpZiAobmV3VmFsdWUgPCBtX2lucHV0VHlwZS0+bWluaW11bSgpKQorCisgICAg
aWYgKCFjbGVhcmVkQnlEZWZhdWx0ICYmIG5ld1ZhbHVlIDwgbV9pbnB1dFR5cGUtPm1pbmltdW0o
KSkKICAgICAgICAgbmV3VmFsdWUgPSBtX2lucHV0VHlwZS0+bWluaW11bSgpOworCiAgICAgdW5z
aWduZWQgYmFzZURlY2ltYWxQbGFjZXM7CiAgICAgZG91YmxlIGJhc2UgPSBtX2lucHV0VHlwZS0+
c3RlcEJhc2VXaXRoRGVjaW1hbFBsYWNlcygmYmFzZURlY2ltYWxQbGFjZXMpOwogICAgIGJhc2VE
ZWNpbWFsUGxhY2VzID0gbWluKGJhc2VEZWNpbWFsUGxhY2VzLCAxNnUpOwpAQCAtMzc0LDExICsz
ODEsMTMgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXAoZG91YmxlIGNvdW50LCBF
eGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgICAgIG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyBy
b3VuZCgobmV3VmFsdWUgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsK
ICAgICAgICAgfQogICAgIH0KKyAgICBpZiAoY2xlYXJlZEJ5RGVmYXVsdCAmJiBuZXdWYWx1ZSA+
IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpCisgICAgICAgIG5ld1ZhbHVlID0gbV9pbnB1dFR5cGUt
Pm1heGltdW0oKTsKICAgICBpZiAobmV3VmFsdWUgLSBtX2lucHV0VHlwZS0+bWF4aW11bSgpID4g
YWNjZXB0YWJsZUVycm9yKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG5ld1ZhbHVlID4gbV9pbnB1dFR5cGUtPm1heGlt
dW0oKSkKKyAgICBpZiAoIWNsZWFyZWRCeURlZmF1bHQgJiYgbmV3VmFsdWUgPiBtX2lucHV0VHlw
ZS0+bWF4aW11bSgpKQogICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5tYXhpbXVtKCk7
CiAgICAgc2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgZWMpOwogCkBAIC0zODgsMTIgKzM5Nywx
MiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUgY291bnQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcChpbnQgbiwgRXhj
ZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgYXBwbHlTdGVwKG4sIGVjKTsKKyAgICBhcHBseVN0ZXAo
biwgZmFsc2UsIGVjKTsKIH0KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwRG93bihpbnQg
biwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgYXBwbHlTdGVwKC1uLCBlYyk7CisgICAgYXBw
bHlTdGVwKC1uLCBmYWxzZSwgZWMpOwogfQogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzS2V5
Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCogZXZlbnQpIGNvbnN0CkBAIC0xNDU4LDcgKzE0
NjcsOSBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikK
ICAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFO
KCk7CiAgICAgU3RyaW5nIGN1cnJlbnRTdHJpbmdWYWx1ZSA9IHZhbHVlKCk7CiAgICAgZG91Ymxl
IGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+cGFyc2VUb0RvdWJsZShjdXJyZW50U3RyaW5nVmFsdWUs
IG5hbik7CisgICAgYm9vbCBjbGVhcmVkQnlEZWZhdWx0ID0gZmFsc2U7CiAgICAgaWYgKCFpc2Zp
bml0ZShjdXJyZW50KSkgeworICAgICAgICBjbGVhcmVkQnlEZWZhdWx0ID0gdHJ1ZTsKICAgICAg
ICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgY3VycmVudCA9IG1faW5wdXRUeXBlLT5kZWZh
dWx0VmFsdWVGb3JTdGVwVXAoKTsKICAgICAgICAgc2V0VmFsdWVBc051bWJlcihjdXJyZW50LCBl
Yyk7CkBAIC0xNDY3LDcgKzE0NzgsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZy
b21SZW5kZXJlcihpbnQgbikKICAgICAgICAgc2V0VmFsdWUobV9pbnB1dFR5cGUtPnNlcmlhbGl6
ZShzaWduID4gMCA/IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgOiBtX2lucHV0VHlwZS0+bWF4aW11
bSgpKSk7CiAgICAgZWxzZSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAgICAgIGlm
IChzdGVwTWlzbWF0Y2goY3VycmVudFN0cmluZ1ZhbHVlKSkgeworICAgICAgICBpZiAoc3RlcE1p
c21hdGNoKHZhbHVlKCkpKSB7CiAgICAgICAgICAgICBBU1NFUlQoc3RlcCk7CiAgICAgICAgICAg
ICBkb3VibGUgbmV3VmFsdWU7CiAgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxh
Y2VzKSkpOwpAQCAtMTQ4NywxMSArMTQ5OCwxMSBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKICAgICAgICAgICAgIHNldFZhbHVlQXNOdW1iZXIobmV3
VmFsdWUsIGVjKTsKICAgICAgICAgICAgIGN1cnJlbnQgPSBuZXdWYWx1ZTsKICAgICAgICAgICAg
IGlmIChuID4gMSkKLSAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiAtIDEsIGVjKTsKKyAgICAg
ICAgICAgICAgICBhcHBseVN0ZXAobiAtIDEsIGNsZWFyZWRCeURlZmF1bHQsIGVjKTsKICAgICAg
ICAgICAgIGVsc2UgaWYgKG4gPCAtMSkKLSAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiArIDEs
IGVjKTsKKyAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiArIDEsIGNsZWFyZWRCeURlZmF1bHQs
IGVjKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBhcHBseVN0ZXAobiwgZWMpOworICAg
ICAgICAgICAgYXBwbHlTdGVwKG4sIGNsZWFyZWRCeURlZmF1bHQsIGVjKTsKICAgICB9CiAKICAg
ICBpZiAoY3VycmVudFN0cmluZ1ZhbHVlICE9IHZhbHVlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmgKaW5kZXggMTBjYTIwZTU2ZDY1YTM3MmQ2MDc1MzY1N2Y3YWY5MDQ0
YjllNjNlMy4uNTk0Zjk2Mzg0YmZmNDQwYzI0ZWExMDBiNGViOWU0OTNiNzhjZGJlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTMwMiw3ICszMDIsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgdXBkYXRlVHlwZSgpOwogCiAgICAgLy8gSGVscGVyIGZvciBzdGVwVXAo
KS9zdGVwRG93bigpLiAgQWRkcyBzdGVwIHZhbHVlICogY291bnQgdG8gdGhlIGN1cnJlbnQgdmFs
dWUuCi0gICAgdm9pZCBhcHBseVN0ZXAoZG91YmxlIGNvdW50LCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgdm9pZCBhcHBseVN0ZXAoZG91YmxlIGNvdW50LCBib29sIGNsZWFyZWRCeURlZmF1bHQsIEV4
Y2VwdGlvbkNvZGUmKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVCkKICAgICBIVE1MRGF0YUxpc3RF
bGVtZW50KiBkYXRhTGlzdCgpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93620</attachid>
            <date>2011-05-16 01:08:32 -0700</date>
            <delta_ts>2011-05-16 18:18:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60871-20110516010833.patch</filename>
            <type>text/plain</type>
            <size>8289</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY0NTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZjc5YjM1NTI0NmUwOWQxOTc2ODBj
Y2M5MDJjMGViNjg3ODkzMzA0Li44NWNkOTUxNjdlOGM5OTFmNWY3ZTRlNjI1OTRhYjRhMDZlNmVk
MjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTUgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSFRNTDUgTnVtYmVyIFNwaW5ib3ggZGlzcGxheXMgYSAwIGluIHNpdHVh
dGlvbnMgd2hlcmUgYSAwIGlzIG5vdCBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwODcxCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL251bWVyaWMtaW5wdXQtc3Bpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLmh0bWw6IEFkZGVkLgorCiAyMDEx
LTA1LTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251
bWVyaWMtaW5wdXQtc3Bpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251
bWVyaWMtaW5wdXQtc3Bpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg2ZjhjZTIwNmZhYzRm
ZDIwNDYwMGMwM2FiNTc1MjU1YTM4ZDY5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIy
IEBACitUaGVzZSB0ZXN0cyBjaGVjayBpZiB0aGUgbnVtYmVyIGlucHV0IGZpZWxkIGlzIHdvcmtp
bmcgZmluZSB3aXRoIGtleSB1cCBhbmQgZG93biBiZXR3ZWVuIG1pbiBtYXggcmFuZ2UuIAorCitQ
QVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIxIgorUEFTUyBudW1iZXJJbnB1dC52YWx1ZSBpcyAi
LTEiCitQQVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIwIgorUEFTUyBudW1iZXJJbnB1dC52YWx1
ZSBpcyAiMCIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjEiCitQQVNTIG51bWJlcklucHV0
LnZhbHVlIGlzICIxIgorUEFTUyBudW1iZXJJbnB1dC52YWx1ZSBpcyAiLTEiCitQQVNTIG51bWJl
cklucHV0LnZhbHVlIGlzICItMSIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjIiCitQQVNT
IG51bWJlcklucHV0LnZhbHVlIGlzICItMSIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjEi
CitQQVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIwIgorUEFTUyBudW1iZXJJbnB1dC52YWx1ZSBp
cyAiLTEiCitQQVNTIG51bWJlcklucHV0LnZhbHVlIGlzICIwIgorUEFTUyBudW1iZXJJbnB1dC52
YWx1ZSBpcyAiNSIKK1BBU1MgbnVtYmVySW5wdXQudmFsdWUgaXMgIjIiCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9udW1lcmljLWlucHV0LXNwaW4uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxODAzYzUzYzM4
ZGZlZWY2NjZiNzM1ZjMzMjYxZTE3YjM1YTRmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbnVtZXJpYy1pbnB1dC1zcGluLmh0bWwKQEAgLTAsMCArMSwxMzQgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorVGhlc2UgdGVzdHMgY2hlY2sgaWYgdGhlIG51bWJlciBpbnB1dCBm
aWVsZCBpcyB3b3JraW5nIGZpbmUgd2l0aCBrZXkgdXAgYW5kIGRvd24gYmV0d2VlbiBtaW4gbWF4
IHJhbmdlLgorCis8YnI+Cis8aW5wdXQgdHlwZT0ibnVtYmVyIiBzdGVwPSIxIiB2YWx1ZT0iIiBz
dGVwPSAiMSIgaWQ9Im51bWJlcklucHV0Ij4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK251bWJlcklucHV0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm51bWJlcklucHV0IikKK251bWJlcklucHV0LmZvY3VzKCkKKwor
Ly8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgbm90IGEgbnVtYmVyLCBpbmNsdWRpbmcgZW1wdHks
IHRoZSBjdXJyZW50IHZhbHVlIGlzIGFzc3VtZWQgYXMgMC4KKworLy8gICAqIElmIDAgaXMgaW4t
cmFuZ2UsIGFuZCBtYXRjaGVzIHRvIHN0ZXAgdmFsdWUKKy8vICAgICAtIFRoZSB2YWx1ZSBzaG91
bGQgYmUgdGhlICtzdGVwIGlmIGtleVVwLgorbnVtYmVySW5wdXQubWluID0gLTQKK251bWJlcklu
cHV0Lm1heCA9IDQKK251bWJlcklucHV0LnN0ZXAgPSAxCitldmVudFNlbmRlci5rZXlEb3duKCJ1
cEFycm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMSInKQorCisvLyAgICAg
LSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSAtc3RlcCBpZiBrZXlEb3duLgorbnVtYmVySW5wdXQu
dmFsdWUgPSAiIgorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93IikKK3Nob3VsZEJlKCdu
dW1iZXJJbnB1dC52YWx1ZScsICciLTEiJykKKworLy8gICAgIElmIC1zdGVwIG9yICtzdGVwIGlz
IG91dCBvZiByYW5nZSwgbmV3IHZhbHVlIHNob3VsZCBiZSAwLgorbnVtYmVySW5wdXQubWluID0g
MAorbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93
IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMCInKQorCitudW1iZXJJbnB1dC5t
aW4gPSAtNAorbnVtYmVySW5wdXQubWF4ID0gMAorbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZl
bnRTZW5kZXIua2V5RG93bigidXBBcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUn
LCAnIjAiJykKKworLy8gICAqIElmIDAgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVl
CisvLyAgICAgLSBUaGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtaW5pbXVtIHZhbHVlIGZvciBib3Ro
IGtleURvd24gYW5kIGtleVVwLgorbnVtYmVySW5wdXQubWluID0gMQorbnVtYmVySW5wdXQubWF4
ID0gNAorbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFy
cm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMSInKQorCitudW1iZXJJbnB1
dC52YWx1ZSA9ICIiCitldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93IikKK3Nob3VsZEJlKCdu
dW1iZXJJbnB1dC52YWx1ZScsICciMSInKQorCisvLyAgICogSWYgMCBpcyBsYXJnZXIgdGhhbiB0
aGUgbWF4aW11bSB2YWx1ZQorLy8gICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11
bSB2YWx1ZSBmb3IgYm90aCBrZXlEb3duIGFuZCBrZXlVcC4KK251bWJlcklucHV0Lm1pbj0gLTQK
K251bWJlcklucHV0Lm1heD0gLTEKK251bWJlcklucHV0LnZhbHVlID0gIiIKK2V2ZW50U2VuZGVy
LmtleURvd24oImRvd25BcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIi0x
IicpCisKK251bWJlcklucHV0LnZhbHVlID0gIiIKK2V2ZW50U2VuZGVyLmtleURvd24oInVwQXJy
b3ciKQorc2hvdWxkQmUoJ251bWJlcklucHV0LnZhbHVlJywgJyItMSInKQorCisvLyAgICogSWYg
MCBpcyBpbi1yYW5nZSwgYnV0IG5vdCBtYXRjaGVkIHRvIHN0ZXAgdmFsdWUKKy8vICAgICAtIFRo
ZSB2YWx1ZSBzaG91bGQgYmUgdGhlIGxhcmdlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBp
ZiBrZXlVcC4KK251bWJlcklucHV0Lm1pbiA9IC0xMDAKK251bWJlcklucHV0Lm1heCA9ICIiCitu
dW1iZXJJbnB1dC5zdGVwID0gMworbnVtYmVySW5wdXQudmFsdWUgPSAiIgorZXZlbnRTZW5kZXIu
a2V5RG93bigidXBBcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIjIiJykK
KworLy8gICAgIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgc21hbGVyIG1hdGNoZWQgdmFsdWUg
bmVhcmVzdCB0byAwIGlmIGtleURvd24uCitudW1iZXJJbnB1dC52YWx1ZSA9ICIiCitldmVudFNl
bmRlci5rZXlEb3duKCJkb3duQXJyb3ciKQorc2hvdWxkQmUoJ251bWJlcklucHV0LnZhbHVlJywg
JyItMSInKQorCisvLyBSZXR1cm4gdG8gc3RlcCAxCitudW1iZXJJbnB1dC5zdGVwID0gMSAKKwor
Ly8gSWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVl
OgorLy8gIC0gVGhlIHZhbHVlIHNob3VsZCBiZSB0aGUgbWluaW11bSB2YWx1ZSBpZiBrZXlVcC4K
K251bWJlcklucHV0Lm1pbiA9IDEKK251bWJlcklucHV0Lm1heCA9IDQKK251bWJlcklucHV0LnZh
bHVlID0gMAorZXZlbnRTZW5kZXIua2V5RG93bigidXBBcnJvdyIpCitzaG91bGRCZSgnbnVtYmVy
SW5wdXQudmFsdWUnLCAnIjEiJykKKworLy8gIC0gTm90aGluZyBzaG91bGQgaGFwcGVuIGlmIGtl
eURvd24uCitudW1iZXJJbnB1dC52YWx1ZSA9IDAKK2V2ZW50U2VuZGVyLmtleURvd24oImRvd25B
cnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIjAiJykKKworLy8gSWYgdGhl
IGN1cnJlbnQgdmFsdWUgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heGltdW0gdmFsdWU6CisvLyAgLSBU
aGUgdmFsdWUgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHZhbHVlIGlmIGtleURvd24uCitudW1iZXJJ
bnB1dC5taW4gPSAtNAorbnVtYmVySW5wdXQubWF4ID0gLTEKK251bWJlcklucHV0LnZhbHVlID0g
MAorZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1
dC52YWx1ZScsICciLTEiJykKKworLy8gIC0gTm90aGluZyBzaG91bGQgaGFwcGVuIGlmIGtleVVw
LgorbnVtYmVySW5wdXQudmFsdWUgPSAwCitldmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93IikK
K3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciMCInKQorCisvLyBJZiB0aGUgY3VycmVu
dCB2YWx1ZSBpcyBub3QgbWF0Y2hlZCB0byBzdGVwIHZhbHVlOgorLy8gLSBUaGUgdmFsdWUgc2hv
dWxkIGJlIHRoZSBsYXJnZXIgbWF0Y2hlZCB2YWx1ZSBuZWFyZXN0IHRvIDAgaWYga2V5VXAKK251
bWJlcklucHV0Lm1pbiA9IC0xMDAKK251bWJlcklucHV0Lm1heCA9ICIiCitudW1iZXJJbnB1dC5z
dGVwID0gMworbnVtYmVySW5wdXQudmFsdWUgPSAzCitldmVudFNlbmRlci5rZXlEb3duKCJ1cEFy
cm93IikKK3Nob3VsZEJlKCdudW1iZXJJbnB1dC52YWx1ZScsICciNSInKQorCisvLyAtIFRoZSB2
YWx1ZSBzaG91bGQgYmUgdGhlIHNtYWxlciBtYXRjaGVkIHZhbHVlIG5lYXJlc3QgdG8gMCBpZiBr
ZXlEb3duCisvLyAgIGUuZy4gPGlucHV0IHR5cGU9bnVtYmVyIHZhbHVlPTMgbWluPS0xMDAgc3Rl
cD0zPiAtPiAyCitudW1iZXJJbnB1dC52YWx1ZSA9IDMKK2V2ZW50U2VuZGVyLmtleURvd24oImRv
d25BcnJvdyIpCitzaG91bGRCZSgnbnVtYmVySW5wdXQudmFsdWUnLCAnIjIiJykKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWUKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBjMjEzNmM4ZTAwZjA0MDA0YmVlMWI2N2UzNDBlMWViM2RiMDdk
MGIzLi42Yzk3YzFlNzBlNzNiOWE0MGNmNjUxZTljNjYzN2JlOTg1ZDc1MDFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDUtMTUgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9r
aUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSFRNTDUgTnVtYmVyIFNwaW5ib3ggZGlzcGxheXMgYSAwIGluIHNpdHVhdGlvbnMgd2hl
cmUgYSAwIGlzIG5vdCBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwODcxCisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9udW1lcmljLWlucHV0LXNwaW4uaHRtbAorCisgICAgICAgIEluIG51bWJlciBpbnB1
dCB0eXBlLCBpZiB0aGUgdmFsdWUgaXMgbm90IGEgbnVtYmVyLCBpbmNsdWRpbmcgZW1wdHksIHRo
ZSBjdXJyZWN0IHZhbHVlZCBpcyBhc3N1bWVkIDAuCisgICAgICAgIEJ1dCB3ZSBoYXZlIHRvIGhh
bmRsZSBpdCBzZXBhcmF0ZWx5IGZyb20gdGhlIGNhc2Ugd2hlbiB0aGUgdmFsdWUgaXMgYWN0dWFs
bCAiMCIuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKTogQWRkZWQgY2xp
cGluZyBmb3IgZGVmYXVsdCB2YWx1ZS4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
aDogQWRkZWQgY2xlYXJCeURlZmF1bHQuCisKIDIwMTEtMDUtMTMgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGQxMzVmOTc5YTU4NTVkMDcy
MDAyNDY5ZTRkNjI5MGRjNTA4NDRiZDMuLjFjMDFiZmYxZmU3MmI5MDNiMDg2NzgyOWQ2MWZmZjcz
ZDljMTk0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAt
MTQ2MSwxMyArMTQ2MSwxOCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBVcEZyb21SZW5k
ZXJlcihpbnQgbikKICAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CiAgICAgICAgIEV4Y2Vw
dGlvbkNvZGUgZWM7CiAgICAgICAgIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+ZGVmYXVsdFZhbHVl
Rm9yU3RlcFVwKCk7CisgICAgICAgIGludCBuZXh0RGlmZiA9IHN0ZXAgKiBuOworICAgICAgICBp
ZiAoY3VycmVudCA8IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgLSBuZXh0RGlmZikKKyAgICAgICAg
ICAgIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+bWluaW11bSgpIC0gbmV4dERpZmY7CisgICAgICAg
IGlmIChjdXJyZW50ID4gbV9pbnB1dFR5cGUtPm1heGltdW0oKSAtIG5leHREaWZmKQorICAgICAg
ICAgICAgY3VycmVudCA9IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkgLSBuZXh0RGlmZjsKICAgICAg
ICAgc2V0VmFsdWVBc051bWJlcihjdXJyZW50LCBlYyk7CiAgICAgfQogICAgIGlmICgoc2lnbiA+
IDAgJiYgY3VycmVudCA8IG1faW5wdXRUeXBlLT5taW5pbXVtKCkpIHx8IChzaWduIDwgMCAmJiBj
dXJyZW50ID4gbV9pbnB1dFR5cGUtPm1heGltdW0oKSkpCiAgICAgICAgIHNldFZhbHVlKG1faW5w
dXRUeXBlLT5zZXJpYWxpemUoc2lnbiA+IDAgPyBtX2lucHV0VHlwZS0+bWluaW11bSgpIDogbV9p
bnB1dFR5cGUtPm1heGltdW0oKSkpOwogICAgIGVsc2UgewogICAgICAgICBFeGNlcHRpb25Db2Rl
IGVjOwotICAgICAgICBpZiAoc3RlcE1pc21hdGNoKGN1cnJlbnRTdHJpbmdWYWx1ZSkpIHsKKyAg
ICAgICAgaWYgKHN0ZXBNaXNtYXRjaCh2YWx1ZSgpKSkgewogICAgICAgICAgICAgQVNTRVJUKHN0
ZXApOwogICAgICAgICAgICAgZG91YmxlIG5ld1ZhbHVlOwogICAgICAgICAgICAgZG91YmxlIHNj
YWxlID0gcG93KDEwLjAsIHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KHN0ZXBEZWNpbWFsUGxhY2Vz
LCBiYXNlRGVjaW1hbFBsYWNlcykpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93724</attachid>
            <date>2011-05-16 18:18:06 -0700</date>
            <delta_ts>2011-05-16 19:34:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60871-20110516181805.patch</filename>
            <type>text/plain</type>
            <size>6360</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY0NzcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMzNjNjE2NGI1ZGZhNWI2Y2MxMzZj
MDIwNjNkMmNhNjMwOGE3ZjNhLi42YTI4NDI0NGM1MmY3ZWIxNmExZGYxYzYxYzVhYTA2ZmFjNDE0
NDJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTYgIE5hb2tpIFRha2FubyAgPHRh
a2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSFRNTDUgTnVtYmVyIFNwaW5ib3ggZGlzcGxheXMgYSAwIGluIHNpdHVh
dGlvbnMgd2hlcmUgYSAwIGlzIG5vdCBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwODcxCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVk
LnR4dDogQWRkZWQgZXhwZWN0ZWQgcmVzdWx0cy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qczogQWRkZWQgdGVz
dCBwYXR0ZXJucyB3aGVuIGluaXRpYWwgdmFsdWVzIGFyZSBlbXB0eS4KKwogMjAxMS0wNS0xMyAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQu
dHh0CmluZGV4IGJlNTE5NGZkYjg2OWE1YzY4N2JjODdkYzZmMjZjYTFlNjIwNTVmYWQuLmQ0NWYy
MTMyYjdlNjI3N2Y5NjYyNzZjYmY0ZmNhZjZhMGIxNWY4ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC0xNDQsNiArMTQ0LDIyIEBAIFBBU1Mgc3Rl
cFVwKCI1LjAwNSIsICIwLjAwNSIsICIiLCAxMikgaXMgIjUuMDY1IgogUEFTUyBzdGVwVXBFeHBs
aWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMikgaXMgIjUuMDE1IgogUEFT
UyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUuMDA1IiwgMTEpIGlz
ICI1LjA2IgogUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5IiwgIjAuMDA1IiwgIjUu
MDA1IiwgMTIpIGlzICI1LjA2NSIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3VuZHMoLTQsIDQsIDEs
ICIiKSBpcyAiMSIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcygtNCwgNCwgMSwgIiIpIGlz
ICItMSIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcygwLCA0LCAxLCAiIikgaXMgIjAiCitQ
QVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKC00LCAwLCAxLCAiIikgaXMgIjAiCitQQVNTIHN0ZXBE
b3duRXhwbGljaXRCb3VuZHMoMSwgNCwgMSwgIiIpIGlzICIxIgorUEFTUyBzdGVwVXBFeHBsaWNp
dEJvdW5kcygxLCA0LCAxLCAiIikgaXMgIjEiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMo
LTQsIC0xLCAxLCAiIikgaXMgIi0xIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygtNCwgLTEs
IDEsICIiKSBpcyAiLTEiCitQQVNTIHN0ZXBVcEV4cGxpY2l0Qm91bmRzKC0xMDAsIG51bGwsIDMs
ICIiKSBpcyAiMiIKK1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcygtMTAwLCBudWxsLCAzLCAi
IikgaXMgIi0xIgorUEFTUyBzdGVwVXBFeHBsaWNpdEJvdW5kcygxLCA0LCAxLCAwKSBpcyAiMSIK
K1BBU1Mgc3RlcERvd25FeHBsaWNpdEJvdW5kcygxLCA0LCAxLCAwKSBpcyAiMCIKK1BBU1Mgc3Rl
cERvd25FeHBsaWNpdEJvdW5kcygtNCwgLTEsIDEsIDApIGlzICItMSIKK1BBU1Mgc3RlcFVwRXhw
bGljaXRCb3VuZHMoLTQsIC0xLCAxLCAwKSBpcyAiMCIKK1BBU1Mgc3RlcFVwRXhwbGljaXRCb3Vu
ZHMoLTEwMCwgbnVsbCwgMywgMykgaXMgIjUiCitQQVNTIHN0ZXBEb3duRXhwbGljaXRCb3VuZHMo
LTEwMCwgbnVsbCwgMywgMykgaXMgIjIiCiAKIFJhbmdlIHR5cGUKIEZ1bmN0aW9uIGFyZ3VtZW50
cyBhcmUgKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgW3N0ZXBDb3VudF0pLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3du
LWZyb20tcmVuZGVyZXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9p
bnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qcwppbmRleCA1NTZiZjJmNDFlMzgw
YmZiMTU1YmIzOWRmZTdiMzhhMWU3YmEwMDdmLi5iMGU1YWMyYjhlNDZmMzk0YzYzY2FhMDllZDll
ZjdiNTFhYzdiMzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZnJvbS1y
ZW5kZXJlci5qcwpAQCAtMjI3LDYgKzIyNywyMiBAQCBzaG91bGRCZSgnc3RlcFVwKCI1LjAwNSIs
ICIwLjAwNSIsICIiLCAxMiknLCAnIjUuMDY1IicpOwogc2hvdWxkQmUoJ3N0ZXBVcEV4cGxpY2l0
Qm91bmRzKCI0IiwgIjkiLCAiMC4wMDUiLCAiNS4wMDUiLCAyKScsICciNS4wMTUiJyk7CiBzaG91
bGRCZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoIjQiLCAiOSIsICIwLjAwNSIsICI1LjAwNSIsIDEx
KScsICciNS4wNiInKTsKIHNob3VsZEJlKCdzdGVwVXBFeHBsaWNpdEJvdW5kcygiNCIsICI5Iiwg
IjAuMDA1IiwgIjUuMDA1IiwgMTIpJywgJyI1LjA2NSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBs
aWNpdEJvdW5kcygtNCwgNCwgMSwgIiIpJywgJyIxIicpOworc2hvdWxkQmUoJ3N0ZXBEb3duRXhw
bGljaXRCb3VuZHMoLTQsIDQsIDEsICIiKScsICciLTEiJyk7CitzaG91bGRCZSgnc3RlcERvd25F
eHBsaWNpdEJvdW5kcygwLCA0LCAxLCAiIiknLCAnIjAiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhw
bGljaXRCb3VuZHMoLTQsIDAsIDEsICIiKScsICciMCInKTsKK3Nob3VsZEJlKCdzdGVwRG93bkV4
cGxpY2l0Qm91bmRzKDEsIDQsIDEsICIiKScsICciMSInKTsKK3Nob3VsZEJlKCdzdGVwVXBFeHBs
aWNpdEJvdW5kcygxLCA0LCAxLCAiIiknLCAnIjEiJyk7CitzaG91bGRCZSgnc3RlcERvd25FeHBs
aWNpdEJvdW5kcygtNCwgLTEsIDEsICIiKScsICciLTEiJyk7CitzaG91bGRCZSgnc3RlcFVwRXhw
bGljaXRCb3VuZHMoLTQsIC0xLCAxLCAiIiknLCAnIi0xIicpOworc2hvdWxkQmUoJ3N0ZXBVcEV4
cGxpY2l0Qm91bmRzKC0xMDAsIG51bGwsIDMsICIiKScsICciMiInKTsKK3Nob3VsZEJlKCdzdGVw
RG93bkV4cGxpY2l0Qm91bmRzKC0xMDAsIG51bGwsIDMsICIiKScsICciLTEiJyk7CitzaG91bGRC
ZSgnc3RlcFVwRXhwbGljaXRCb3VuZHMoMSwgNCwgMSwgMCknLCAnIjEiJyk7CitzaG91bGRCZSgn
c3RlcERvd25FeHBsaWNpdEJvdW5kcygxLCA0LCAxLCAwKScsICciMCInKTsKK3Nob3VsZEJlKCdz
dGVwRG93bkV4cGxpY2l0Qm91bmRzKC00LCAtMSwgMSwgMCknLCAnIi0xIicpOworc2hvdWxkQmUo
J3N0ZXBVcEV4cGxpY2l0Qm91bmRzKC00LCAtMSwgMSwgMCknLCAnIjAiJyk7CitzaG91bGRCZSgn
c3RlcFVwRXhwbGljaXRCb3VuZHMoLTEwMCwgbnVsbCwgMywgMyknLCAnIjUiJyk7CitzaG91bGRC
ZSgnc3RlcERvd25FeHBsaWNpdEJvdW5kcygtMTAwLCBudWxsLCAzLCAzKScsICciMiInKTsKIAog
ZGVidWcoJycpOwogZGVidWcoJ1JhbmdlIHR5cGUnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZTAwMTY2MWE1
ZWNmOTEzMjFjYWIzMDlmY2RiZWZlOGQ3MzA5ZDYxLi41YmM5NjNhYTViZTE4MGNhMDVlZmY1YzZh
MjZmZjI1OTc5Y2ViOTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDUtMTYg
IE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSFRNTDUgTnVtYmVyIFNwaW5ib3ggZGlz
cGxheXMgYSAwIGluIHNpdHVhdGlvbnMgd2hlcmUgYSAwIGlzIG5vdCBiZXR3ZWVuIHRoZSBtaW4g
YW5kIG1heC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYwODcxCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24t
ZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAgICAgSW4gbnVtYmVyIGlucHV0IHR5cGUsIGlmIHRo
ZSB2YWx1ZSBpcyBub3QgYSBudW1iZXIsIGluY2x1ZGluZyBlbXB0eSwgdGhlIGN1cnJlY3QgdmFs
dWVkIGlzIGFzc3VtZWQgMC4KKyAgICAgICAgQnV0IHdlIGhhdmUgdG8gaGFuZGxlIGl0IHNlcGFy
YXRlbHkgZnJvbSB0aGUgY2FzZSB3aGVuIHRoZSB2YWx1ZSBpcyBhY3R1YWxsICIwIi4KKworICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIpOiBBZGRlZCBjbGlwaW5nIGZvciBkZWZh
dWx0IHZhbHVlLgorCiAyMDExLTA1LTEzICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIgYW5kIEJyaWFuIFdlaW5zdGVp
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGQxMzVmOTc5
YTU4NTVkMDcyMDAyNDY5ZTRkNjI5MGRjNTA4NDRiZDMuLjFjMDFiZmYxZmU3MmI5MDNiMDg2Nzgy
OWQ2MWZmZjczZDljMTk0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcApAQCAtMTQ2MSwxMyArMTQ2MSwxOCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBV
cEZyb21SZW5kZXJlcihpbnQgbikKICAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CiAgICAg
ICAgIEV4Y2VwdGlvbkNvZGUgZWM7CiAgICAgICAgIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+ZGVm
YXVsdFZhbHVlRm9yU3RlcFVwKCk7CisgICAgICAgIGludCBuZXh0RGlmZiA9IHN0ZXAgKiBuOwor
ICAgICAgICBpZiAoY3VycmVudCA8IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgLSBuZXh0RGlmZikK
KyAgICAgICAgICAgIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+bWluaW11bSgpIC0gbmV4dERpZmY7
CisgICAgICAgIGlmIChjdXJyZW50ID4gbV9pbnB1dFR5cGUtPm1heGltdW0oKSAtIG5leHREaWZm
KQorICAgICAgICAgICAgY3VycmVudCA9IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkgLSBuZXh0RGlm
ZjsKICAgICAgICAgc2V0VmFsdWVBc051bWJlcihjdXJyZW50LCBlYyk7CiAgICAgfQogICAgIGlm
ICgoc2lnbiA+IDAgJiYgY3VycmVudCA8IG1faW5wdXRUeXBlLT5taW5pbXVtKCkpIHx8IChzaWdu
IDwgMCAmJiBjdXJyZW50ID4gbV9pbnB1dFR5cGUtPm1heGltdW0oKSkpCiAgICAgICAgIHNldFZh
bHVlKG1faW5wdXRUeXBlLT5zZXJpYWxpemUoc2lnbiA+IDAgPyBtX2lucHV0VHlwZS0+bWluaW11
bSgpIDogbV9pbnB1dFR5cGUtPm1heGltdW0oKSkpOwogICAgIGVsc2UgewogICAgICAgICBFeGNl
cHRpb25Db2RlIGVjOwotICAgICAgICBpZiAoc3RlcE1pc21hdGNoKGN1cnJlbnRTdHJpbmdWYWx1
ZSkpIHsKKyAgICAgICAgaWYgKHN0ZXBNaXNtYXRjaCh2YWx1ZSgpKSkgewogICAgICAgICAgICAg
QVNTRVJUKHN0ZXApOwogICAgICAgICAgICAgZG91YmxlIG5ld1ZhbHVlOwogICAgICAgICAgICAg
ZG91YmxlIHNjYWxlID0gcG93KDEwLjAsIHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KHN0ZXBEZWNp
bWFsUGxhY2VzLCBiYXNlRGVjaW1hbFBsYWNlcykpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>