<?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>92620</bug_id>
          
          <creation_ts>2012-07-30 01:52:30 -0700</creation_ts>
          <short_desc>Add test for decodeAudioData</short_desc>
          <delta_ts>2012-08-23 11:43:37 -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>Web Audio</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>1</everconfirmed>
          <reporter name="Li Yin">li.yin</reporter>
          <assigned_to name="Li Yin">li.yin</assigned_to>
          <cc>crogers</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>rtoy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>681778</commentid>
    <comment_count>0</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-07-30 01:52:30 -0700</bug_when>
    <thetext>Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioContext-section</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683974</commentid>
    <comment_count>1</comment_count>
      <attachid>155749</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 01:25:20 -0700</bug_when>
    <thetext>Created attachment 155749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683982</commentid>
    <comment_count>2</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 01:44:10 -0700</bug_when>
    <thetext>The purpose of designing this test is to check if callback function can be invoked correctly.
For the successCallback scenario, I can&apos;t find an audio file which can be decoded successfully in all platforms.

The test can work correctly in chromium-linux platform, but I don&apos;t verify the result in chromium-win.
In addition, the test is time out for chromium on MAC, I think the root cause is that it doesn&apos;t support ogg decoding.(If I am wrong, please feel free to correct me.)

Hi Raymond,
   You designed codec tests, could you please give some advices? Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683983</commentid>
    <comment_count>3</comment_count>
      <attachid>155753</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 01:49:10 -0700</bug_when>
    <thetext>Created attachment 155753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684125</commentid>
    <comment_count>4</comment_count>
      <attachid>155792</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 06:06:48 -0700</bug_when>
    <thetext>Created attachment 155792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684127</commentid>
    <comment_count>5</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 06:07:59 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; The purpose of designing this test is to check if callback function can be invoked correctly.
&gt; For the successCallback scenario, I can&apos;t find an audio file which can be decoded successfully in all platforms.

Sorry for the incorrect information, ogg format file should be decoded correctly for chromium on Linux, MAC and Windows.

&gt; 
&gt; The test can work correctly in chromium-linux platform, but I don&apos;t verify the result in chromium-win.
&gt; In addition, the test is time out for chromium on MAC, I think the root cause is that it doesn&apos;t support ogg decoding.(If I am wrong, please feel free to correct me.)

Sorry, the test can work correctly for chromium on MAC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684229</commentid>
    <comment_count>6</comment_count>
      <attachid>155792</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-08-01 09:21:56 -0700</bug_when>
    <thetext>Comment on attachment 155792
Patch

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

Just a few minor comments on implementation.  Otherwise, the test looks good.

&gt; LayoutTests/ChangeLog:14
&gt; +        * webaudio/resources/media/error-format.txt: Added.

Perhaps a more obvious name would be good.  Something like invalid-audio-file.txt.  

Might also be useful to have a real ogg (or mp3 or aac) file that we&apos;ve manually corrupted in some way.  There are also some Microsoft ADPCM wav files that we cannot decode because it&apos;s not supported by chromium.

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:36
&gt; +    debug(&quot;The &quot; + index + &quot; test: &quot; + decodeCaseArray[index][0]);

Is this debug needed?  I think it should be removed.  You can add this information in the testPassed/testFailed messages.

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:47
&gt; +                testPassed(&quot;successCallback has been called correctly.&quot;);

As mentioned above, the message can include information about the test.  I think that&apos;s better than the debug call above.

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:48
&gt; +                runDecodeTest(++index);

Do you need to call runDecodeTest here?  Can you just call runDecodeTest(1) at the end of the file?

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:51
&gt; +                finishedJSTest();

Can finishedJSTest() be called at the end of the file, after calling runDecodeTest(1)?

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:58
&gt; +                finishJSTest();

Same comment as for line 51.

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:61
&gt; +                runDecodeTest(++index);

Same comment as for line 48.

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:68
&gt; +runDecodeTest(0);

Can we just do

runDecodeTest(0);
runDecodeTest(1);
finishJSTest();

I think this makes it clearer which tests are being run.  It looks like with the current code, if runDecodeTest(0) fails, the remaining (one) test isn&apos;t run.  I think it&apos;s beneficial to see all the test run, independent of whether a previous tests fails or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684859</commentid>
    <comment_count>7</comment_count>
      <attachid>155944</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 18:41:24 -0700</bug_when>
    <thetext>Created attachment 155944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684879</commentid>
    <comment_count>8</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 19:01:13 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 155792 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155792&amp;action=review
&gt; 
&gt; Just a few minor comments on implementation.  Otherwise, the test looks good.
&gt; 
&gt; &gt; LayoutTests/ChangeLog:14
&gt; &gt; +        * webaudio/resources/media/error-format.txt: Added.
&gt; 
&gt; Perhaps a more obvious name would be good.  Something like invalid-audio-file.txt. 

Fixed.

&gt; 
&gt; Might also be useful to have a real ogg (or mp3 or aac) file that we&apos;ve manually corrupted in some way.  There are also some Microsoft ADPCM wav files that we cannot decode because it&apos;s not supported by chromium.
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:36
&gt; &gt; +    debug(&quot;The &quot; + index + &quot; test: &quot; + decodeCaseArray[index][0]);
&gt; 
&gt; Is this debug needed?  I think it should be removed.  You can add this information in the testPassed/testFailed messages.
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:47
&gt; &gt; +                testPassed(&quot;successCallback has been called correctly.&quot;);
&gt; 
&gt; As mentioned above, the message can include information about the test.  I think that&apos;s better than the debug call above.
&gt; 

Fixed.

&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:48
&gt; &gt; +                runDecodeTest(++index);
&gt; 
&gt; Do you need to call runDecodeTest here?  Can you just call runDecodeTest(1) at the end of the file?
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:51
&gt; &gt; +                finishedJSTest();
&gt; 
&gt; Can finishedJSTest() be called at the end of the file, after calling runDecodeTest(1)?
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:58
&gt; &gt; +                finishJSTest();
&gt; 
&gt; Same comment as for line 51.
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:61
&gt; &gt; +                runDecodeTest(++index);
&gt; 
&gt; Same comment as for line 48.
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:68
&gt; &gt; +runDecodeTest(0);
&gt; 
&gt; Can we just do
&gt; 
&gt; runDecodeTest(0);
&gt; runDecodeTest(1);
&gt; finishJSTest();
&gt; 
&gt; I think this makes it clearer which tests are being run.  It looks like with the current code, if runDecodeTest(0) fails, the remaining (one) test isn&apos;t run.  I think it&apos;s beneficial to see all the test run, independent of whether a previous tests fails or not.

