<?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>77899</bug_id>
          
          <creation_ts>2012-02-06 14:14:02 -0800</creation_ts>
          <short_desc>IETC: FileList.item(-1) should return null instead of raising</short_desc>
          <delta_ts>2012-06-05 01:13: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>Tools / Tests</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>
          
          <blocked>76198</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ericu</cc>
    
    <cc>haraken</cc>
    
    <cc>jianli</cc>
    
    <cc>kinuko</cc>
    
    <cc>li.yin</cc>
    
    <cc>ojan</cc>
    
    <cc>tzik</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>550274</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-06 14:14:02 -0800</bug_when>
    <thetext>IETC: FileList.item(-1) should return null instead of raising

http://www.w3.org/TR/FileAPI/#filelist-methods-params

This is covered by http://samples.msdn.microsoft.com/ietestcenter/fileapi/filelist.htm (and is the only subtest in that page that we fail).

I&apos;m not sure that the spec is correct.  It&apos;s possible we should get the spec changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550298</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-06 14:41:48 -0800</bug_when>
    <thetext>I believe this exception is auto-generated by the IsIndex flag here:
        File item(in [IsIndex] unsigned long index);
http://trac.webkit.org/browser/trunk/Source/WebCore/fileapi/FileList.idl#L33</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636779</commentid>
    <comment_count>2</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-29 20:31:34 -0700</bug_when>
    <thetext>*** Bug 87611 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636812</commentid>
    <comment_count>3</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-29 21:21:22 -0700</bug_when>
    <thetext>Both of Firefox11 and IE10 will return null, if index is negative or largger than length.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636843</commentid>
    <comment_count>4</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-29 22:01:06 -0700</bug_when>
    <thetext>From FileList.idl of Spec
interface FileList {
      getter File? item(unsigned long index);
      readonly attribute unsigned long length;
};

&quot;unsigned long index&quot; represents negative index is not expected.

Maybe webkit is correct behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636851</commentid>
    <comment_count>5</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-29 22:14:50 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I believe this exception is auto-generated by the IsIndex flag here:
&gt;         File item(in [IsIndex] unsigned long index);
&gt; http://trac.webkit.org/browser/trunk/Source/WebCore/fileapi/FileList.idl#L33

Although we delete the IsIndex flag, it is still a problem when index is negative.
index is expected to be unsigned long data type, negative index will be translated to be a long positive index. 
For example, file.item(-1) will return the 4294967295th item in the file list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638880</commentid>
    <comment_count>6</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-05-31 18:31:32 -0700</bug_when>
    <thetext>Spec is not clear to describe that.
I filed a bug in W3C to track that.
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17277</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638982</commentid>
    <comment_count>7</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-31 22:56:36 -0700</bug_when>
    <thetext>We have wondered the same, webkit seems to be following the Web IDL&apos;s unsigned long handling for negative values.  Thanks for filing the w3c bug.
http://dev.w3.org/2006/webapi/WebIDL/#es-unsigned-long</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639103</commentid>
    <comment_count>8</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-01 01:47:20 -0700</bug_when>
    <thetext>Rereading the spec now, it looks like we should run the procedure specified by ToUint32 (http://es5.github.com/#x9.6) if it&apos;s not annotated EnforceRange nor Clamp.

Therefore the index needs to be converted to modulo 2**32.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639313</commentid>
    <comment_count>9</comment_count>
      <attachid>145301</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-01 07:17:02 -0700</bug_when>
    <thetext>Created attachment 145301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639321</commentid>
    <comment_count>10</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-01 07:24:21 -0700</bug_when>
    <thetext>Delete the [IsIndex], the auto-generated code will doesn&apos;t raise the index exception.

Hi jianli,
  I also updated the file-list-test.html test as you expected last time, please have a look. Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639334</commentid>
    <comment_count>11</comment_count>
      <attachid>145301</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-01 07:42:51 -0700</bug_when>
    <thetext>Comment on attachment 145301
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        undefined, null, normal index(0~length-1), more than length index.

Can we add a link to the IETC test and the corresponding spec section so that readers can have an idea why undefined and null are mapped to +0?

&gt; LayoutTests/fast/files/file-list-test.html:21
&gt; +    }

If we&apos;re only testing single test case why did you add this and the recursion call &apos;doTest(++globalIndex)&apos;?

&gt; LayoutTests/fast/files/file-list-test.html:28
&gt; +    shouldBeNull(&quot;files.item(2)&quot;);

nit: you&apos;re mixing single quote and double quota in the same file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639343</commentid>
    <comment_count>12</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-01 07:54:46 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 145301 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145301&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:9
&gt; &gt; +        undefined, null, normal index(0~length-1), more than length index.
&gt; 
&gt; Can we add a link to the IETC test and the corresponding spec section so that readers can have an idea why undefined and null are mapped to +0?

Okay, I will do that.

&gt; 
&gt; &gt; LayoutTests/fast/files/file-list-test.html:21
&gt; &gt; +    }
&gt; 
&gt; If we&apos;re only testing single test case why did you add this and the recursion call &apos;doTest(++globalIndex)&apos;?
&gt; 

In fact, there are two sub test case, one for two files, another for no file in FileList.

&gt; &gt; LayoutTests/fast/files/file-list-test.html:28
&gt; &gt; +    shouldBeNull(&quot;files.item(2)&quot;);
&gt; 
&gt; nit: you&apos;re mixing single quote and double quota in the same file.

Okay, I will update it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639352</commentid>
    <comment_count>13</comment_count>
      <attachid>145312</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-01 08:11:23 -0700</bug_when>
    <thetext>Created attachment 145312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640284</commentid>
    <comment_count>14</comment_count>
      <attachid>145312</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-03 20:13:11 -0700</bug_when>
    <thetext>Comment on attachment 145312
Patch

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

&gt; LayoutTests/fast/files/file-list-test.html:13
&gt; +var caseArray = [[&quot;resources/UTF8.txt&quot;, &quot;resources/UTF8-2.txt&quot;], []];

Can we add a comment &apos;caseArray must end with an empty item&apos; or something like that since the test code seems to rely on the assumption?

&gt; LayoutTests/fast/files/file-list-test.html:14
&gt; +var globalIndex = 0;

naming-nit: How about naming it caseIndex to indicate it is the index of caseArray?

&gt; LayoutTests/fast/files/file-list-test.html:18
&gt; +    if (globalIndex == 1) {

if (caseArray[globalIndex]].length == 0)

might make this code more generic?

&gt; LayoutTests/fast/files/file-list-test.html:19
&gt; +        testFailed(&quot;onInputFileChange was called.&quot;);

&quot;... was called for an empty file list&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640297</commentid>
    <comment_count>15</comment_count>
      <attachid>145513</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-03 21:20:38 -0700</bug_when>
    <thetext>Created attachment 145513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640299</commentid>
    <comment_count>16</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-03 21:26:38 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 145312 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145312&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/files/file-list-test.html:13
&gt; &gt; +var caseArray = [[&quot;resources/UTF8.txt&quot;, &quot;resources/UTF8-2.txt&quot;], []];
&gt; 
&gt; Can we add a comment &apos;caseArray must end with an empty item&apos; or something like that since the test code seems to rely on the assumption?

Using the expression &quot;if (caseArray[globalIndex]].length == 0)&quot; as you refered, It will not be a must that array ends with an empty.

&gt; 
&gt; &gt; LayoutTests/fast/files/file-list-test.html:14
&gt; &gt; +var globalIndex = 0;
&gt; 
&gt; naming-nit: How about naming it caseIndex to indicate it is the index of caseArray?
&gt; 
&gt; &gt; LayoutTests/fast/files/file-list-test.html:18
&gt; &gt; +    if (globalIndex == 1) {
&gt; 
&gt; if (caseArray[globalIndex]].length == 0)
&gt; 
&gt; might make this code more generic?
&gt;

Done. 

&gt; &gt; LayoutTests/fast/files/file-list-test.html:19
&gt; &gt; +        testFailed(&quot;onInputFileChange was called.&quot;);
&gt; 
&gt; &quot;... was called for an empty file list&quot; ?

Done.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640345</commentid>
    <comment_count>17</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-03 23:22:06 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; &gt; LayoutTests/fast/files/file-list-test.html:13
&gt; &gt; &gt; +var caseArray = [[&quot;resources/UTF8.txt&quot;, &quot;resources/UTF8-2.txt&quot;], []];
&gt; &gt; 
&gt; &gt; Can we add a comment &apos;caseArray must end with an empty item&apos; or something like that since the test code seems to rely on the assumption?
&gt; 
&gt; Using the expression &quot;if (caseArray[globalIndex]].length == 0)&quot; as you refered, It will not be a must that array ends with an empty.

I might want to check if ++caseIndex &lt; caseArray.length before calling doTest then.

By the way I noticed something else. You&apos;re calling the next beginDragWithFiles directly from the file change event handler which is supposed to clear the dragged data &apos;after&apos; the handler runs, and I think it could screw up the internal drag status (i.e. it&apos;d fail on assertion if it runs in debug build).

I think you can simply loop over the test cases like:

 while (++caseIndex &lt; caseArray.length)
   doTest(caseIndex);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640364</commentid>
    <comment_count>18</comment_count>
      <attachid>145513</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-04 00:09:08 -0700</bug_when>
    <thetext>Comment on attachment 145513
Patch

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

&gt; LayoutTests/fast/files/file-list-test.html:25
&gt; +    shouldBeEqualToString(&quot;files.item(0).name&quot;, &quot;UTF8.txt&quot;);

One more comment.  We&apos;re testing the &apos;files&apos; against constant values in this handler while the handler is registered for multiple test cases now (though the only non-empty test case is [UTF8.txt, UTF8-2.txt]).  If we really want to make this handler generic we should give the expected values also from caseArray, or maybe in this case we can just drop the caseArray but instead calling each case directly with different handler?  Like:

doTest([&quot;resources/UTF8.txt&quot;, &quot;resources/UTF8-2.txt&quot;], onInputFileChange);
doTest([], shouldNotBeCalled);