Fixed, I agree with you that it is better to run all the test no matter what is failed. In addition, I want to let the tests run one by one, and another test can be run after the callback is invoked.
So I will keep it unchanged. And I think it is better for the expandablity.
And in some other module such as WebSocket, this style is often used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684883</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-08-01 19:07:57 -0700</bug_when>
    <thetext>Li, great test!  I haven&apos;t looked fully at the patch yet, but would highly recommend using a .wav file instead of .ogg as the success case.  Not all ports (like the mac port) support .ogg, but most would support .wav</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684908</commentid>
    <comment_count>10</comment_count>
      <attachid>155953</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 19:32:54 -0700</bug_when>
    <thetext>Created attachment 155953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684910</commentid>
    <comment_count>11</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-01 19:34:30 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Li, great test!  I haven&apos;t looked fully at the patch yet, but would highly recommend using a .wav file instead of .ogg as the success case.  Not all ports (like the mac port) support .ogg, but most would support .wav

Fixed. Thanks for your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685686</commentid>
    <comment_count>12</comment_count>
      <attachid>155953</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-08-02 12:41:36 -0700</bug_when>
    <thetext>Comment on attachment 155953
Patch

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

Looks good to me, except for a couple of really minor nits.  Don&apos;t have to fix them if you don&apos;t want to.

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:47
&gt; +                testFailed(&quot;The &quot; + decodeCaseArray[index][0] + &quot; test: successCallback should be called.&quot;);

Maybe be more forceful and say 

successCallback was not called.

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:54
&gt; +                testFailed(&quot;The &quot; + decodeCaseArray[index][0] + &quot; test: errorCallback should not be called.&quot;);

Maybe be more forceful:

errorCallback was incorrectly called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686057</commentid>
    <comment_count>13</comment_count>
      <attachid>156221</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-02 17:57:30 -0700</bug_when>
    <thetext>Created attachment 156221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686059</commentid>
    <comment_count>14</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-02 17:58:53 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 155953 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155953&amp;action=review
&gt; 
&gt; Looks good to me, except for a couple of really minor nits.  Don&apos;t have to fix them if you don&apos;t want to.
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:47
&gt; &gt; +                testFailed(&quot;The &quot; + decodeCaseArray[index][0] + &quot; test: successCallback should be called.&quot;);
&gt; 
&gt; Maybe be more forceful and say 
&gt; 
&gt; successCallback was not called.
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:54
&gt; &gt; +                testFailed(&quot;The &quot; + decodeCaseArray[index][0] + &quot; test: errorCallback should not be called.&quot;);
&gt; 
&gt; Maybe be more forceful:
&gt; 
&gt; errorCallback was incorrectly called.

Fixed. Thanks for your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686110</commentid>
    <comment_count>15</comment_count>
      <attachid>156221</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-08-02 18:54:14 -0700</bug_when>
    <thetext>Comment on attachment 156221
Patch

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

Looks good overall:

&gt; LayoutTests/webaudio/decode-audio-data-basic.html:28
&gt; +                       [&quot;resources/media/invalid-audio-file.txt&quot;, false]];

I think a JSON format might be better, something like:

[[url:&quot;resources/media/24bit-44khz.wav&quot;, result:true], ...

Because it will make the test code below easier to read</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686138</commentid>
    <comment_count>16</comment_count>
      <attachid>156240</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-02 19:19:55 -0700</bug_when>
    <thetext>Created attachment 156240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686140</commentid>
    <comment_count>17</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-02 19:21:25 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 156221 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=156221&amp;action=review
&gt; 
&gt; Looks good overall:
&gt; 
&gt; &gt; LayoutTests/webaudio/decode-audio-data-basic.html:28
&gt; &gt; +                       [&quot;resources/media/invalid-audio-file.txt&quot;, false]];
&gt; 
&gt; I think a JSON format might be better, something like:
&gt; 
&gt; [[url:&quot;resources/media/24bit-44khz.wav&quot;, result:true], ...
&gt; 
&gt; Because it will make the test code below easier to read

Fixed. They indeed make test be easier to read. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702763</commentid>
    <comment_count>18</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-08-23 00:27:21 -0700</bug_when>
    <thetext>Hi Chris,
   Could you please give an official r+ and c+ if there are no issues? Please feel free to let me know if something is still needed to improved. Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703162</commentid>
    <comment_count>19</comment_count>
      <attachid>156240</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-08-23 11:07:13 -0700</bug_when>
    <thetext>Comment on attachment 156240
Patch

Thanks Li!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703197</commentid>
    <comment_count>20</comment_count>
      <attachid>156240</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 11:43:33 -0700</bug_when>
    <thetext>Comment on attachment 156240
Patch

Clearing flags on attachment: 156240

Committed r126458: &lt;http://trac.webkit.org/changeset/126458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703198</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 11:43:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155749</attachid>
            <date>2012-08-01 01:25:20 -0700</date>
            <delta_ts>2012-08-01 01:49:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92620-20120802162953.patch</filename>
            <type>text/plain</type>
            <size>4877</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mjc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA1MjNkZmUxMTcwZjFjMjUxNTgy
ZTUyZjJiMGYzZjk2MTk1ZWRmNC4uMzBhODljNTFmYWYyNTIzMzMwZDI2ZmY1MzExMjkxYTgzNTE2
MDE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTAyICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBkZWNvZGVBdWRpb0RhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5o
dG1sI0F1ZGlvQ29udGV4dC1zZWN0aW9uCisgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgaWYgc3Vj
Y2Vzc0NhbGxiYWNrIG9yIGVycm9yQ2FsbGJhY2sgY2FuIGJlIGludm9rZWQgY29ycmVjdGx5IHdo
ZW4KKyAgICAgICAgdGhlcmUgaXMgYSBjb3JyZWN0IG9yIGVycm9yIGRlY29kaW5nLgorCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiB3ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6IEFkZGVkLgorCiAyMDEy
LTA3LTMxICBMdWtlIE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSGVhcC11c2UtYWZ0ZXItZnJlZSBpbiBXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpsb2Fk
UGVuZGluZ0ltYWdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBmNWM1MjdiY2UyMWZiOWVkODc1OWFmZGI4ODg4ZmExN2ZmNWE4NTkwLi40
YjdiMTNjYzNlOGM3MTU5NThjZDFmOTI0ZDA3OTg3NmQzYzA0NWZhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1NzcsMyArMzU3Nyw1
IEBAIEJVR0NSMTMxMTg5IDogcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC50cmFuc2Zvcm1hdGlvCiAKIC8vIE5lZWRzIHJlYmFzZWxpbmUKIEJVR1dL
OTI1MzcgOiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY3NzLWtleXdvcmQtYXMt
cGFyYW1ldGVyLW5hbWUuaHRtbCA9IElNQUdFCisKK0JVR1dLOTI2MjAgTUFDIDogd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbCA9IFRJTUVPVVQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wNmFkOTQ3NDdjMTNlMDhiYzkzOTRmN2VmNjk1NGZlYTg3ZjJmZjBhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFz
aWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK0Jhc2ljIHRlc3RzIGZvciBkZWNvZGVB
dWRpb0RhdGEgZnVuY3Rpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGRlY29kZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVm
ZmVyIHBhcmFtZXRlciBpcyBudWxsLgorVGhlIDAgdGVzdDogcmVzb3VyY2VzL21lZGlhL3Zici0x
MjhrYnBzLTQ0a2h6Lm9nZworUEFTUyBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNv
cnJlY3RseS4KK1RoZSAxIHRlc3Q6IHJlc291cmNlcy9tZWRpYS9lcnJvci1mb3JtYXQudHh0CitQ
QVNTIGVycm9yQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzkx
MTgyNjlhYTMzNzAyZGQ4MzFjYTNjNDUzMTEwNmQ3MjE5ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtMCww
ICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIHRl
c3RzIGZvciBkZWNvZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7CisKK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworfQorICAgIAord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgY29udGV4dCA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKwordHJ5IHsKKyAgICBjb250
ZXh0LmRlY29kZUF1ZGlvRGF0YShudWxsLCBmdW5jdGlvbigpe30sIGZ1bmN0aW9uKCl7fSk7Cisg
ICAgdGVzdEZhaWxlZCgiZGVjb2RlQXVkaW9EYXRhIHNob3VsZCByYWlzZSBleGNlcHRpb24gd2hl
biBhcnJheWJ1ZmZlciBwYXJhbWV0ZXIgaXMgbnVsbC4iKTsKK30gY2F0Y2goZSkgeworICAgIHRl
c3RQYXNzZWQoImRlY29kZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVu
IGFycmF5YnVmZmVyIHBhcmFtZXRlciBpcyBudWxsLiIpOworfQorCit2YXIgZGVjb2RlQ2FzZUFy
cmF5ID0gW1sicmVzb3VyY2VzL21lZGlhL3Zici0xMjhrYnBzLTQ0a2h6Lm9nZyIsIHRydWVdLAor
ICAgICAgICAgICAgICAgICAgICAgICBbInJlc291cmNlcy9tZWRpYS9lcnJvci1mb3JtYXQudHh0
IiwgZmFsc2VdXTsKKworZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgeworICAgIGlmIChp
bmRleCA+PSBkZWNvZGVDYXNlQXJyYXkubGVuZ3RoKSB7CisgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZGVidWcoIlRoZSAiICsgaW5kZXggKyAi
IHRlc3Q6ICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdWzBdKTsKKyAgICAKKyAgICB2YXIgcmVx
dWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVj
b2RlQ2FzZUFycmF5W2luZGV4XVswXSwgdHJ1ZSk7CisgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUg
PSAiYXJyYXlidWZmZXIiOworICAgIAorICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7
CisgICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1Y2Nl
c3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBz
dWNjZXNzQ2FsbGJhY2soKSB7CisgICAgICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4
XVsxXSkgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoInN1Y2Nlc3NDYWxsYmFjayBoYXMg
YmVlbiBjYWxsZWQgY29ycmVjdGx5LiIpOworICAgICAgICAgICAgICAgIHJ1bkRlY29kZVRlc3Qo
KytpbmRleCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoInN1Y2Nlc3NDYWxsYmFjayBzaG91bGQgYmUgY2FsbGVkLiIpOworICAgICAgICAgICAgICAg
IGZpbmlzaGVkSlNUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2soKSB7CisgICAgICAgICAgICBpZiAoZGVjb2Rl
Q2FzZUFycmF5W2luZGV4XVsxXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImVycm9y
Q2FsbGJhY2sgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CisgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoImVycm9yQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKKyAgICAgICAg
ICAgICAgICBydW5EZWNvZGVUZXN0KCsraW5kZXgpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorICAgIHJlcXVlc3Quc2VuZCgpOworfQorCitydW5EZWNvZGVUZXN0KDApOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155753</attachid>
            <date>2012-08-01 01:49:10 -0700</date>
            <delta_ts>2012-08-01 06:06:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92620-20120802165344.patch</filename>
            <type>text/plain</type>
            <size>5282</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mjc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA1MjNkZmUxMTcwZjFjMjUxNTgy
ZTUyZjJiMGYzZjk2MTk1ZWRmNC4uM2E2MDAzNWNiODMzMjcxZWNmNWJjZjMwM2QzMmVjN2YyYmVh
NjliMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTAyICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBkZWNvZGVBdWRpb0RhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5o
dG1sI0F1ZGlvQ29udGV4dC1zZWN0aW9uCisgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgaWYgc3Vj
Y2Vzc0NhbGxiYWNrIG9yIGVycm9yQ2FsbGJhY2sgY2FuIGJlIGludm9rZWQgY29ycmVjdGx5IHdo
ZW4KKyAgICAgICAgdGhlcmUgaXMgYSBjb3JyZWN0IG9yIGVycm9yIGRlY29kaW5nLgorCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiB3ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9lcnJvci1mb3JtYXQudHh0OiBBZGRlZC4KKwog
MjAxMi0wNy0zMSAgTHVrZSBNYWNwaGVyc29uICAgPG1hY3BoZXJzb25AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEhlYXAtdXNlLWFmdGVyLWZyZWUgaW4gV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6
bG9hZFBlbmRpbmdJbWFnZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggZjVjNTI3YmNlMjFmYjllZDg3NTlhZmRiODg4OGZhMTdmZjVhODU5
MC4uNGI3YjEzY2MzZThjNzE1OTU4Y2QxZjkyNGQwNzk4NzZkM2MwNDVmYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNTc3LDMgKzM1
NzcsNSBAQCBCVUdDUjEzMTE4OSA6IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2NhbnZh
cy9waGlsaXAvdGVzdHMvMmQudHJhbnNmb3JtYXRpbwogCiAvLyBOZWVkcyByZWJhc2VsaW5lCiBC
VUdXSzkyNTM3IDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNzcy1rZXl3b3Jk
LWFzLXBhcmFtZXRlci1uYW1lLmh0bWwgPSBJTUFHRQorCitCVUdXSzkyNjIwIE1BQyA6IHdlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwgPSBUSU1FT1VUCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDZhZDk0NzQ3YzEzZTA4YmM5Mzk0ZjdlZjY5NTRmZWE4N2YyZmYwYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRh
LWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitCYXNpYyB0ZXN0cyBmb3IgZGVj
b2RlQXVkaW9EYXRhIGZ1bmN0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBkZWNvZGVBdWRpb0RhdGEgcmFpc2VzIGV4Y2VwdGlvbiBjb3JyZWN0bHkgd2hlbiBhcnJh
eWJ1ZmZlciBwYXJhbWV0ZXIgaXMgbnVsbC4KK1RoZSAwIHRlc3Q6IHJlc291cmNlcy9tZWRpYS92
YnItMTI4a2Jwcy00NGtoei5vZ2cKK1BBU1Mgc3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxl
ZCBjb3JyZWN0bHkuCitUaGUgMSB0ZXN0OiByZXNvdXJjZXMvbWVkaWEvZXJyb3ItZm9ybWF0LnR4
dAorUEFTUyBlcnJvckNhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCBjb3JyZWN0bHkuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Yzc5MTE4MjY5YWEzMzcwMmRkODMxY2EzYzQ1MzExMDZkNzIxOTg0NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwKQEAg
LTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNp
YyB0ZXN0cyBmb3IgZGVjb2RlQXVkaW9EYXRhIGZ1bmN0aW9uLiIpOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKK30KKyAgICAKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KwordmFyIGNvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7CisKK3RyeSB7CisgICAg
Y29udGV4dC5kZWNvZGVBdWRpb0RhdGEobnVsbCwgZnVuY3Rpb24oKXt9LCBmdW5jdGlvbigpe30p
OworICAgIHRlc3RGYWlsZWQoImRlY29kZUF1ZGlvRGF0YSBzaG91bGQgcmFpc2UgZXhjZXB0aW9u
IHdoZW4gYXJyYXlidWZmZXIgcGFyYW1ldGVyIGlzIG51bGwuIik7Cit9IGNhdGNoKGUpIHsKKyAg
ICB0ZXN0UGFzc2VkKCJkZWNvZGVBdWRpb0RhdGEgcmFpc2VzIGV4Y2VwdGlvbiBjb3JyZWN0bHkg
d2hlbiBhcnJheWJ1ZmZlciBwYXJhbWV0ZXIgaXMgbnVsbC4iKTsKK30KKwordmFyIGRlY29kZUNh
c2VBcnJheSA9IFtbInJlc291cmNlcy9tZWRpYS92YnItMTI4a2Jwcy00NGtoei5vZ2ciLCB0cnVl
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgWyJyZXNvdXJjZXMvbWVkaWEvZXJyb3ItZm9ybWF0
LnR4dCIsIGZhbHNlXV07CisKK2Z1bmN0aW9uIHJ1bkRlY29kZVRlc3QoaW5kZXgpIHsKKyAgICBp
ZiAoaW5kZXggPj0gZGVjb2RlQ2FzZUFycmF5Lmxlbmd0aCkgeworICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGRlYnVnKCJUaGUgIiArIGluZGV4
ICsgIiB0ZXN0OiAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XVswXSk7CisgICAgCisgICAgdmFy
IHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICByZXF1ZXN0Lm9wZW4oIkdFVCIs
IGRlY29kZUNhc2VBcnJheVtpbmRleF1bMF0sIHRydWUpOworICAgIHJlcXVlc3QucmVzcG9uc2VU
eXBlID0gImFycmF5YnVmZmVyIjsKKyAgICAKKyAgICByZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkgeworICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlvRGF0YShyZXF1ZXN0LnJlc3BvbnNlLCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgICAgICAKKyAgICAgICAgZnVuY3Rp
b24gc3VjY2Vzc0NhbGxiYWNrKCkgeworICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtp
bmRleF1bMV0pIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJzdWNjZXNzQ2FsbGJhY2sg
aGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKKyAgICAgICAgICAgICAgICBydW5EZWNvZGVU
ZXN0KCsraW5kZXgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJzdWNjZXNzQ2FsbGJhY2sgc2hvdWxkIGJlIGNhbGxlZC4iKTsKKyAgICAgICAgICAg
ICAgICBmaW5pc2hlZEpTVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IAorICAgICAgICBmdW5jdGlvbiBlcnJvckNhbGxiYWNrKCkgeworICAgICAgICAgICAgaWYgKGRl
Y29kZUNhc2VBcnJheVtpbmRleF1bMV0pIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJl
cnJvckNhbGxiYWNrIHNob3VsZCBub3QgYmUgY2FsbGVkLiIpOworICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJlcnJvckNhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCBjb3JyZWN0bHkuIik7CisgICAg
ICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2luZGV4KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KKyAgICByZXF1ZXN0LnNlbmQoKTsKK30KKworcnVuRGVjb2RlVGVzdCgwKTsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9lcnJvci1mb3JtYXQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL2Vycm9yLWZvcm1hdC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTM1ODMxYjg0ZGE2NjBhYjk3ZDQ4NWIyZWY0NGRhZjM5Yjk4NWFkYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9lcnJvci1mb3JtYXQudHh0
CkBAIC0wLDAgKzEgQEAKK0luY29ycmVjdCBBdWRpbyBGaWxlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155792</attachid>
            <date>2012-08-01 06:06:48 -0700</date>
            <delta_ts>2012-08-01 18:41:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92620-20120802211122.patch</filename>
            <type>text/plain</type>
            <size>4639</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mjc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA1MjNkZmUxMTcwZjFjMjUxNTgy
ZTUyZjJiMGYzZjk2MTk1ZWRmNC4uNWYwMTIyOTc0YTRmYThmYTU5ZmI1YTMyMTdhOTg2YmZmYTA1
ODQ5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTAyICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBkZWNvZGVBdWRpb0RhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5o
dG1sI0F1ZGlvQ29udGV4dC1zZWN0aW9uCisgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgaWYgc3Vj
Y2Vzc0NhbGxiYWNrIG9yIGVycm9yQ2FsbGJhY2sgY2FuIGJlIGludm9rZWQgY29ycmVjdGx5IHdo
ZW4KKyAgICAgICAgdGhlcmUgaXMgYSBjb3JyZWN0IG9yIGVycm9yIGRlY29kaW5nLgorCisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvZXJyb3ItZm9ybWF0LnR4dDog
QWRkZWQuCisKIDIwMTItMDctMzEgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBIZWFwLXVzZS1hZnRlci1mcmVlIGluIFdlYkNvcmU6OlN0eWxl
UmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1
ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
NmFkOTQ3NDdjMTNlMDhiYzkzOTRmN2VmNjk1NGZlYTg3ZjJmZjBhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTQgQEAKK0Jhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRpb0RhdGEgZnVu
Y3Rpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRlY29kZUF1ZGlv
RGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVyIHBhcmFtZXRl
ciBpcyBudWxsLgorVGhlIDAgdGVzdDogcmVzb3VyY2VzL21lZGlhL3Zici0xMjhrYnBzLTQ0a2h6
Lm9nZworUEFTUyBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1Ro
ZSAxIHRlc3Q6IHJlc291cmNlcy9tZWRpYS9lcnJvci1mb3JtYXQudHh0CitQQVNTIGVycm9yQ2Fs
bGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzkxMTgyNjlhYTMzNzAy
ZGQ4MzFjYTNjNDUzMTEwNmQ3MjE5ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtMCwwICsxLDczIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNv
ZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworfQorICAgIAord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29udGV4dCA9
IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKwordHJ5IHsKKyAgICBjb250ZXh0LmRlY29kZUF1
ZGlvRGF0YShudWxsLCBmdW5jdGlvbigpe30sIGZ1bmN0aW9uKCl7fSk7CisgICAgdGVzdEZhaWxl
ZCgiZGVjb2RlQXVkaW9EYXRhIHNob3VsZCByYWlzZSBleGNlcHRpb24gd2hlbiBhcnJheWJ1ZmZl
ciBwYXJhbWV0ZXIgaXMgbnVsbC4iKTsKK30gY2F0Y2goZSkgeworICAgIHRlc3RQYXNzZWQoImRl
Y29kZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVy
IHBhcmFtZXRlciBpcyBudWxsLiIpOworfQorCit2YXIgZGVjb2RlQ2FzZUFycmF5ID0gW1sicmVz
b3VyY2VzL21lZGlhL3Zici0xMjhrYnBzLTQ0a2h6Lm9nZyIsIHRydWVdLAorICAgICAgICAgICAg
ICAgICAgICAgICBbInJlc291cmNlcy9tZWRpYS9lcnJvci1mb3JtYXQudHh0IiwgZmFsc2VdXTsK
KworZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgeworICAgIGlmIChpbmRleCA+PSBkZWNv
ZGVDYXNlQXJyYXkubGVuZ3RoKSB7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgZGVidWcoIlRoZSAiICsgaW5kZXggKyAiIHRlc3Q6ICIgKyBk
ZWNvZGVDYXNlQXJyYXlbaW5kZXhdWzBdKTsKKyAgICAKKyAgICB2YXIgcmVxdWVzdCA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVjb2RlQ2FzZUFycmF5
W2luZGV4XVswXSwgdHJ1ZSk7CisgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZm
ZXIiOworICAgIAorICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGNv
bnRleHQuZGVjb2RlQXVkaW9EYXRhKHJlcXVlc3QucmVzcG9uc2UsIHN1Y2Nlc3NDYWxsYmFjaywg
ZXJyb3JDYWxsYmFjayk7CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJh
Y2soKSB7CisgICAgICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XVsxXSkgeworICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoInN1Y2Nlc3NDYWxsYmFjayBoYXMgYmVlbiBjYWxsZWQg
Y29ycmVjdGx5LiIpOworICAgICAgICAgICAgICAgIHJ1bkRlY29kZVRlc3QoKytpbmRleCk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoInN1Y2Nlc3ND
YWxsYmFjayBzaG91bGQgYmUgY2FsbGVkLiIpOworICAgICAgICAgICAgICAgIGZpbmlzaGVkSlNU
ZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0
aW9uIGVycm9yQ2FsbGJhY2soKSB7CisgICAgICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2lu
ZGV4XVsxXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImVycm9yQ2FsbGJhY2sgc2hv
dWxkIG5vdCBiZSBjYWxsZWQuIik7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoImVycm9yQ2Fs
bGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKKyAgICAgICAgICAgICAgICBydW5E
ZWNvZGVUZXN0KCsraW5kZXgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAg
IHJlcXVlc3Quc2VuZCgpOworfQorCitydW5EZWNvZGVUZXN0KDApOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVz
b3VyY2VzL21lZGlhL2Vycm9yLWZvcm1hdC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNv
dXJjZXMvbWVkaWEvZXJyb3ItZm9ybWF0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzU4MzFiODRkYTY2MGFi
OTdkNDg1YjJlZjQ0ZGFmMzliOTg1YWRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL2Vycm9yLWZvcm1hdC50eHQKQEAgLTAsMCArMSBAQAor
SW5jb3JyZWN0IEF1ZGlvIEZpbGUuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155944</attachid>
            <date>2012-08-01 18:41:24 -0700</date>
            <delta_ts>2012-08-01 19:32:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92620-20120803094557.patch</filename>
            <type>text/plain</type>
            <size>4517</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mjc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA1MjNkZmUxMTcwZjFjMjUxNTgy
ZTUyZjJiMGYzZjk2MTk1ZWRmNC4uMjgwZmRlYTQxNmUxNWEwZDBlMmMwZDIxNWEzYjczNmVhMGM1
MWEyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTAyICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBkZWNvZGVBdWRpb0RhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5o
dG1sI0F1ZGlvQ29udGV4dC1zZWN0aW9uCisgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgaWYgc3Vj
Y2Vzc0NhbGxiYWNrIG9yIGVycm9yQ2FsbGJhY2sgY2FuIGJlIGludm9rZWQgY29ycmVjdGx5IHdo
ZW4KKyAgICAgICAgdGhlcmUgaXMgYSBjb3JyZWN0IG9yIGVycm9yIGRlY29kaW5nLgorCisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvaW52YWxpZC1hdWRpby1maWxl
LnR4dDogQWRkZWQuCisKIDIwMTItMDctMzEgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29u
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBIZWFwLXVzZS1hZnRlci1mcmVlIGluIFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yOWI3OTJmZTA4ZDVlZDMyZDU2NmRhMGIzNmQyZGNiZDBhZjExNGM0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Jhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRpb0Rh
dGEgZnVuY3Rpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRlY29k
ZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVyIHBh
cmFtZXRlciBpcyBudWxsLgorUEFTUyBUaGUgMCB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJl
ZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1MgVGhlIDEgdGVzdDogZXJyb3JDYWxsYmFjayBoYXMg
YmVlbiBjYWxsZWQgY29ycmVjdGx5LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlY29k
ZS1hdWRpby1kYXRhLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWNvZGUtYXVk
aW8tZGF0YS1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMGI4NGI2MzQxMTE0ZTVhY2FhMTExOWEx
ZDBhZmU4NWI2MjQ1OTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9k
ZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdHMgZm9yIGRlY29kZUF1ZGlvRGF0
YSBmdW5jdGlvbi4iKTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisgICAg
Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBjb250ZXh0ID0gbmV3IHdlYmtp
dEF1ZGlvQ29udGV4dCgpOworCit0cnkgeworICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRhKG51
bGwsIGZ1bmN0aW9uKCl7fSwgZnVuY3Rpb24oKXt9KTsKKyAgICB0ZXN0RmFpbGVkKCJkZWNvZGVB
dWRpb0RhdGEgc2hvdWxkIHJhaXNlIGV4Y2VwdGlvbiB3aGVuIGFycmF5YnVmZmVyIHBhcmFtZXRl
ciBpcyBudWxsLiIpOworfSBjYXRjaChlKSB7CisgICAgdGVzdFBhc3NlZCgiZGVjb2RlQXVkaW9E
YXRhIHJhaXNlcyBleGNlcHRpb24gY29ycmVjdGx5IHdoZW4gYXJyYXlidWZmZXIgcGFyYW1ldGVy
IGlzIG51bGwuIik7Cit9CisKK3ZhciBkZWNvZGVDYXNlQXJyYXkgPSBbWyJyZXNvdXJjZXMvbWVk
aWEvdmJyLTEyOGticHMtNDRraHoub2dnIiwgdHJ1ZV0sCisgICAgICAgICAgICAgICAgICAgICAg
IFsicmVzb3VyY2VzL21lZGlhL2ludmFsaWQtYXVkaW8tZmlsZS50eHQiLCBmYWxzZV1dOworCitm
dW5jdGlvbiBydW5EZWNvZGVUZXN0KGluZGV4KSB7CisgICAgaWYgKGluZGV4ID49IGRlY29kZUNh
c2VBcnJheS5sZW5ndGgpIHsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAg
IHJlcXVlc3Qub3BlbigiR0VUIiwgZGVjb2RlQ2FzZUFycmF5W2luZGV4XVswXSwgdHJ1ZSk7Cisg
ICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOworICAgIAorICAgIHJlcXVl
c3Qub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnRleHQuZGVjb2RlQXVkaW9EYXRh
KHJlcXVlc3QucmVzcG9uc2UsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CisgICAg
ICAgIAorICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKSB7CisgICAgICAgICAgICBp
ZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XVsxXSkKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJUaGUgIiArIGluZGV4ICsgICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxl
ZCBjb3JyZWN0bHkuIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGhlICIgKyBpbmRleCArICIgdGVzdDogc3VjY2Vzc0NhbGxiYWNrIHNob3VsZCBiZSBj
YWxsZWQuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJ1bkRlY29kZVRlc3QoKytpbmRl
eCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2so
KSB7CisgICAgICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XVsxXSkKKyAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJUaGUgIiArIGluZGV4ICsgIiB0ZXN0OiBlcnJvckNhbGxiYWNr
IHNob3VsZCBub3QgYmUgY2FsbGVkLiIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIHRlc3RQYXNzZWQoIlRoZSAiICsgaW5kZXggKyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgaGFz
IGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKKworICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgr
K2luZGV4KTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXF1ZXN0LnNlbmQoKTsKK30KKworcnVu
RGVjb2RlVGVzdCgwKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlv
LWZpbGUudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlhL2ludmFsaWQt
YXVkaW8tZmlsZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM1ODMxYjg0ZGE2NjBhYjk3ZDQ4NWIyZWY0NGRh
ZjM5Yjk4NWFkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291
cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0CkBAIC0wLDAgKzEgQEAKK0luY29ycmVj
dCBBdWRpbyBGaWxlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155953</attachid>
            <date>2012-08-01 19:32:54 -0700</date>
            <delta_ts>2012-08-02 17:57:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92620-20120803103727.patch</filename>
            <type>text/plain</type>
            <size>4658</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mjc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA1MjNkZmUxMTcwZjFjMjUxNTgy
ZTUyZjJiMGYzZjk2MTk1ZWRmNC4uMjgwZmRlYTQxNmUxNWEwZDBlMmMwZDIxNWEzYjczNmVhMGM1
MWEyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTAyICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBkZWNvZGVBdWRpb0RhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5o
dG1sI0F1ZGlvQ29udGV4dC1zZWN0aW9uCisgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgaWYgc3Vj
Y2Vzc0NhbGxiYWNrIG9yIGVycm9yQ2FsbGJhY2sgY2FuIGJlIGludm9rZWQgY29ycmVjdGx5IHdo
ZW4KKyAgICAgICAgdGhlcmUgaXMgYSBjb3JyZWN0IG9yIGVycm9yIGRlY29kaW5nLgorCisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvaW52YWxpZC1hdWRpby1maWxl
LnR4dDogQWRkZWQuCisKIDIwMTItMDctMzEgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29u
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBIZWFwLXVzZS1hZnRlci1mcmVlIGluIFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45YjVhNjI4MmYwNGVjODZjMWQ3Nzc4ODE0YTU0ZjUxODdkNWZjMDU3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Jhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRpb0Rh
dGEgZnVuY3Rpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRlY29k
ZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVyIHBh
cmFtZXRlciBpcyBudWxsLgorUEFTUyBUaGUgcmVzb3VyY2VzL21lZGlhLzI0Yml0LTQ0a2h6Lndh
diB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mg
VGhlIHJlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IHRlc3Q6IGVycm9yQ2Fs
bGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjVhZmQwYjQxOTQ2OTgy
ZjE5NWNiNjVlZjE5NzkxZTQ0ZDYyNWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNv
ZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworfQorICAgIAord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29udGV4dCA9
IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKwordHJ5IHsKKyAgICBjb250ZXh0LmRlY29kZUF1
ZGlvRGF0YShudWxsLCBmdW5jdGlvbigpe30sIGZ1bmN0aW9uKCl7fSk7CisgICAgdGVzdEZhaWxl
ZCgiZGVjb2RlQXVkaW9EYXRhIHNob3VsZCByYWlzZSBleGNlcHRpb24gd2hlbiBhcnJheWJ1ZmZl
ciBwYXJhbWV0ZXIgaXMgbnVsbC4iKTsKK30gY2F0Y2goZSkgeworICAgIHRlc3RQYXNzZWQoImRl
Y29kZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVy
IHBhcmFtZXRlciBpcyBudWxsLiIpOworfQorCit2YXIgZGVjb2RlQ2FzZUFycmF5ID0gW1sicmVz
b3VyY2VzL21lZGlhLzI0Yml0LTQ0a2h6LndhdiIsIHRydWVdLAorICAgICAgICAgICAgICAgICAg
ICAgICBbInJlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IiwgZmFsc2VdXTsK
KworZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgeworICAgIGlmIChpbmRleCA+PSBkZWNv
ZGVDYXNlQXJyYXkubGVuZ3RoKSB7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsK
KyAgICByZXF1ZXN0Lm9wZW4oIkdFVCIsIGRlY29kZUNhc2VBcnJheVtpbmRleF1bMF0sIHRydWUp
OworICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsKKyAgICAKKyAgICBy
ZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlv
RGF0YShyZXF1ZXN0LnJlc3BvbnNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwor
ICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkgeworICAgICAgICAg
ICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF1bMV0pCisgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdWzBdICsgICIgdGVzdDogc3VjY2Vz
c0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCBjb3JyZWN0bHkuIik7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5k
ZXhdWzBdICsgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgc2hvdWxkIGJlIGNhbGxlZC4iKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2luZGV4KTsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjaygpIHsKKyAgICAgICAg
ICAgIGlmIChkZWNvZGVDYXNlQXJyYXlbaW5kZXhdWzFdKQorICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XVswXSArICIgdGVzdDogZXJyb3JD
YWxsYmFjayBzaG91bGQgbm90IGJlIGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF1bMF0g
KyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKKwor
ICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2luZGV4KTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICByZXF1ZXN0LnNlbmQoKTsKK30KKworcnVuRGVjb2RlVGVzdCgwKTsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jl
c291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vcmVzb3VyY2VzL21lZGlhL2ludmFsaWQtYXVkaW8tZmlsZS50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM1
ODMxYjg0ZGE2NjBhYjk3ZDQ4NWIyZWY0NGRhZjM5Yjk4NWFkYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUu
dHh0CkBAIC0wLDAgKzEgQEAKK0luY29ycmVjdCBBdWRpbyBGaWxlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156221</attachid>
            <date>2012-08-02 17:57:30 -0700</date>
            <delta_ts>2012-08-02 19:19:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92620-20120804090204.patch</filename>
            <type>text/plain</type>
            <size>4658</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mjc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA1MjNkZmUxMTcwZjFjMjUxNTgy
ZTUyZjJiMGYzZjk2MTk1ZWRmNC4uMjgwZmRlYTQxNmUxNWEwZDBlMmMwZDIxNWEzYjczNmVhMGM1
MWEyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTAyICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBkZWNvZGVBdWRpb0RhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5o
dG1sI0F1ZGlvQ29udGV4dC1zZWN0aW9uCisgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgaWYgc3Vj
Y2Vzc0NhbGxiYWNrIG9yIGVycm9yQ2FsbGJhY2sgY2FuIGJlIGludm9rZWQgY29ycmVjdGx5IHdo
ZW4KKyAgICAgICAgdGhlcmUgaXMgYSBjb3JyZWN0IG9yIGVycm9yIGRlY29kaW5nLgorCisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvaW52YWxpZC1hdWRpby1maWxl
LnR4dDogQWRkZWQuCisKIDIwMTItMDctMzEgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29u
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBIZWFwLXVzZS1hZnRlci1mcmVlIGluIFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45YjVhNjI4MmYwNGVjODZjMWQ3Nzc4ODE0YTU0ZjUxODdkNWZjMDU3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Jhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRpb0Rh
dGEgZnVuY3Rpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRlY29k
ZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVyIHBh
cmFtZXRlciBpcyBudWxsLgorUEFTUyBUaGUgcmVzb3VyY2VzL21lZGlhLzI0Yml0LTQ0a2h6Lndh
diB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mg
VGhlIHJlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IHRlc3Q6IGVycm9yQ2Fs
bGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWE0ZTVkNjg5NWQ5ZmI4
ZjgzNjMwN2UxYzM4ZjJjODNhYzI2OTVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNv
ZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworfQorICAgIAord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29udGV4dCA9
IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKwordHJ5IHsKKyAgICBjb250ZXh0LmRlY29kZUF1
ZGlvRGF0YShudWxsLCBmdW5jdGlvbigpe30sIGZ1bmN0aW9uKCl7fSk7CisgICAgdGVzdEZhaWxl
ZCgiZGVjb2RlQXVkaW9EYXRhIHNob3VsZCByYWlzZSBleGNlcHRpb24gd2hlbiBhcnJheWJ1ZmZl
ciBwYXJhbWV0ZXIgaXMgbnVsbC4iKTsKK30gY2F0Y2goZSkgeworICAgIHRlc3RQYXNzZWQoImRl
Y29kZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVy
IHBhcmFtZXRlciBpcyBudWxsLiIpOworfQorCit2YXIgZGVjb2RlQ2FzZUFycmF5ID0gW1sicmVz
b3VyY2VzL21lZGlhLzI0Yml0LTQ0a2h6LndhdiIsIHRydWVdLAorICAgICAgICAgICAgICAgICAg
ICAgICBbInJlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IiwgZmFsc2VdXTsK
KworZnVuY3Rpb24gcnVuRGVjb2RlVGVzdChpbmRleCkgeworICAgIGlmIChpbmRleCA+PSBkZWNv
ZGVDYXNlQXJyYXkubGVuZ3RoKSB7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsK
KyAgICByZXF1ZXN0Lm9wZW4oIkdFVCIsIGRlY29kZUNhc2VBcnJheVtpbmRleF1bMF0sIHRydWUp
OworICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsKKyAgICAKKyAgICBy
ZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlv
RGF0YShyZXF1ZXN0LnJlc3BvbnNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwor
ICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkgeworICAgICAgICAg
ICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF1bMV0pCisgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5kZXhdWzBdICsgICIgdGVzdDogc3VjY2Vz
c0NhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCBjb3JyZWN0bHkuIik7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVDYXNlQXJyYXlbaW5k
ZXhdWzBdICsgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgd2FzIG5vdCBjYWxsZWQuIik7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHJ1bkRlY29kZVRlc3QoKytpbmRleCk7CisgICAgICAgIH0K
KyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGVycm9yQ2FsbGJhY2soKSB7CisgICAgICAgICAg
ICBpZiAoZGVjb2RlQ2FzZUFycmF5W2luZGV4XVsxXSkKKyAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF1bMF0gKyAiIHRlc3Q6IGVycm9yQ2Fs
bGJhY2sgd2FzIGNhbGxlZCBpbmNvcnJlY3RseS4iKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF1bMF0g
KyAiIHRlc3Q6IGVycm9yQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKKwor
ICAgICAgICAgICAgcnVuRGVjb2RlVGVzdCgrK2luZGV4KTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICByZXF1ZXN0LnNlbmQoKTsKK30KKworcnVuRGVjb2RlVGVzdCgwKTsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jl
c291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vcmVzb3VyY2VzL21lZGlhL2ludmFsaWQtYXVkaW8tZmlsZS50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM1
ODMxYjg0ZGE2NjBhYjk3ZDQ4NWIyZWY0NGRhZjM5Yjk4NWFkYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUu
dHh0CkBAIC0wLDAgKzEgQEAKK0luY29ycmVjdCBBdWRpbyBGaWxlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156240</attachid>
            <date>2012-08-02 19:19:55 -0700</date>
            <delta_ts>2012-08-23 11:43:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92620-20120804102429.patch</filename>
            <type>text/plain</type>
            <size>4697</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mjc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA1MjNkZmUxMTcwZjFjMjUxNTgy
ZTUyZjJiMGYzZjk2MTk1ZWRmNC4uMjgwZmRlYTQxNmUxNWEwZDBlMmMwZDIxNWEzYjczNmVhMGM1
MWEyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTAyICBMaSBZaW4gIDxsaS55aW5A
aW50ZWwuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBkZWNvZGVBdWRpb0RhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9k
dmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5o
dG1sI0F1ZGlvQ29udGV4dC1zZWN0aW9uCisgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgaWYgc3Vj
Y2Vzc0NhbGxiYWNrIG9yIGVycm9yQ2FsbGJhY2sgY2FuIGJlIGludm9rZWQgY29ycmVjdGx5IHdo
ZW4KKyAgICAgICAgdGhlcmUgaXMgYSBjb3JyZWN0IG9yIGVycm9yIGRlY29kaW5nLgorCisgICAg
ICAgICogd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvbWVkaWEvaW52YWxpZC1hdWRpby1maWxl
LnR4dDogQWRkZWQuCisKIDIwMTItMDctMzEgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29u
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBIZWFwLXVzZS1hZnRlci1mcmVlIGluIFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL2RlY29kZS1hdWRpby1kYXRhLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45YjVhNjI4MmYwNGVjODZjMWQ3Nzc4ODE0YTU0ZjUxODdkNWZjMDU3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Jhc2ljIHRlc3RzIGZvciBkZWNvZGVBdWRpb0Rh
dGEgZnVuY3Rpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRlY29k
ZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVyIHBh
cmFtZXRlciBpcyBudWxsLgorUEFTUyBUaGUgcmVzb3VyY2VzL21lZGlhLzI0Yml0LTQ0a2h6Lndh
diB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mg
VGhlIHJlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0IHRlc3Q6IGVycm9yQ2Fs
bGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJh
dWRpby9kZWNvZGUtYXVkaW8tZGF0YS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8v
ZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTY1ZGUxZjNlYzU4YmUx
NGNlYTkyNTE2NjZjYzM5ZTc5ZTQ3ZjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZGVjb2RlLWF1ZGlvLWRhdGEtYmFzaWMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBkZWNv
ZGVBdWRpb0RhdGEgZnVuY3Rpb24uIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworfQorICAgIAord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY29udGV4dCA9
IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKwordHJ5IHsKKyAgICBjb250ZXh0LmRlY29kZUF1
ZGlvRGF0YShudWxsLCBmdW5jdGlvbigpe30sIGZ1bmN0aW9uKCl7fSk7CisgICAgdGVzdEZhaWxl
ZCgiZGVjb2RlQXVkaW9EYXRhIHNob3VsZCByYWlzZSBleGNlcHRpb24gd2hlbiBhcnJheWJ1ZmZl
ciBwYXJhbWV0ZXIgaXMgbnVsbC4iKTsKK30gY2F0Y2goZSkgeworICAgIHRlc3RQYXNzZWQoImRl
Y29kZUF1ZGlvRGF0YSByYWlzZXMgZXhjZXB0aW9uIGNvcnJlY3RseSB3aGVuIGFycmF5YnVmZmVy
IHBhcmFtZXRlciBpcyBudWxsLiIpOworfQorCit2YXIgZGVjb2RlQ2FzZUFycmF5ID0gW3t1cmw6
ICJyZXNvdXJjZXMvbWVkaWEvMjRiaXQtNDRraHoud2F2IiwgcmVzdWx0OiB0cnVlfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAge3VybDogInJlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZp
bGUudHh0IiwgcmVzdWx0OiBmYWxzZX1dOworCitmdW5jdGlvbiBydW5EZWNvZGVUZXN0KGluZGV4
KSB7CisgICAgaWYgKGluZGV4ID49IGRlY29kZUNhc2VBcnJheS5sZW5ndGgpIHsKKyAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB2YXIgcmVxdWVz
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgZGVjb2Rl
Q2FzZUFycmF5W2luZGV4XS51cmwsIHRydWUpOworICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0g
ImFycmF5YnVmZmVyIjsKKyAgICAKKyAgICByZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICBjb250ZXh0LmRlY29kZUF1ZGlvRGF0YShyZXF1ZXN0LnJlc3BvbnNlLCBzdWNjZXNz
Q2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gc3Vj
Y2Vzc0NhbGxiYWNrKCkgeworICAgICAgICAgICAgaWYgKGRlY29kZUNhc2VBcnJheVtpbmRleF0u
cmVzdWx0KQorICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFy
cmF5W2luZGV4XS51cmwgKyAgIiB0ZXN0OiBzdWNjZXNzQ2FsbGJhY2sgaGFzIGJlZW4gY2FsbGVk
IGNvcnJlY3RseS4iKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJUaGUgIiArIGRlY29kZUNhc2VBcnJheVtpbmRleF0udXJsICsgIiB0ZXN0OiBzdWNjZXNz
Q2FsbGJhY2sgd2FzIG5vdCBjYWxsZWQuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJ1
bkRlY29kZVRlc3QoKytpbmRleCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0
aW9uIGVycm9yQ2FsbGJhY2soKSB7CisgICAgICAgICAgICBpZiAoZGVjb2RlQ2FzZUFycmF5W2lu
ZGV4XS5yZXN1bHQpCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhlICIgKyBkZWNvZGVD
YXNlQXJyYXlbaW5kZXhdLnVybCArICIgdGVzdDogZXJyb3JDYWxsYmFjayB3YXMgY2FsbGVkIGlu
Y29ycmVjdGx5LiIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIlRoZSAiICsgZGVjb2RlQ2FzZUFycmF5W2luZGV4XS51cmwgKyAiIHRlc3Q6IGVycm9yQ2Fs
bGJhY2sgaGFzIGJlZW4gY2FsbGVkIGNvcnJlY3RseS4iKTsKKworICAgICAgICAgICAgcnVuRGVj
b2RlVGVzdCgrK2luZGV4KTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXF1ZXN0LnNlbmQoKTsK
K30KKworcnVuRGVjb2RlVGVzdCgwKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9tZWRpYS9pbnZh
bGlkLWF1ZGlvLWZpbGUudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL21lZGlh
L2ludmFsaWQtYXVkaW8tZmlsZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM1ODMxYjg0ZGE2NjBhYjk3ZDQ4
NWIyZWY0NGRhZjM5Yjk4NWFkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1
ZGlvL3Jlc291cmNlcy9tZWRpYS9pbnZhbGlkLWF1ZGlvLWZpbGUudHh0CkBAIC0wLDAgKzEgQEAK
K0luY29ycmVjdCBBdWRpbyBGaWxlLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>