(By the way do we really need to test empty file list case in this test?  It doesn&apos;t look to be a part of FileList tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641066</commentid>
    <comment_count>19</comment_count>
      <attachid>145671</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-04 18:00:46 -0700</bug_when>
    <thetext>Created attachment 145671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641069</commentid>
    <comment_count>20</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-04 18:05:09 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (By the way do we really need to test empty file list case in this test?  It doesn&apos;t look to be a part of FileList tests)

Yeah, empty file list case is not necessary, delete it.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641082</commentid>
    <comment_count>21</comment_count>
      <attachid>145671</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-04 18:18:44 -0700</bug_when>
    <thetext>Comment on attachment 145671
Patch

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

Let me confirm my understanding:

- Per the Web IDL spec, ToUint32() is called. -1 is converted to 4294967295.
- files.item(-1) will return the same item as files.item(4294967295).
- Given that there is no item in the 4294967295th index, files.item(-1) returns null.
- Firefox11 and IE10 also return null for files.item(-1).
- Consequently, this change follows the spec and does not violate cross-browser compatibility.

Is my understanding correct? (If so, the change looks reasonable to me.)

&gt; LayoutTests/fast/files/file-list-test.html:24
&gt; +    shouldBeNull(&quot;files.item(-1)&quot;);

Shall we add a test for files.item(4294967295)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641096</commentid>
    <comment_count>22</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-04 18:44:02 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 145671 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145671&amp;action=review
&gt; 
&gt; Let me confirm my understanding:
&gt; 
&gt; - Per the Web IDL spec, ToUint32() is called. -1 is converted to 4294967295.
&gt; - files.item(-1) will return the same item as files.item(4294967295).
&gt; - Given that there is no item in the 4294967295th index, files.item(-1) returns null.
&gt; - Firefox11 and IE10 also return null for files.item(-1).
&gt; - Consequently, this change follows the spec and does not violate cross-browser compatibility.
&gt; 
&gt; Is my understanding correct? (If so, the change looks reasonable to me.)
&gt; 
&gt; &gt; LayoutTests/fast/files/file-list-test.html:24
&gt; &gt; +    shouldBeNull(&quot;files.item(-1)&quot;);
&gt; 
&gt; Shall we add a test for files.item(4294967295)?

Yeah, -1 is converted to 2^32 - 1, do you mean we should test file.item(-4294967295) or file.item(-4294967296)?
file.item(-4294967295) equals file.item(1);
file.item(-4294967296) equals file.item(0);

I will add these tests.

Thanks for your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641098</commentid>
    <comment_count>23</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-04 18:45:37 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Yeah, -1 is converted to 2^32 - 1, do you mean we should test file.item(-4294967295) or file.item(-4294967296)?
&gt; file.item(-4294967295) equals file.item(1);
&gt; file.item(-4294967296) equals file.item(0);
&gt; 
&gt; I will add these tests.

That&apos;s a good idea. And plus files.item(4294967295), which should equal to files.item(-1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641099</commentid>
    <comment_count>24</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-04 18:47:41 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; Yeah, -1 is converted to 2^32 - 1, do you mean we should test file.item(-4294967295) or file.item(-4294967296)?
&gt; &gt; file.item(-4294967295) equals file.item(1);
&gt; &gt; file.item(-4294967296) equals file.item(0);
&gt; &gt; 
&gt; &gt; I will add these tests.
&gt; 
&gt; That&apos;s a good idea. And plus files.item(4294967295), which should equal to files.item(-1).

So in summary we might want to check the followings:

files.item(4294967295) == files.item(-1) == null
files.item(4294967296) == files.item(0) == &quot;UTF8.txt&quot;
files.item(4294967297) == files.item(1) == &quot;UTF8-2.txt&quot;
files.item(4294967298) == files.item(2) == null</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641120</commentid>
    <comment_count>25</comment_count>
      <attachid>145680</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-04 19:23:36 -0700</bug_when>
    <thetext>Created attachment 145680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641121</commentid>
    <comment_count>26</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-06-04 19:24:43 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; (In reply to comment #22)
&gt; &gt; &gt; Yeah, -1 is converted to 2^32 - 1, do you mean we should test file.item(-4294967295) or file.item(-4294967296)?
&gt; &gt; &gt; file.item(-4294967295) equals file.item(1);
&gt; &gt; &gt; file.item(-4294967296) equals file.item(0);
&gt; &gt; &gt; 
&gt; &gt; &gt; I will add these tests.
&gt; &gt; 
&gt; &gt; That&apos;s a good idea. And plus files.item(4294967295), which should equal to files.item(-1).
&gt; 
&gt; So in summary we might want to check the followings:
&gt; 
&gt; files.item(4294967295) == files.item(-1) == null
&gt; files.item(4294967296) == files.item(0) == &quot;UTF8.txt&quot;
&gt; files.item(4294967297) == files.item(1) == &quot;UTF8-2.txt&quot;
&gt; files.item(4294967298) == files.item(2) == null

Done.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641124</commentid>
    <comment_count>27</comment_count>
      <attachid>145680</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-04 19:30:39 -0700</bug_when>
    <thetext>Comment on attachment 145680
Patch

Looks OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641272</commentid>
    <comment_count>28</comment_count>
      <attachid>145680</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-05 01:13:16 -0700</bug_when>
    <thetext>Comment on attachment 145680
Patch

Clearing flags on attachment: 145680

Committed r119466: &lt;http://trac.webkit.org/changeset/119466&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641273</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-05 01:13:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145301</attachid>
            <date>2012-06-01 07:17:02 -0700</date>
            <delta_ts>2012-06-01 08:11:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77899-20120602222014.patch</filename>
            <type>text/plain</type>
            <size>4891</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmYzNiY2MyMGRlNGRm
YzZiNTFmMGY2YTE4NjY1NTgzYTczMmJkYS4uYjc1N2JkNjA3NGZjZjk1YjY1MjhiNTU3MDQ4NjNl
ZjBkOWQ4YWU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA2LTAyICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIElFVEM6IEZpbGVMaXN0Lml0ZW0oLTEp
IHNob3VsZCByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjcm9kaW5nIHRvIGh0dHA6Ly9lczUuZ2l0
aHViLmNvbS8jeDkuNgorICAgICAgICBXaGVuIHRoZSBpbmRleCBpcyBuZWdhdGl2ZSwgaXQgc2hv
dWxkIG5vdCByYWlzZSBleGNlcHRpb24uCisgICAgICAgIEZpcmVmb3ggYW5kIElFIHJldHVybnMg
bnVsbCB3aGVuIHRoZXJlIGlzIG5vdCBpbmRleHRoIEZpbGUgb2JqZWN0LgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRtbAorCisgICAgICAgICogZmlsZWFwaS9G
aWxlTGlzdC5pZGw6CisKIDIwMTItMDUtMjkgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtWOF0gUmVuYW1lIHY4TnVsbCgpIHRvIHY4TnVsbFdpdGhDaGVj
aygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuaWRsCmluZGV4IDBjZGY4NjExNjQwMDM3MDNj
NzZiZTI2OWQ4Mjk2NDRhNzE1NTg3YTEuLjE0MTM5YTc2MzVkMzMwZDA2MDllNWMyY2MyZTFmOTE5
ZjdhNGM3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuaWRsCkBAIC0zMCw3ICszMCw3
IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSlNOb1N0YXRpY1RhYmxlcwogICAgIF0gRmlsZUxp
c3QgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0g
ICAgICAgIEZpbGUgaXRlbShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAg
ICAgIEZpbGUgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICB9OwogCiB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZDE3ZDJkNWVjNDgzYmEzMWRjYzFiZGEyY2Y5NDFlMjMwOTJjYmE1My4uOGYxNzI1MTM0NjQx
OWUzZWFhMTUyOWNlNzAwYTVlZDk0YmM4NWU5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEy
LTA2LTAyICBMaSBZaW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIElFVEM6IEZpbGVM
aXN0Lml0ZW0oLTEpIHNob3VsZCByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODk5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU29tZSBpbmRleCB2YWx1
ZXMgaGF2ZSBiZWVuIGNvdmVyZWQgaW4gdGhpcyB0ZXN0LCBpbmNsdWRpbmcgbmVnYXRpdmUgaW5k
ZXgsCisgICAgICAgIHVuZGVmaW5lZCwgbnVsbCwgbm9ybWFsIGluZGV4KDB+bGVuZ3RoLTEpLCBt
b3JlIHRoYW4gbGVuZ3RoIGluZGV4LgorCisgICAgICAgICogZmFzdC9maWxlcy9maWxlLWxpc3Qt
dGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9maWxlcy9maWxlLWxpc3QtdGVzdC5o
dG1sOgorCiAyMDEyLTA1LTI5ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBp
bnRlbC5jb20+CiAKICAgICAgICAgU29tZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBjb25zb2xl
IG1lc3NhZ2VzIGFyZSBtaXNzaW5nIGxpbmUgbnVtYmVycyBpbiBKU0MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlcy9maWxlLWxpc3QtdGVzdC1leHBlY3RlZC50eHQKaW5kZXggMDdhYzg3
MGVkYjM5MjljYTRhMDM3MjViNGYwNmEyODE1ODllZWM3Ny4uYWRhY2YxYWU2NmQ3YTkxM2Y1OWFm
YTQ3ZTNjYjNiYzRmMzg2ZDcwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9m
aWxlLWxpc3QtdGVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9m
aWxlLWxpc3QtdGVzdC1leHBlY3RlZC50eHQKQEAgLTMsMTMgKzMsMTkgQEAgVGVzdCB0aGUgYXR0
cmlidXRlIG9mIEZpbGVMaXN0LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKLVN0YXJ0
CitUZXN0IDAKIFBBU1MgZmlsZXMubGVuZ3RoIGlzIDIKIFBBU1MgZmlsZXMuaXRlbSgwKSBpbnN0
YW5jZW9mIEZpbGUgaXMgdHJ1ZQogUEFTUyBmaWxlcy5pdGVtKDApLm5hbWUgaXMgIlVURjgudHh0
IgogUEFTUyBmaWxlcy5pdGVtKDEpIGluc3RhbmNlb2YgRmlsZSBpcyB0cnVlCiBQQVNTIGZpbGVz
Lml0ZW0oMSkubmFtZSBpcyAiVVRGOC0yLnR4dCIKLVBBU1MgZmlsZXMuaXRlbSg5OTkpIGlzIG51
bGwKK1BBU1MgZmlsZXMuaXRlbSgyKSBpcyBudWxsCitQQVNTIGZpbGVzLml0ZW0oLTEpIGlzIG51
bGwKK1BBU1MgZmlsZXMuaXRlbShudWxsKSBpbnN0YW5jZW9mIEZpbGUgaXMgdHJ1ZQorUEFTUyBm
aWxlcy5pdGVtKG51bGwpLm5hbWUgaXMgIlVURjgudHh0IgorUEFTUyBmaWxlcy5pdGVtKHVuZGVm
aW5lZCkgaW5zdGFuY2VvZiBGaWxlIGlzIHRydWUKK1BBU1MgZmlsZXMuaXRlbSh1bmRlZmluZWQp
Lm5hbWUgaXMgIlVURjgudHh0IgorVGVzdCAxCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMv
ZmlsZS1saXN0LXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRl
c3QuaHRtbAppbmRleCA0Mzk0ZWNhOTU5YTFkNzMwNzljMDVhNmY4ZDBhNDkzMTk4OGFmYjllLi41
MGQ0YjkyZWEzNWIxZTgyYjZlNGU1YTVkZTE0NGMyOWViNmQ3MjExIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtbGlzdC10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlcy9maWxlLWxpc3QtdGVzdC5odG1sCkBAIC0xMCwyMSArMTAsMzggQEAKIDxzY3Jp
cHQ+CiBkZXNjcmlwdGlvbigiVGVzdCB0aGUgYXR0cmlidXRlIG9mIEZpbGVMaXN0LiIpOwogCit2
YXIgY2FzZUFycmF5ID0gW1sncmVzb3VyY2VzL1VURjgudHh0JywgJ3Jlc291cmNlcy9VVEY4LTIu
dHh0J10sIFtdXTsKK3ZhciBnbG9iYWxJbmRleCA9IDA7CisKIGZ1bmN0aW9uIG9uSW5wdXRGaWxl
Q2hhbmdlKGZpbGVzKQogeworICAgIGlmIChnbG9iYWxJbmRleCA9PSAxKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoIm9uSW5wdXRGaWxlQ2hhbmdlIHdhcyBjYWxsZWQuIik7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CiAgICAgd2luZG93LmZpbGVzID0gZmlsZXM7Ci0gICAgZGVidWcoIlN0YXJ0Iik7
CiAgICAgc2hvdWxkQmUoImZpbGVzLmxlbmd0aCIsICIyIik7CiAgICAgc2hvdWxkQmVUcnVlKCJm
aWxlcy5pdGVtKDApIGluc3RhbmNlb2YgRmlsZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZmlsZXMuaXRlbSgwKS5uYW1lJywgJ1VURjgudHh0Jyk7CiAgICAgc2hvdWxkQmVUcnVlKCJm
aWxlcy5pdGVtKDEpIGluc3RhbmNlb2YgRmlsZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZmlsZXMuaXRlbSgxKS5uYW1lJywgJ1VURjgtMi50eHQnKTsKLSAgICBzaG91bGRCZU51bGwo
ImZpbGVzLml0ZW0oOTk5KSIpOworICAgIHNob3VsZEJlTnVsbCgiZmlsZXMuaXRlbSgyKSIpOwor
ICAgIHNob3VsZEJlTnVsbCgiZmlsZXMuaXRlbSgtMSkiKTsKKyAgICBzaG91bGRCZVRydWUoImZp
bGVzLml0ZW0obnVsbCkgaW5zdGFuY2VvZiBGaWxlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJmaWxlcy5pdGVtKG51bGwpLm5hbWUiLCAiVVRGOC50eHQiKTsKKyAgICBzaG91bGRCZVRy
dWUoImZpbGVzLml0ZW0odW5kZWZpbmVkKSBpbnN0YW5jZW9mIEZpbGUiKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImZpbGVzLml0ZW0odW5kZWZpbmVkKS5uYW1lIiwgIlVURjgudHh0Iik7
CisgICAgZG9UZXN0KCsrZ2xvYmFsSW5kZXgpOworfQorCitmdW5jdGlvbiBkb1Rlc3QoaW5kZXgp
IHsKKyAgICBkZWJ1ZygiVGVzdCAiICsgaW5kZXgpOworICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJh
Z1dpdGhGaWxlcyhjYXNlQXJyYXlbaW5kZXhdKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
bygxMCwgMTApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKIH0KIAotZXZlbnRTZW5kZXIu
YmVnaW5EcmFnV2l0aEZpbGVzKFsncmVzb3VyY2VzL1VURjgudHh0JywgJ3Jlc291cmNlcy9VVEY4
LTIudHh0J10pOwotZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAsIDEwKTsKLWV2ZW50U2VuZGVy
Lm1vdXNlVXAoKTsKK2RvVGVzdCgwKTsKIAogPC9zY3JpcHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145312</attachid>
            <date>2012-06-01 08:11:23 -0700</date>
            <delta_ts>2012-06-03 21:20:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77899-20120602231435.patch</filename>
            <type>text/plain</type>
            <size>5225</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmYzNiY2MyMGRlNGRm
YzZiNTFmMGY2YTE4NjY1NTgzYTczMmJkYS4uYTgxZDdhNGU1MThmMzQxYmFlOGE5YjFhM2NlMTE2
MGRkNWVjMmExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTAyICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIElFVEM6IEZpbGVMaXN0Lml0ZW0oLTEp
IHNob3VsZCByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSUVUQzogaHR0cDovL3NhbXBsZXMubXNkbi5t
aWNyb3NvZnQuY29tL2lldGVzdGNlbnRlci9maWxlYXBpL2ZpbGVsaXN0Lmh0bQorICAgICAgICBB
Y2Nyb2RpbmcgdG8gaHR0cDovL2VzNS5naXRodWIuY29tLyN4OS42CisgICAgICAgIFdoZW4gdGhl
IGluZGV4IGlzIG5lZ2F0aXZlLCBpdCBzaG91bGQgbm90IHJhaXNlIGV4Y2VwdGlvbi4KKyAgICAg
ICAgRmlyZWZveCBhbmQgSUUgcmV0dXJucyBudWxsIHdoZW4gdGhlcmUgaXMgbm90IGluZGV4dGgg
RmlsZSBvYmplY3QuCisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlcy9maWxlLWxpc3QtdGVzdC5o
dG1sCisKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVMaXN0LmlkbDoKKwogMjAxMi0wNS0yOSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBSZW5hbWUg
djhOdWxsKCkgdG8gdjhOdWxsV2l0aENoZWNrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5p
ZGwKaW5kZXggMGNkZjg2MTE2NDAwMzcwM2M3NmJlMjY5ZDgyOTY0NGE3MTU1ODdhMS4uMTQxMzlh
NzYzNWQzMzBkMDYwOWU1YzJjYzJlMWY5MTlmN2E0YzczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlTGlzdC5pZGwKQEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBKU05v
U3RhdGljVGFibGVzCiAgICAgXSBGaWxlTGlzdCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICAgICAgRmlsZSBpdGVtKGluIFtJc0luZGV4XSB1
bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAgICAgRmlsZSBpdGVtKGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMTdkMmQ1ZWM0ODNiYTMxZGNjMWJkYTJjZjk0
MWUyMzA5MmNiYTUzLi43NDc3NDQ3MmM2YTIwYTg2YmMwNTNjNTM4Zjg4Y2M1NTMyMDBiNjA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDYtMDIgIExpIFlpbiAgPGxpLnlpbkBpbnRlbC5j
b20+CisKKyAgICAgICAgSUVUQzogRmlsZUxpc3QuaXRlbSgtMSkgc2hvdWxkIHJldHVybiBudWxs
IGluc3RlYWQgb2YgcmFpc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzc4OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJRVRDOiBodHRwOi8vc2FtcGxlcy5tc2RuLm1pY3Jvc29mdC5jb20vaWV0ZXN0
Y2VudGVyL2ZpbGVhcGkvZmlsZWxpc3QuaHRtCisgICAgICAgIFJlZjogaHR0cDovL2VzNS5naXRo
dWIuY29tLyN4OS42CisgICAgICAgIFNvbWUgaW5kZXggdmFsdWVzIGhhdmUgYmVlbiBjb3ZlcmVk
IGluIHRoaXMgdGVzdCwgaW5jbHVkaW5nIG5lZ2F0aXZlIGluZGV4LAorICAgICAgICB1bmRlZmlu
ZWQsIG51bGwsIG5vcm1hbCBpbmRleCgwfmxlbmd0aC0xKSwgbW9yZSB0aGFuIGxlbmd0aCBpbmRl
eC4KKworICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRtbDoKKwogMjAxMi0wNS0yOSAg
Q2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAg
IFNvbWUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgY29uc29sZSBtZXNzYWdlcyBhcmUgbWlzc2lu
ZyBsaW5lIG51bWJlcnMgaW4gSlNDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L2ZpbGUtbGlzdC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmls
ZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDA3YWM4NzBlZGIzOTI5Y2E0YTAzNzI1YjRm
MDZhMjgxNTg5ZWVjNzcuLmFkYWNmMWFlNjZkN2E5MTNmNTlhZmE0N2UzY2IzYmM0ZjM4NmQ3MDQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CkBAIC0zLDEzICszLDE5IEBAIFRlc3QgdGhlIGF0dHJpYnV0ZSBvZiBGaWxlTGlzdC4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCi1TdGFydAorVGVzdCAwCiBQQVNTIGZpbGVz
Lmxlbmd0aCBpcyAyCiBQQVNTIGZpbGVzLml0ZW0oMCkgaW5zdGFuY2VvZiBGaWxlIGlzIHRydWUK
IFBBU1MgZmlsZXMuaXRlbSgwKS5uYW1lIGlzICJVVEY4LnR4dCIKIFBBU1MgZmlsZXMuaXRlbSgx
KSBpbnN0YW5jZW9mIEZpbGUgaXMgdHJ1ZQogUEFTUyBmaWxlcy5pdGVtKDEpLm5hbWUgaXMgIlVU
RjgtMi50eHQiCi1QQVNTIGZpbGVzLml0ZW0oOTk5KSBpcyBudWxsCitQQVNTIGZpbGVzLml0ZW0o
MikgaXMgbnVsbAorUEFTUyBmaWxlcy5pdGVtKC0xKSBpcyBudWxsCitQQVNTIGZpbGVzLml0ZW0o
bnVsbCkgaW5zdGFuY2VvZiBGaWxlIGlzIHRydWUKK1BBU1MgZmlsZXMuaXRlbShudWxsKS5uYW1l
IGlzICJVVEY4LnR4dCIKK1BBU1MgZmlsZXMuaXRlbSh1bmRlZmluZWQpIGluc3RhbmNlb2YgRmls
ZSBpcyB0cnVlCitQQVNTIGZpbGVzLml0ZW0odW5kZWZpbmVkKS5uYW1lIGlzICJVVEY4LnR4dCIK
K1Rlc3QgMQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtbGlzdC10ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtbGlzdC10ZXN0Lmh0bWwKaW5kZXggNDM5NGVj
YTk1OWExZDczMDc5YzA1YTZmOGQwYTQ5MzE5ODhhZmI5ZS4uNzAzMjcxNjI0NWE1NDc0NTEyZDUz
ZGQ0ZTZkNzllMzgxM2MwYWI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9m
aWxlLWxpc3QtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0
LXRlc3QuaHRtbApAQCAtMTAsMjEgKzEwLDM4IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRl
c3QgdGhlIGF0dHJpYnV0ZSBvZiBGaWxlTGlzdC4iKTsKIAordmFyIGNhc2VBcnJheSA9IFtbInJl
c291cmNlcy9VVEY4LnR4dCIsICJyZXNvdXJjZXMvVVRGOC0yLnR4dCJdLCBbXV07Cit2YXIgZ2xv
YmFsSW5kZXggPSAwOworCiBmdW5jdGlvbiBvbklucHV0RmlsZUNoYW5nZShmaWxlcykKIHsKKyAg
ICBpZiAoZ2xvYmFsSW5kZXggPT0gMSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJvbklucHV0Rmls
ZUNoYW5nZSB3YXMgY2FsbGVkLiIpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIHdpbmRv
dy5maWxlcyA9IGZpbGVzOwotICAgIGRlYnVnKCJTdGFydCIpOwogICAgIHNob3VsZEJlKCJmaWxl
cy5sZW5ndGgiLCAiMiIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbSgwKSBpbnN0YW5j
ZW9mIEZpbGUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZpbGVzLml0ZW0oMCkubmFt
ZScsICdVVEY4LnR4dCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZXMuaXRlbSgw
KS5uYW1lIiwgIlVURjgudHh0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJmaWxlcy5pdGVtKDEpIGlu
c3RhbmNlb2YgRmlsZSIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZmlsZXMuaXRlbSgx
KS5uYW1lJywgJ1VURjgtMi50eHQnKTsKLSAgICBzaG91bGRCZU51bGwoImZpbGVzLml0ZW0oOTk5
KSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZXMuaXRlbSgxKS5uYW1lIiwgIlVU
RjgtMi50eHQiKTsKKyAgICBzaG91bGRCZU51bGwoImZpbGVzLml0ZW0oMikiKTsKKyAgICBzaG91
bGRCZU51bGwoImZpbGVzLml0ZW0oLTEpIik7CisgICAgc2hvdWxkQmVUcnVlKCJmaWxlcy5pdGVt
KG51bGwpIGluc3RhbmNlb2YgRmlsZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmls
ZXMuaXRlbShudWxsKS5uYW1lIiwgIlVURjgudHh0Iik7CisgICAgc2hvdWxkQmVUcnVlKCJmaWxl
cy5pdGVtKHVuZGVmaW5lZCkgaW5zdGFuY2VvZiBGaWxlIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJmaWxlcy5pdGVtKHVuZGVmaW5lZCkubmFtZSIsICJVVEY4LnR4dCIpOworICAgIGRv
VGVzdCgrK2dsb2JhbEluZGV4KTsKK30KKworZnVuY3Rpb24gZG9UZXN0KGluZGV4KSB7CisgICAg
ZGVidWcoIlRlc3QgIiArIGluZGV4KTsKKyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmls
ZXMoY2FzZUFycmF5W2luZGV4XSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAsIDEw
KTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiB9CiAKLWV2ZW50U2VuZGVyLmJlZ2luRHJh
Z1dpdGhGaWxlcyhbJ3Jlc291cmNlcy9VVEY4LnR4dCcsICdyZXNvdXJjZXMvVVRGOC0yLnR4dCdd
KTsKLWV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwLCAxMCk7Ci1ldmVudFNlbmRlci5tb3VzZVVw
KCk7Citkb1Rlc3QoMCk7CiAKIDwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145513</attachid>
            <date>2012-06-03 21:20:38 -0700</date>
            <delta_ts>2012-06-04 18:00:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77899-20120605122355.patch</filename>
            <type>text/plain</type>
            <size>5260</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmYzNiY2MyMGRlNGRm
YzZiNTFmMGY2YTE4NjY1NTgzYTczMmJkYS4uYTgxZDdhNGU1MThmMzQxYmFlOGE5YjFhM2NlMTE2
MGRkNWVjMmExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTAyICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIElFVEM6IEZpbGVMaXN0Lml0ZW0oLTEp
IHNob3VsZCByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSUVUQzogaHR0cDovL3NhbXBsZXMubXNkbi5t
aWNyb3NvZnQuY29tL2lldGVzdGNlbnRlci9maWxlYXBpL2ZpbGVsaXN0Lmh0bQorICAgICAgICBB
Y2Nyb2RpbmcgdG8gaHR0cDovL2VzNS5naXRodWIuY29tLyN4OS42CisgICAgICAgIFdoZW4gdGhl
IGluZGV4IGlzIG5lZ2F0aXZlLCBpdCBzaG91bGQgbm90IHJhaXNlIGV4Y2VwdGlvbi4KKyAgICAg
ICAgRmlyZWZveCBhbmQgSUUgcmV0dXJucyBudWxsIHdoZW4gdGhlcmUgaXMgbm90IGluZGV4dGgg
RmlsZSBvYmplY3QuCisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlcy9maWxlLWxpc3QtdGVzdC5o
dG1sCisKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVMaXN0LmlkbDoKKwogMjAxMi0wNS0yOSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBSZW5hbWUg
djhOdWxsKCkgdG8gdjhOdWxsV2l0aENoZWNrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5p
ZGwKaW5kZXggMGNkZjg2MTE2NDAwMzcwM2M3NmJlMjY5ZDgyOTY0NGE3MTU1ODdhMS4uMTQxMzlh
NzYzNWQzMzBkMDYwOWU1YzJjYzJlMWY5MTlmN2E0YzczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlTGlzdC5pZGwKQEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBKU05v
U3RhdGljVGFibGVzCiAgICAgXSBGaWxlTGlzdCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICAgICAgRmlsZSBpdGVtKGluIFtJc0luZGV4XSB1
bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAgICAgRmlsZSBpdGVtKGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMTdkMmQ1ZWM0ODNiYTMxZGNjMWJkYTJjZjk0
MWUyMzA5MmNiYTUzLi43NDc3NDQ3MmM2YTIwYTg2YmMwNTNjNTM4Zjg4Y2M1NTMyMDBiNjA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDYtMDIgIExpIFlpbiAgPGxpLnlpbkBpbnRlbC5j
b20+CisKKyAgICAgICAgSUVUQzogRmlsZUxpc3QuaXRlbSgtMSkgc2hvdWxkIHJldHVybiBudWxs
IGluc3RlYWQgb2YgcmFpc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzc4OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJRVRDOiBodHRwOi8vc2FtcGxlcy5tc2RuLm1pY3Jvc29mdC5jb20vaWV0ZXN0
Y2VudGVyL2ZpbGVhcGkvZmlsZWxpc3QuaHRtCisgICAgICAgIFJlZjogaHR0cDovL2VzNS5naXRo
dWIuY29tLyN4OS42CisgICAgICAgIFNvbWUgaW5kZXggdmFsdWVzIGhhdmUgYmVlbiBjb3ZlcmVk
IGluIHRoaXMgdGVzdCwgaW5jbHVkaW5nIG5lZ2F0aXZlIGluZGV4LAorICAgICAgICB1bmRlZmlu
ZWQsIG51bGwsIG5vcm1hbCBpbmRleCgwfmxlbmd0aC0xKSwgbW9yZSB0aGFuIGxlbmd0aCBpbmRl
eC4KKworICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRtbDoKKwogMjAxMi0wNS0yOSAg
Q2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAg
IFNvbWUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgY29uc29sZSBtZXNzYWdlcyBhcmUgbWlzc2lu
ZyBsaW5lIG51bWJlcnMgaW4gSlNDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L2ZpbGUtbGlzdC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmls
ZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDA3YWM4NzBlZGIzOTI5Y2E0YTAzNzI1YjRm
MDZhMjgxNTg5ZWVjNzcuLmFkYWNmMWFlNjZkN2E5MTNmNTlhZmE0N2UzY2IzYmM0ZjM4NmQ3MDQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CkBAIC0zLDEzICszLDE5IEBAIFRlc3QgdGhlIGF0dHJpYnV0ZSBvZiBGaWxlTGlzdC4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCi1TdGFydAorVGVzdCAwCiBQQVNTIGZpbGVz
Lmxlbmd0aCBpcyAyCiBQQVNTIGZpbGVzLml0ZW0oMCkgaW5zdGFuY2VvZiBGaWxlIGlzIHRydWUK
IFBBU1MgZmlsZXMuaXRlbSgwKS5uYW1lIGlzICJVVEY4LnR4dCIKIFBBU1MgZmlsZXMuaXRlbSgx
KSBpbnN0YW5jZW9mIEZpbGUgaXMgdHJ1ZQogUEFTUyBmaWxlcy5pdGVtKDEpLm5hbWUgaXMgIlVU
RjgtMi50eHQiCi1QQVNTIGZpbGVzLml0ZW0oOTk5KSBpcyBudWxsCitQQVNTIGZpbGVzLml0ZW0o
MikgaXMgbnVsbAorUEFTUyBmaWxlcy5pdGVtKC0xKSBpcyBudWxsCitQQVNTIGZpbGVzLml0ZW0o
bnVsbCkgaW5zdGFuY2VvZiBGaWxlIGlzIHRydWUKK1BBU1MgZmlsZXMuaXRlbShudWxsKS5uYW1l
IGlzICJVVEY4LnR4dCIKK1BBU1MgZmlsZXMuaXRlbSh1bmRlZmluZWQpIGluc3RhbmNlb2YgRmls
ZSBpcyB0cnVlCitQQVNTIGZpbGVzLml0ZW0odW5kZWZpbmVkKS5uYW1lIGlzICJVVEY4LnR4dCIK
K1Rlc3QgMQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtbGlzdC10ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2ZpbGUtbGlzdC10ZXN0Lmh0bWwKaW5kZXggNDM5NGVj
YTk1OWExZDczMDc5YzA1YTZmOGQwYTQ5MzE5ODhhZmI5ZS4uM2U0YmI4YWNiYTBmODFlNmIxMzdm
YjQ4MGJiZmQwOWQzYzExZmVjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9m
aWxlLWxpc3QtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0
LXRlc3QuaHRtbApAQCAtMTAsMjEgKzEwLDM4IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRl
c3QgdGhlIGF0dHJpYnV0ZSBvZiBGaWxlTGlzdC4iKTsKIAordmFyIGNhc2VBcnJheSA9IFtbInJl
c291cmNlcy9VVEY4LnR4dCIsICJyZXNvdXJjZXMvVVRGOC0yLnR4dCJdLCBbXV07Cit2YXIgY2Fz
ZUluZGV4ID0gMDsKKwogZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoZmlsZXMpCiB7CisgICAg
aWYgKGNhc2VBcnJheVtjYXNlSW5kZXhdLmxlbmd0aCA9PSAwKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoIm9uSW5wdXRGaWxlQ2hhbmdlIHdhcyBjYWxsZWQgZm9yIGFuIGVtcHR5IGZpbGUgbGlzdC4i
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICB3aW5kb3cuZmlsZXMgPSBmaWxlczsKLSAg
ICBkZWJ1ZygiU3RhcnQiKTsKICAgICBzaG91bGRCZSgiZmlsZXMubGVuZ3RoIiwgIjIiKTsKICAg
ICBzaG91bGRCZVRydWUoImZpbGVzLml0ZW0oMCkgaW5zdGFuY2VvZiBGaWxlIik7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdmaWxlcy5pdGVtKDApLm5hbWUnLCAnVVRGOC50eHQnKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVzLml0ZW0oMCkubmFtZSIsICJVVEY4LnR4dCIp
OwogICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbSgxKSBpbnN0YW5jZW9mIEZpbGUiKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZpbGVzLml0ZW0oMSkubmFtZScsICdVVEY4LTIudHh0
Jyk7Ci0gICAgc2hvdWxkQmVOdWxsKCJmaWxlcy5pdGVtKDk5OSkiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImZpbGVzLml0ZW0oMSkubmFtZSIsICJVVEY4LTIudHh0Iik7CisgICAgc2hv
dWxkQmVOdWxsKCJmaWxlcy5pdGVtKDIpIik7CisgICAgc2hvdWxkQmVOdWxsKCJmaWxlcy5pdGVt
KC0xKSIpOworICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbShudWxsKSBpbnN0YW5jZW9mIEZp
bGUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVzLml0ZW0obnVsbCkubmFtZSIs
ICJVVEY4LnR4dCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbSh1bmRlZmluZWQpIGlu
c3RhbmNlb2YgRmlsZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZXMuaXRlbSh1
bmRlZmluZWQpLm5hbWUiLCAiVVRGOC50eHQiKTsKKyAgICBkb1Rlc3QoKytjYXNlSW5kZXgpOwor
fQorCitmdW5jdGlvbiBkb1Rlc3QoaW5kZXgpIHsKKyAgICBkZWJ1ZygiVGVzdCAiICsgaW5kZXgp
OworICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhjYXNlQXJyYXlbaW5kZXhdKTsK
KyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMCwgMTApOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKIH0KIAotZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKFsncmVzb3VyY2Vz
L1VURjgudHh0JywgJ3Jlc291cmNlcy9VVEY4LTIudHh0J10pOwotZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMTAsIDEwKTsKLWV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK2RvVGVzdCgwKTsKIAogPC9z
Y3JpcHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145671</attachid>
            <date>2012-06-04 18:00:46 -0700</date>
            <delta_ts>2012-06-04 19:23:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77899-20120606090404.patch</filename>
            <type>text/plain</type>
            <size>4713</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmYzNiY2MyMGRlNGRm
YzZiNTFmMGY2YTE4NjY1NTgzYTczMmJkYS4uYTgxZDdhNGU1MThmMzQxYmFlOGE5YjFhM2NlMTE2
MGRkNWVjMmExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTAyICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIElFVEM6IEZpbGVMaXN0Lml0ZW0oLTEp
IHNob3VsZCByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSUVUQzogaHR0cDovL3NhbXBsZXMubXNkbi5t
aWNyb3NvZnQuY29tL2lldGVzdGNlbnRlci9maWxlYXBpL2ZpbGVsaXN0Lmh0bQorICAgICAgICBB
Y2Nyb2RpbmcgdG8gaHR0cDovL2VzNS5naXRodWIuY29tLyN4OS42CisgICAgICAgIFdoZW4gdGhl
IGluZGV4IGlzIG5lZ2F0aXZlLCBpdCBzaG91bGQgbm90IHJhaXNlIGV4Y2VwdGlvbi4KKyAgICAg
ICAgRmlyZWZveCBhbmQgSUUgcmV0dXJucyBudWxsIHdoZW4gdGhlcmUgaXMgbm90IGluZGV4dGgg
RmlsZSBvYmplY3QuCisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlcy9maWxlLWxpc3QtdGVzdC5o
dG1sCisKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVMaXN0LmlkbDoKKwogMjAxMi0wNS0yOSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBSZW5hbWUg
djhOdWxsKCkgdG8gdjhOdWxsV2l0aENoZWNrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5p
ZGwKaW5kZXggMGNkZjg2MTE2NDAwMzcwM2M3NmJlMjY5ZDgyOTY0NGE3MTU1ODdhMS4uMTQxMzlh
NzYzNWQzMzBkMDYwOWU1YzJjYzJlMWY5MTlmN2E0YzczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlTGlzdC5pZGwKQEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBKU05v
U3RhdGljVGFibGVzCiAgICAgXSBGaWxlTGlzdCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICAgICAgRmlsZSBpdGVtKGluIFtJc0luZGV4XSB1
bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAgICAgRmlsZSBpdGVtKGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMTdkMmQ1ZWM0ODNiYTMxZGNjMWJkYTJjZjk0
MWUyMzA5MmNiYTUzLi43NDc3NDQ3MmM2YTIwYTg2YmMwNTNjNTM4Zjg4Y2M1NTMyMDBiNjA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDYtMDIgIExpIFlpbiAgPGxpLnlpbkBpbnRlbC5j
b20+CisKKyAgICAgICAgSUVUQzogRmlsZUxpc3QuaXRlbSgtMSkgc2hvdWxkIHJldHVybiBudWxs
IGluc3RlYWQgb2YgcmFpc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzc4OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJRVRDOiBodHRwOi8vc2FtcGxlcy5tc2RuLm1pY3Jvc29mdC5jb20vaWV0ZXN0
Y2VudGVyL2ZpbGVhcGkvZmlsZWxpc3QuaHRtCisgICAgICAgIFJlZjogaHR0cDovL2VzNS5naXRo
dWIuY29tLyN4OS42CisgICAgICAgIFNvbWUgaW5kZXggdmFsdWVzIGhhdmUgYmVlbiBjb3ZlcmVk
IGluIHRoaXMgdGVzdCwgaW5jbHVkaW5nIG5lZ2F0aXZlIGluZGV4LAorICAgICAgICB1bmRlZmlu
ZWQsIG51bGwsIG5vcm1hbCBpbmRleCgwfmxlbmd0aC0xKSwgbW9yZSB0aGFuIGxlbmd0aCBpbmRl
eC4KKworICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRtbDoKKwogMjAxMi0wNS0yOSAg
Q2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAg
IFNvbWUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgY29uc29sZSBtZXNzYWdlcyBhcmUgbWlzc2lu
ZyBsaW5lIG51bWJlcnMgaW4gSlNDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L2ZpbGUtbGlzdC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmls
ZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDA3YWM4NzBlZGIzOTI5Y2E0YTAzNzI1YjRm
MDZhMjgxNTg5ZWVjNzcuLmY2YjA2NTEzYzhjM2I4OGU0OGRlMGZmMGUzNGU5NDQzZTAyMmJiZTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CkBAIC05LDcgKzksMTIgQEAgUEFTUyBmaWxlcy5pdGVtKDApIGluc3RhbmNlb2YgRmls
ZSBpcyB0cnVlCiBQQVNTIGZpbGVzLml0ZW0oMCkubmFtZSBpcyAiVVRGOC50eHQiCiBQQVNTIGZp
bGVzLml0ZW0oMSkgaW5zdGFuY2VvZiBGaWxlIGlzIHRydWUKIFBBU1MgZmlsZXMuaXRlbSgxKS5u
YW1lIGlzICJVVEY4LTIudHh0IgotUEFTUyBmaWxlcy5pdGVtKDk5OSkgaXMgbnVsbAorUEFTUyBm
aWxlcy5pdGVtKDIpIGlzIG51bGwKK1BBU1MgZmlsZXMuaXRlbSgtMSkgaXMgbnVsbAorUEFTUyBm
aWxlcy5pdGVtKG51bGwpIGluc3RhbmNlb2YgRmlsZSBpcyB0cnVlCitQQVNTIGZpbGVzLml0ZW0o
bnVsbCkubmFtZSBpcyAiVVRGOC50eHQiCitQQVNTIGZpbGVzLml0ZW0odW5kZWZpbmVkKSBpbnN0
YW5jZW9mIEZpbGUgaXMgdHJ1ZQorUEFTUyBmaWxlcy5pdGVtKHVuZGVmaW5lZCkubmFtZSBpcyAi
VVRGOC50eHQiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRtbAppbmRleCA0Mzk0
ZWNhOTU5YTFkNzMwNzljMDVhNmY4ZDBhNDkzMTk4OGFmYjllLi4xMWRhZWFkOGQ3M2I2ZjE1MTFm
ZjI0YTFiZjBjYTY1NDU5ODQ5ODI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L2ZpbGUtbGlzdC10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9maWxlLWxp
c3QtdGVzdC5odG1sCkBAIC0xMCwxOSArMTAsMjUgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigi
VGVzdCB0aGUgYXR0cmlidXRlIG9mIEZpbGVMaXN0LiIpOwogCitkZWJ1ZygiU3RhcnQiKTsKKwog
ZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoZmlsZXMpCiB7CiAgICAgd2luZG93LmZpbGVzID0g
ZmlsZXM7Ci0gICAgZGVidWcoIlN0YXJ0Iik7CiAgICAgc2hvdWxkQmUoImZpbGVzLmxlbmd0aCIs
ICIyIik7CiAgICAgc2hvdWxkQmVUcnVlKCJmaWxlcy5pdGVtKDApIGluc3RhbmNlb2YgRmlsZSIp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZmlsZXMuaXRlbSgwKS5uYW1lJywgJ1VURjgu
dHh0Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlcy5pdGVtKDApLm5hbWUiLCAi
VVRGOC50eHQiKTsKICAgICBzaG91bGRCZVRydWUoImZpbGVzLml0ZW0oMSkgaW5zdGFuY2VvZiBG
aWxlIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmaWxlcy5pdGVtKDEpLm5hbWUnLCAn
VVRGOC0yLnR4dCcpOwotICAgIHNob3VsZEJlTnVsbCgiZmlsZXMuaXRlbSg5OTkpIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlcy5pdGVtKDEpLm5hbWUiLCAiVVRGOC0yLnR4dCIp
OworICAgIHNob3VsZEJlTnVsbCgiZmlsZXMuaXRlbSgyKSIpOworICAgIHNob3VsZEJlTnVsbCgi
ZmlsZXMuaXRlbSgtMSkiKTsKKyAgICBzaG91bGRCZVRydWUoImZpbGVzLml0ZW0obnVsbCkgaW5z
dGFuY2VvZiBGaWxlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlcy5pdGVtKG51
bGwpLm5hbWUiLCAiVVRGOC50eHQiKTsKKyAgICBzaG91bGRCZVRydWUoImZpbGVzLml0ZW0odW5k
ZWZpbmVkKSBpbnN0YW5jZW9mIEZpbGUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZp
bGVzLml0ZW0odW5kZWZpbmVkKS5uYW1lIiwgIlVURjgudHh0Iik7CiB9CiAKLWV2ZW50U2VuZGVy
LmJlZ2luRHJhZ1dpdGhGaWxlcyhbJ3Jlc291cmNlcy9VVEY4LnR4dCcsICdyZXNvdXJjZXMvVVRG
OC0yLnR4dCddKTsKK2V2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhbInJlc291cmNlcy9V
VEY4LnR4dCIsICJyZXNvdXJjZXMvVVRGOC0yLnR4dCJdKTsKIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKDEwLCAxMCk7CiBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145680</attachid>
            <date>2012-06-04 19:23:36 -0700</date>
            <delta_ts>2012-06-05 01:13:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77899-20120606102654.patch</filename>
            <type>text/plain</type>
            <size>5211</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmYzNiY2MyMGRlNGRm
YzZiNTFmMGY2YTE4NjY1NTgzYTczMmJkYS4uYTgxZDdhNGU1MThmMzQxYmFlOGE5YjFhM2NlMTE2
MGRkNWVjMmExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTAyICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIElFVEM6IEZpbGVMaXN0Lml0ZW0oLTEp
IHNob3VsZCByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSUVUQzogaHR0cDovL3NhbXBsZXMubXNkbi5t
aWNyb3NvZnQuY29tL2lldGVzdGNlbnRlci9maWxlYXBpL2ZpbGVsaXN0Lmh0bQorICAgICAgICBB
Y2Nyb2RpbmcgdG8gaHR0cDovL2VzNS5naXRodWIuY29tLyN4OS42CisgICAgICAgIFdoZW4gdGhl
IGluZGV4IGlzIG5lZ2F0aXZlLCBpdCBzaG91bGQgbm90IHJhaXNlIGV4Y2VwdGlvbi4KKyAgICAg
ICAgRmlyZWZveCBhbmQgSUUgcmV0dXJucyBudWxsIHdoZW4gdGhlcmUgaXMgbm90IGluZGV4dGgg
RmlsZSBvYmplY3QuCisKKyAgICAgICAgVGVzdDogZmFzdC9maWxlcy9maWxlLWxpc3QtdGVzdC5o
dG1sCisKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVMaXN0LmlkbDoKKwogMjAxMi0wNS0yOSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBSZW5hbWUg
djhOdWxsKCkgdG8gdjhOdWxsV2l0aENoZWNrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5p
ZGwKaW5kZXggMGNkZjg2MTE2NDAwMzcwM2M3NmJlMjY5ZDgyOTY0NGE3MTU1ODdhMS4uMTQxMzlh
NzYzNWQzMzBkMDYwOWU1YzJjYzJlMWY5MTlmN2E0YzczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlTGlzdC5pZGwKQEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBKU05v
U3RhdGljVGFibGVzCiAgICAgXSBGaWxlTGlzdCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICAgICAgRmlsZSBpdGVtKGluIFtJc0luZGV4XSB1
bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAgICAgRmlsZSBpdGVtKGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMTdkMmQ1ZWM0ODNiYTMxZGNjMWJkYTJjZjk0
MWUyMzA5MmNiYTUzLi43NDc3NDQ3MmM2YTIwYTg2YmMwNTNjNTM4Zjg4Y2M1NTMyMDBiNjA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDYtMDIgIExpIFlpbiAgPGxpLnlpbkBpbnRlbC5j
b20+CisKKyAgICAgICAgSUVUQzogRmlsZUxpc3QuaXRlbSgtMSkgc2hvdWxkIHJldHVybiBudWxs
IGluc3RlYWQgb2YgcmFpc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzc4OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJRVRDOiBodHRwOi8vc2FtcGxlcy5tc2RuLm1pY3Jvc29mdC5jb20vaWV0ZXN0
Y2VudGVyL2ZpbGVhcGkvZmlsZWxpc3QuaHRtCisgICAgICAgIFJlZjogaHR0cDovL2VzNS5naXRo
dWIuY29tLyN4OS42CisgICAgICAgIFNvbWUgaW5kZXggdmFsdWVzIGhhdmUgYmVlbiBjb3ZlcmVk
IGluIHRoaXMgdGVzdCwgaW5jbHVkaW5nIG5lZ2F0aXZlIGluZGV4LAorICAgICAgICB1bmRlZmlu
ZWQsIG51bGwsIG5vcm1hbCBpbmRleCgwfmxlbmd0aC0xKSwgbW9yZSB0aGFuIGxlbmd0aCBpbmRl
eC4KKworICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRtbDoKKwogMjAxMi0wNS0yOSAg
Q2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAg
IFNvbWUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgY29uc29sZSBtZXNzYWdlcyBhcmUgbWlzc2lu
ZyBsaW5lIG51bWJlcnMgaW4gSlNDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L2ZpbGUtbGlzdC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmls
ZS1saXN0LXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDA3YWM4NzBlZGIzOTI5Y2E0YTAzNzI1YjRm
MDZhMjgxNTg5ZWVjNzcuLjVkMzIyZjU4MTdkYzI0YTE4N2I3MzQ3NWEwYjA3OWU5ZGJmYzQxODAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QtZXhwZWN0
ZWQudHh0CkBAIC05LDcgKzksMTYgQEAgUEFTUyBmaWxlcy5pdGVtKDApIGluc3RhbmNlb2YgRmls
ZSBpcyB0cnVlCiBQQVNTIGZpbGVzLml0ZW0oMCkubmFtZSBpcyAiVVRGOC50eHQiCiBQQVNTIGZp
bGVzLml0ZW0oMSkgaW5zdGFuY2VvZiBGaWxlIGlzIHRydWUKIFBBU1MgZmlsZXMuaXRlbSgxKS5u
YW1lIGlzICJVVEY4LTIudHh0IgotUEFTUyBmaWxlcy5pdGVtKDk5OSkgaXMgbnVsbAorUEFTUyBm
aWxlcy5pdGVtKDIpIGlzIG51bGwKK1BBU1MgZmlsZXMuaXRlbSgtMSkgaXMgbnVsbAorUEFTUyBm
aWxlcy5pdGVtKDApID09PSBmaWxlcy5pdGVtKDQyOTQ5NjcyOTYpIGlzIHRydWUKK1BBU1MgZmls
ZXMuaXRlbSgxKSA9PT0gZmlsZXMuaXRlbSg0Mjk0OTY3Mjk3KSBpcyB0cnVlCitQQVNTIGZpbGVz
Lml0ZW0oMikgPT09IGZpbGVzLml0ZW0oNDI5NDk2NzI5OCkgaXMgdHJ1ZQorUEFTUyBmaWxlcy5p
dGVtKC0xKSA9PT0gZmlsZXMuaXRlbSg0Mjk0OTY3Mjk1KSBpcyB0cnVlCitQQVNTIGZpbGVzLml0
ZW0oLTQyOTQ5NjcyOTUpID09PSBmaWxlcy5pdGVtKDEpIGlzIHRydWUKK1BBU1MgZmlsZXMuaXRl
bSgtNDI5NDk2NzI5NikgPT09IGZpbGVzLml0ZW0oMCkgaXMgdHJ1ZQorUEFTUyBmaWxlcy5pdGVt
KG51bGwpID09PSBmaWxlcy5pdGVtKDApIGlzIHRydWUKK1BBU1MgZmlsZXMuaXRlbSh1bmRlZmlu
ZWQpID09PSBmaWxlcy5pdGVtKDApIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxl
cy9maWxlLWxpc3QtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9maWxlLWxpc3Qt
dGVzdC5odG1sCmluZGV4IDQzOTRlY2E5NTlhMWQ3MzA3OWMwNWE2ZjhkMGE0OTMxOTg4YWZiOWUu
LjA1MTI1OGIyMDY2NWFhODg0ZWNkMGZlOTAyMDhjMDM5MDFmMmMzOWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXMvZmlsZS1saXN0LXRlc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzL2ZpbGUtbGlzdC10ZXN0Lmh0bWwKQEAgLTEwLDE5ICsxMCwyOSBAQAogPHNj
cmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IHRoZSBhdHRyaWJ1dGUgb2YgRmlsZUxpc3QuIik7CiAK
K2RlYnVnKCJTdGFydCIpOworCiBmdW5jdGlvbiBvbklucHV0RmlsZUNoYW5nZShmaWxlcykKIHsK
ICAgICB3aW5kb3cuZmlsZXMgPSBmaWxlczsKLSAgICBkZWJ1ZygiU3RhcnQiKTsKICAgICBzaG91
bGRCZSgiZmlsZXMubGVuZ3RoIiwgIjIiKTsKICAgICBzaG91bGRCZVRydWUoImZpbGVzLml0ZW0o
MCkgaW5zdGFuY2VvZiBGaWxlIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmaWxlcy5p
dGVtKDApLm5hbWUnLCAnVVRGOC50eHQnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZp
bGVzLml0ZW0oMCkubmFtZSIsICJVVEY4LnR4dCIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMu
aXRlbSgxKSBpbnN0YW5jZW9mIEZpbGUiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Zp
bGVzLml0ZW0oMSkubmFtZScsICdVVEY4LTIudHh0Jyk7Ci0gICAgc2hvdWxkQmVOdWxsKCJmaWxl
cy5pdGVtKDk5OSkiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVzLml0ZW0oMSku
bmFtZSIsICJVVEY4LTIudHh0Iik7CisgICAgc2hvdWxkQmVOdWxsKCJmaWxlcy5pdGVtKDIpIik7
CisgICAgc2hvdWxkQmVOdWxsKCJmaWxlcy5pdGVtKC0xKSIpOworICAgIHNob3VsZEJlVHJ1ZSgi
ZmlsZXMuaXRlbSgwKSA9PT0gZmlsZXMuaXRlbSg0Mjk0OTY3Mjk2KSIpOworICAgIHNob3VsZEJl
VHJ1ZSgiZmlsZXMuaXRlbSgxKSA9PT0gZmlsZXMuaXRlbSg0Mjk0OTY3Mjk3KSIpOworICAgIHNo
b3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbSgyKSA9PT0gZmlsZXMuaXRlbSg0Mjk0OTY3Mjk4KSIpOwor
ICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbSgtMSkgPT09IGZpbGVzLml0ZW0oNDI5NDk2NzI5
NSkiKTsKKyAgICBzaG91bGRCZVRydWUoImZpbGVzLml0ZW0oLTQyOTQ5NjcyOTUpID09PSBmaWxl
cy5pdGVtKDEpIik7CisgICAgc2hvdWxkQmVUcnVlKCJmaWxlcy5pdGVtKC00Mjk0OTY3Mjk2KSA9
PT0gZmlsZXMuaXRlbSgwKSIpOworICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbShudWxsKSA9
PT0gZmlsZXMuaXRlbSgwKSIpOworICAgIHNob3VsZEJlVHJ1ZSgiZmlsZXMuaXRlbSh1bmRlZmlu
ZWQpID09PSBmaWxlcy5pdGVtKDApIik7CiB9CiAKLWV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhG
aWxlcyhbJ3Jlc291cmNlcy9VVEY4LnR4dCcsICdyZXNvdXJjZXMvVVRGOC0yLnR4dCddKTsKK2V2
ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhbInJlc291cmNlcy9VVEY4LnR4dCIsICJyZXNv
dXJjZXMvVVRGOC0yLnR4dCJdKTsKIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwLCAxMCk7CiBl
dmVudFNlbmRlci5tb3VzZVVwKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>