<?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>101439</bug_id>
          
          <creation_ts>2012-11-07 01:42:07 -0800</creation_ts>
          <short_desc>progress-events-generated-correctly.html expects more progress events than spec</short_desc>
          <delta_ts>2014-02-05 11:06:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>100378</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominik Röttsches (drott)">d-r</reporter>
          <assigned_to name="Jussi Kukkonen (jku)">jussi.kukkonen</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jgriggs</cc>
    
    <cc>jussi.kukkonen</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>760471</commentid>
    <comment_count>0</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-11-07 01:42:07 -0800</bug_when>
    <thetext>Test introduced in r133660 fails on EFL. See also bug 100984 and bug 100985 for failures on Chromium-linux and mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761713</commentid>
    <comment_count>1</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-08 06:02:41 -0800</bug_when>
    <thetext>I&apos;ll take a look</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761773</commentid>
    <comment_count>2</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-08 07:31:31 -0800</bug_when>
    <thetext>MediaPlayerPrivateGstreamer does not update m_mediaDuration as it should (first update happens when playback ends), so progress can&apos;t be updated. I&apos;ll see what I can do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762097</commentid>
    <comment_count>3</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-08 13:09:44 -0800</bug_when>
    <thetext>m_mediaDuration is not updated on GST_STATE_PAUSED but is required in didLoadingProgress(). This would be easy to fix...

Unfortunately that does not make the test pass: the whole file is buffered much earlier than GST_STATE_PAUSED happens (which is the first time we can query duration).

I think I can modify didLoadingProgress() to not depend on media duration though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762761</commentid>
    <comment_count>4</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-09 02:38:16 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I think I can modify didLoadingProgress() to not depend on media duration though.

Actually this would not help: We finish loading under the 350ms that is specified as the progress event period. I think a test for this makes sense but currently the test only passes on platforms that load slowly or send more events than they&apos;re supposed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762769</commentid>
    <comment_count>5</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-09 02:55:08 -0800</bug_when>
    <thetext>For the newly CC&apos;d (people from bug 100378 and philn for gstreamer know-how)

I was trying to find out why media/progress-events-generated-correctly.html fails with gstreamer and came to the conclusion that the test is wrong. 

The test expects more than one progress event. Spec says there should be a progress event every 350 ms. On my laptop using a local web server we finish loading the media file used in the test in ~250ms: emitting only one progress event seems totally valid.

I think testing this makes sense but currently it seems broken. Suggestions on how to fix it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762940</commentid>
    <comment_count>6</comment_count>
    <who name="John Griggs">jgriggs</who>
    <bug_when>2012-11-09 06:15:02 -0800</bug_when>
    <thetext>When I wrote this test, I looked for a longer media resource in the existing test cases, but could not find one.  Replacing the media resource with one that takes longer than 350 ms to load on all platforms would fix the test.  I am fairly new to submitting to WebKit and am not sure what the procedure is for adding media resources to the test set - if someone can enlighten me, I will find a better resource, add it and update the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763008</commentid>
    <comment_count>7</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-09 07:33:48 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Replacing the media resource with one that takes longer than 350 ms to load on 
&gt; all platforms would fix the test.  I am fairly new to submitting to WebKit and 
&gt; am not sure what the procedure is for adding media resources to the test set - 
&gt; if someone can enlighten me, I will find a better resource, add it and update 
&gt; the test.

As long as the license is good, I don&apos;t think there&apos;s anything special to adding media files. However, to really make this resistant to flakiness (remembering that computers get faster all the time and that some build machines might be pretty beefy machines compared to my laptop) we&apos;d possibly have to increase the file size by a lot: a web server on a local machine can probably have a pretty decent throughput.

The test could be made to run in fixed time even if the video is longer but it would definitely increase the repo size, we should avoid that if we can...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763011</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-11-09 07:40:40 -0800</bug_when>
    <thetext>I haven&apos;t looked at the test but would it be acceptable to generate a large enough video file by concatenating N times the same small video over and over? That file wouldn&apos;t be stored in SVN of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763061</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-11-09 09:00:15 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; I haven&apos;t looked at the test but would it be acceptable to generate a large enough video file by concatenating N times the same small video over and over? That file wouldn&apos;t be stored in SVN of course.

We don&apos;t need a longer media file, the test can be moved to LayoutTests/http/tests/media/ and changed to use video-throttled-load.cgi to make the load take long enough to generate more than one &apos;progress&apos; event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764131</commentid>
    <comment_count>10</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-12 00:38:55 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; I haven&apos;t looked at the test but would it be acceptable to generate a large enough video file by concatenating N times the same small video over and over? That file wouldn&apos;t be stored in SVN of course.
&gt; 
&gt; We don&apos;t need a longer media file, the test can be moved to LayoutTests/http/tests/media/ and changed to use video-throttled-load.cgi to make the load take long enough to generate more than one &apos;progress&apos; event.

I was hoping CCing you would results in a comment like this, thanks :)

I&apos;ll do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764281</commentid>
    <comment_count>11</comment_count>
      <attachid>173623</attachid>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-12 04:57:49 -0800</bug_when>
    <thetext>Created attachment 173623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764284</commentid>
    <comment_count>12</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-12 05:02:13 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=173623) [details]
&gt; Patch

Tested on efl. Also removed the failure expectation for mac and chromium on the assumption that it&apos;s the same root cause: EWS should confirm. I did not remove the GTK+ exception as it says the test times out (and I didn&apos;t have a gtk build and their EWS does not run tests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764383</commentid>
    <comment_count>13</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-12 07:09:44 -0800</bug_when>
    <thetext>*** Bug 100984 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764385</commentid>
    <comment_count>14</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-12 07:10:15 -0800</bug_when>
    <thetext>*** Bug 100985 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764387</commentid>
    <comment_count>15</comment_count>
      <attachid>173623</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-11-12 07:13:16 -0800</bug_when>
    <thetext>Comment on attachment 173623
Patch

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

&gt; LayoutTests/ChangeLog:13
&gt; +        * http/tests/media/progress-events-generated-correctly-expected.txt: Renamed from LayoutTests/media/progress-events-generated-correctly-expected.txt.
&gt; +        * http/tests/media/progress-events-generated-correctly.html: Renamed from LayoutTests/media/progress-events-generated-correctly.html.

Minor nit: Breaking these lines would make it easier to read in editors that aren&apos;t configured to wrap.

&gt; LayoutTests/http/tests/media/progress-events-generated-correctly.html:57
&gt; +        // 188 kB at 300kB/s means 470 ms load time: enough for a
&gt; +        // progress event at specified 350ms period.
&gt; +        var rate = 400;
&gt; +        var movie = findMediaFile(&quot;video&quot;, &quot;resources/test&quot;);
&gt; +        var type = mimeTypeForExtension(movie.split(&apos;.&apos;).pop());
&gt; +        videoElement.src = &quot;http://127.0.0.1:8000/media/video-throttled-load.cgi?name=&quot; + movie + &quot;&amp;throttle=&quot; + rate + &quot;&amp;type=&quot; + type;

470 ms is a long time for a single layout test. Because the purpose of the test is to verify that more than one &apos;progress&apos; event is fired while loading, why don&apos;t you change the test to end once 2 or 3 &apos;progress&apos; events have been fired?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764448</commentid>
    <comment_count>16</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-12 08:21:29 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; 470 ms is a long time for a single layout test. Because the purpose of the test is to verify that more than one &apos;progress&apos; event is fired while loading, why don&apos;t you change the test to end once 2 or 3 &apos;progress&apos; events have been fired?

350 ms is the event sending period by spec so if we want to test that, we always have to wait at least 350 ms. That said I could modify the test to end on first progress event (as long as I made sure the &apos;extra&apos; progress we send before &apos;ended&apos; event would not qualify): this would normally save the 120ms that I left there as buffer now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764459</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-11-12 08:35:38 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; 470 ms is a long time for a single layout test. Because the purpose of the test is to verify that more than one &apos;progress&apos; event is fired while loading, why don&apos;t you change the test to end once 2 or 3 &apos;progress&apos; events have been fired?
&gt; 
&gt; 350 ms is the event sending period by spec so if we want to test that, we always have to wait at least 350 ms. That said I could modify the test to end on first progress event (as long as I made sure the &apos;extra&apos; progress we send before &apos;ended&apos; event would not qualify): this would normally save the 120ms that I left there as buffer now.

Actually it will save considerably more than 120 ms, as written the test doesn&apos;t end until the ~8 second long file finishes playing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764937</commentid>
    <comment_count>18</comment_count>
      <attachid>173623</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 16:20:18 -0800</bug_when>
    <thetext>Comment on attachment 173623
Patch

Attachment 173623 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14818330

New failing tests:
http/tests/media/progress-events-generated-correctly.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765552</commentid>
    <comment_count>19</comment_count>
      <attachid>173885</attachid>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-13 07:02:29 -0800</bug_when>
    <thetext>Created attachment 173885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765553</commentid>
    <comment_count>20</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-13 07:02:51 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Actually it will save considerably more than 120 ms, as written the test doesn&apos;t end until the ~8 second long file finishes playing.

Oops, you are right. Modifed the test to end on either the first progress event or a 600 ms timeout. Fixed the changelog lines and improved the comment, also fixed gtk TestExpectation to point to the new test location.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765573</commentid>
    <comment_count>21</comment_count>
      <attachid>173885</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-11-13 07:21:31 -0800</bug_when>
    <thetext>Comment on attachment 173885
Patch

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

&gt; LayoutTests/http/tests/media/progress-events-generated-correctly.html:22
&gt; +        function progressListener(event)
&gt; +        {
&gt; +            consoleWrite(&quot;EVENT(progress)&quot;);
&gt; +            endTest();
&gt; +        }

I think it would be better to require two &apos;progress&apos; events, as the test originally failed because most ports only fire one event when a local file is loaded.

&gt; LayoutTests/http/tests/media/progress-events-generated-correctly.html:37
&gt; +        // slow the download down to make sure we get the progress event at 350ms (Â±200ms).

Nit: please capitalize, a comment should be a proper sentence.

&gt; LayoutTests/http/tests/media/progress-events-generated-correctly.html:43
&gt; +        // end test with a timeout so A) test fails faster and B) the &apos;extra&apos; progress

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765589</commentid>
    <comment_count>22</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-13 07:47:20 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; &gt; LayoutTests/http/tests/media/progress-events-generated-correctly.html:22
&gt; &gt; +        function progressListener(event)
&gt; &gt; +        {
&gt; &gt; +            consoleWrite(&quot;EVENT(progress)&quot;);
&gt; &gt; +            endTest();
&gt; &gt; +        }
&gt; I think it would be better to require two &apos;progress&apos; events, as the test originally failed because most ports only fire one event when a local file is loaded.

Since the download is now throttled I don&apos;t see how the loading could possibly finish before the test fails because of the 600 ms timeout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765640</commentid>
    <comment_count>23</comment_count>
      <attachid>173885</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-13 08:35:24 -0800</bug_when>
    <thetext>Comment on attachment 173885
Patch

Attachment 173885 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14822457

New failing tests:
http/tests/media/progress-events-generated-correctly.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766627</commentid>
    <comment_count>24</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-14 01:45:19 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; Attachment 173885 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/14822457
&gt; 
&gt; New failing tests:
&gt; http/tests/media/progress-events-generated-correctly.html

This I really don&apos;t understand... I wonder if there are circumstances where it would take more than 600ms for the first event to arrive? Maybe the 250ms buffer is not enough?

For reference, I can&apos;t reproduce this problem even after extensive testing. Additional debug prints show the progress event happens reliably at ~360ms from script start.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766726</commentid>
    <comment_count>25</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-11-14 04:00:37 -0800</bug_when>
    <thetext>Interesting. on a hunch I started experimenting with lower throttling rates. On my machine I get this:
 * if rate&gt;=70kbps, the first event is always received at ~360ms
 * if rate&lt;70kbs, the first event is always received at ~711ms

It seems if the rate is low enough the first event does not happen, but the second one does. Possibly the mac-ews had other things to do and was slow enough to get this same behaviour.

This looks like a real bug to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976914</commentid>
    <comment_count>26</comment_count>
      <attachid>173885</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-05 11:06:45 -0800</bug_when>
    <thetext>Comment on attachment 173885
Patch

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173623</attachid>
            <date>2012-11-12 04:57:49 -0800</date>
            <delta_ts>2012-11-13 07:02:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101439-20121112145551.patch</filename>
            <type>text/plain</type>
            <size>9477</size>
            <attacher name="Jussi Kukkonen (jku)">jussi.kukkonen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTkzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzkxNzYxMDBmZGJkM2U2NDg0ZDcy
YzM3OGRlZmVlMmNhM2RiMzE5Zi4uOTFjMzJiNWE1MDYxNWY4YTExY2U3ODA4MmFjNTM1M2ZkMjQ0
MzAyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTExLTEyICBKdXNzaSBLdWtrb25lbiAg
PGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KKworICAgICAgICBwcm9ncmVzcy1ldmVudHMtZ2Vu
ZXJhdGVkLWNvcnJlY3RseS5odG1sIGV4cGVjdHMgbW9yZSBwcm9ncmVzcyBldmVudHMgdGhhbiBz
cGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE0
MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
IHByb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVkIHRvIGh0dHAvdGVz
dHMvbWVkaWEvIHNvIGl0IGNhbgorICAgICAgICB1c2UgdmlkZW8tdGhyb3R0bGVkLWxvYWQuY2dp
LiBUaGlzIHdheSB0aGUgcmVzb3VyY2UgbG9hZCBjYW4gYmUgZ3VhcmFudGVlZCB0bworICAgICAg
ICB0YWtlIGxvbmcgZW5vdWdoIGZvciB0aGUgcHJvZ3Jlc3MgZXZlbnRzIHRoYXQgdGhlIHRlc3Qg
ZXhwZWN0cyB0byBiZSBzZW50LgorCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9wcm9ncmVz
cy1ldmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS1leHBl
Y3RlZC50eHQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2Vu
ZXJhdGVkLWNvcnJlY3RseS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvbWVkaWEvcHJv
Z3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgor
CiAyMDEyLTExLTExICBNaWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4KIAogICAgICAg
ICBGaXggYXNzZXJ0aW9uIGZhaWx1cmUgaW4gSlNPYmplY3Q6OnRyeUdldEluZGV4UXVpY2tseSgp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50
cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE2MjkzZmIyNGRiODk3OTliNTkyZGVkZjhhYmM4NzRiZDQ1MWFlMzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3Byb2dyZXNzLWV2
ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rl
c3QgdGhhdCBwcm9ncmVzcyBldmVudHMgYXJlIGdlbmVyYXRlZCBkdXJpbmcgbG9hZGluZyBvZiBt
ZWRpYSByZXNvdXJjZS4KKworRVZFTlQoY2FucGxheXRocm91Z2gpCitFVkVOVChwbGF5aW5nKQor
RVZFTlQoZW5kZWQpCitFWFBFQ1RFRCAocHJvZ3Jlc3NDb3VudCA+ICcxJykgT0sKK0VORCBPRiBU
RVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcHJvZ3Jlc3Mt
ZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lMjAzZGFhNDE4MDY2ODQxMTZkZTY1MjM2Zjk1NmQ5Y2YzMmEyZTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJh
dGVkLWNvcnJlY3RseS5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzxodG1sPgorICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgIDx0aXRsZT5Q
cm9ncmVzcyBFdmVudHMgR2VuZXJhdGVkIENvcnJlY3RseSBEdXJpbmcgTG9hZGluZzwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vbWVkaWEtcmVzb3VyY2VzL21lZGlhLWZpbGUuanM+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vbWVkaWEtcmVzb3VyY2VzL3ZpZGVv
LXRlc3QuanM+PC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgPHA+VGVzdCB0aGF0IHByb2dyZXNz
IGV2ZW50cyBhcmUgZ2VuZXJhdGVkIGR1cmluZyBsb2FkaW5nIG9mIG1lZGlhIHJlc291cmNlLjwv
cD4KKworICAgIDxzY3JpcHQgc3JjPS4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
ZnVuY3Rpb24gZXJyb3JMaXN0ZW5lcihldmVudCkKKyAgICAgICAgeworICAgICAgICAgICAgbG9n
UmVzdWx0KGZhbHNlLCAiQ2F1Z2h0ICdlcnJvcicgZXZlbnQsIG1lZGlhLmVycm9yLmNvZGUgPSAi
ICsgdGhpcy5lcnJvci5jb2RlKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQor
CisgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoTGlzdGVuZXIoZXZlbnQpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoY2FucGxheXRocm91Z2gpIik7Cisg
ICAgICAgICAgICB0aGlzLnBsYXkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHBs
YXlpbmdMaXN0ZW5lcihldmVudCkKKyAgICAgICAgeworICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJFVkVOVChwbGF5aW5nKSIpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcHJvZ3Jl
c3NMaXN0ZW5lcihldmVudCkKKyAgICAgICAgeworICAgICAgICAgICAgKytwcm9ncmVzc0NvdW50
OworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gZW5kZWRMaXN0ZW5lcihldmVudCkKKyAg
ICAgICAgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChlbmRlZCkiKTsKKyAgICAg
ICAgICAgIC8vIGV4cGVjdCBhdCBsZWFzdCB0d28gJ3Byb2dyZXNzJyBldmVudHMgYXMgYW4gb25l
IGV4dHJhCisgICAgICAgICAgICAvLyBpcyBzZW50IGJlZm9yZSAnZW5kZWQnIGV2ZW50LgorICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJwcm9ncmVzc0NvdW50IiwgMSwgIj4iKTsKKyAgICAgICAg
ICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIGRvY3VtZW50LndyaXRlKCI8dmlk
ZW8gY29udHJvbHM+PC92aWRlbz4iKTsKKyAgICAgICAgdmFyIHZpZGVvRWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOworICAgICAgICB2YXIgcHJvZ3Jl
c3NDb3VudCA9IDA7CisgICAgICAgIHZpZGVvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdlcnJv
cicsIGVycm9yTGlzdGVuZXIpOworICAgICAgICB2aWRlb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cignY2FucGxheXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaExpc3RlbmVyKTsKKyAgICAgICAgdmlk
ZW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nTGlzdGVuZXIpOwor
ICAgICAgICB2aWRlb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZW5kZWQnLCBlbmRlZExpc3Rl
bmVyKTsKKyAgICAgICAgdmlkZW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywg
cHJvZ3Jlc3NMaXN0ZW5lcik7CisKKyAgICAgICAgLy8gMTg4IGtCIGF0IDMwMGtCL3MgbWVhbnMg
NDcwIG1zIGxvYWQgdGltZTogZW5vdWdoIGZvciBhCisgICAgICAgIC8vIHByb2dyZXNzIGV2ZW50
IGF0IHNwZWNpZmllZCAzNTBtcyBwZXJpb2QuCisgICAgICAgIHZhciByYXRlID0gNDAwOworICAg
ICAgICB2YXIgbW92aWUgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJyZXNvdXJjZXMvdGVzdCIp
OworICAgICAgICB2YXIgdHlwZSA9IG1pbWVUeXBlRm9yRXh0ZW5zaW9uKG1vdmllLnNwbGl0KCcu
JykucG9wKCkpOworICAgICAgICB2aWRlb0VsZW1lbnQuc3JjID0gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9tZWRpYS92aWRlby10aHJvdHRsZWQtbG9hZC5jZ2k/bmFtZT0iICsgbW92aWUgKyAiJnRo
cm90dGxlPSIgKyByYXRlICsgIiZ0eXBlPSIgKyB0eXBlOworICAgIDwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvcHJvZ3Jlc3MtZXZlbnRz
LWdlbmVyYXRlZC1jb3JyZWN0bHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvcHJv
Z3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAxNjI5M2ZiMjRkYjg5Nzk5YjU5MmRlZGY4YWJjODc0YmQ0NTFh
ZTM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotVGVzdCB0aGF0IHByb2dyZXNzIGV2
ZW50cyBhcmUgZ2VuZXJhdGVkIGR1cmluZyBsb2FkaW5nIG9mIG1lZGlhIHJlc291cmNlLgotCi1F
VkVOVChjYW5wbGF5dGhyb3VnaCkKLUVWRU5UKHBsYXlpbmcpCi1FVkVOVChlbmRlZCkKLUVYUEVD
VEVEIChwcm9ncmVzc0NvdW50ID4gJzEnKSBPSwotRU5EIE9GIFRFU1QKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRt
bCBiL0xheW91dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmMGZiYzhhZTI3NDYxMWE0MjNj
ZWNkYzAxNWMxZjhiYjc4OTc5MzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1j
b3JyZWN0bHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTxodG1sPgotICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgotICAg
IDx0aXRsZT5Qcm9ncmVzcyBFdmVudHMgR2VuZXJhdGVkIENvcnJlY3RseSBEdXJpbmcgTG9hZGlu
ZzwvdGl0bGU+Ci0gICAgPGJvZHk+Ci0gICAgPHA+VGVzdCB0aGF0IHByb2dyZXNzIGV2ZW50cyBh
cmUgZ2VuZXJhdGVkIGR1cmluZyBsb2FkaW5nIG9mIG1lZGlhIHJlc291cmNlLjwvcD4KLQotICAg
IDxzY3JpcHQgc3JjPS4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0u
L21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZnVuY3Rpb24g
ZXJyb3JMaXN0ZW5lcihldmVudCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9nUmVzdWx0KGZh
bHNlLCAiQ2F1Z2h0ICdlcnJvcicgZXZlbnQsIG1lZGlhLmVycm9yLmNvZGUgPSAiICsgdGhpcy5l
cnJvci5jb2RlKTsKLSAgICAgICAgICAgIGVuZFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAg
IGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoTGlzdGVuZXIoZXZlbnQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoY2FucGxheXRocm91Z2gpIik7Ci0gICAgICAgICAg
ICB0aGlzLnBsYXkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHBsYXlpbmdMaXN0
ZW5lcihldmVudCkKLSAgICAgICAgewotICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChw
bGF5aW5nKSIpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcHJvZ3Jlc3NMaXN0ZW5l
cihldmVudCkKLSAgICAgICAgewotICAgICAgICAgICAgKytwcm9ncmVzc0NvdW50OwotICAgICAg
ICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gZW5kZWRMaXN0ZW5lcihldmVudCkKLSAgICAgICAgewot
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChlbmRlZCkiKTsKLSAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgicHJvZ3Jlc3NDb3VudCIsIDEsICI+Iik7Ci0gICAgICAgICAgICBlbmRUZXN0
KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBkb2N1bWVudC53cml0ZSgiPHZpZGVvIGNvbnRyb2xz
PjwvdmlkZW8+Iik7Ci0gICAgICAgIHZhciB2aWRlb0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKLSAgICAgICAgdmFyIHByb2dyZXNzQ291bnQgPSAw
OwotICAgICAgICB2aWRlb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBlcnJvckxp
c3RlbmVyKTsKLSAgICAgICAgdmlkZW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NhbnBsYXl0
aHJvdWdoJywgY2FucGxheXRocm91Z2hMaXN0ZW5lcik7Ci0gICAgICAgIHZpZGVvRWxlbWVudC5h
ZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgcGxheWluZ0xpc3RlbmVyKTsKLSAgICAgICAgdmlk
ZW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2VuZGVkJywgZW5kZWRMaXN0ZW5lcik7Ci0gICAg
ICAgIHZpZGVvRWxlbWVudC5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICIuL2NvbnRlbnQv
Y291bnRpbmciKTsKLSAgICAgICAgdmlkZW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dy
ZXNzJywgcHJvZ3Jlc3NMaXN0ZW5lcik7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA1YTNlOTc1Yjk1ZTJhYmFiODcwYjMzZDA0OGNlN2ZhNTE4ODRhZjU2Li4xNmEzNjQyMWM1NDg1
NjU1ODY1ZjZiZjZmZjI3ZWQ5NDJlYjAwNDgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE4OSw5ICsxODksNiBAQCB3ZWJraXQub3Jn
L2IvNzUxMjMgd2ViaW50ZW50cy9pbnRlbnQtdGFnLmh0bWwKICMgQ1NTIGltYWdlLXJlc29sdXRp
b24gaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg1MjYyIGZhc3QvY3NzL2ltYWdl
LXJlc29sdXRpb24KIAotIyBSZXF1aXJlcyBnZW5lcmF0aW9uIG9mIHByb2dyZXNzIGV2ZW50cyBk
dXJpbmcgbG9hZGluZwotd2Via2l0Lm9yZy9iLzEwMDk4NSBtZWRpYS9wcm9ncmVzcy1ldmVudHMt
Z2VuZXJhdGVkLWNvcnJlY3RseS5odG1sCi0KICMgUmVzb2x1dGlvbiBtZWRpYSBxdWVyeSBpcyBu
b3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODUyNjIgZmFzdC9tZWRpYS9tcS1yZXNvbHV0
aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi84NTI2MiBmYXN0L21lZGlhL21xLXJlc29s
dXRpb24tZHBpLWRwY20td2FybmluZy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQzZDA2YmRmOGQ2ZDgwODllNjhkZWJmNDcwOGYz
ZWE2MmFmMjY0ZjQuLjRlZDM5MzU2NGIwYWEyNjRlYjYwYWI4NzZiZTdkZWI5NDk1ZGNiY2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNjk1LDkgKzE2
OTUsNiBAQCB3ZWJraXQub3JnL2IvMTAwODU1IGlldGVzdGNlbnRlci9jc3MzL3RleHQvdGV4dHNo
YWRvdy0wMDguaHRtIFsgSW1hZ2VPbmx5RmFpbHVyZQogd2Via2l0Lm9yZy9iLzEwMDg0NiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZGVidWdnZXItcGF1c2UtZGVkaWNhdGVkLXdvcmtlci5odG1sIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvMTAwODQ2IGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci10ZXJt
aW5hdGUtZGVkaWNhdGVkLXdvcmtlci13aGlsZS1wYXVzZWQuaHRtbCBbIFNraXAgXQogCi0jIE5l
dyBtZWRpYSB0ZXN0IGludHJvZHVjZWQgaW4gcjEzMzY2MCBmYWlscy4KLXdlYmtpdC5vcmcvYi8x
MDE0MzkgbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbCBbIEZh
aWx1cmUgXQotCiB3ZWJraXQub3JnL2IvMTAxNDU2IGZhc3QvcmVwYWludC9ibG9jay1zZWxlY3Rp
b24tZ2FwLWluLXRhYmxlLWNlbGwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiAjIElkZW50
aWNhbCBmYWlsdXJlcyBvbiBHVEssIEVGTCBhbmQgUXQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGJmOGFjZmYwMWVlN2YyNTg0NzljM2E3Y2Q5N2Y5YzA0
Y2UwMzIwYTkuLjg2YWQwYTg3ZWMxMWQ5ZTAxNzAzMmExMWVkZTY0ODYxODkwZDFhNzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yOCwxMCArMjgsNiBA
QCBzdmcvY3VzdG9tL3VzZS1yZWZlcmVuY2luZy1zdHlsZS1jcmFzaC5zdmcKICMgVGhpcyB0ZXN0
IHJlcXVpcmVzIG1lZGlhIGNvbnRyb2xzIGhhcyBhIHZvbHVtZSBzbGlkZXIuCiBtZWRpYS92aWRl
by12b2x1bWUtc2xpZGVyLmh0bWwKIAotIyBUaGlzIHRlc3QgcmVxdWlyZXMgZ2VuZXJhdGlvbiBv
ZiBwcm9ncmVzcyBldmVudHMgZHVyaW5nIGxvYWRpbmcKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDk4NAotbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRl
ZC1jb3JyZWN0bHkuaHRtbAotCiAjIFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQgZGV0ZWN0aW5n
IHNsb3cgdW5sb2FkIGhhbmRsZXJzLgogZmFzdC9kb20vV2luZG93L3Nsb3ctdW5sb2FkLWhhbmRs
ZXIuaHRtbAogZmFzdC9kb20vV2luZG93L3Nsb3ctdW5sb2FkLWhhbmRsZXItb25seS1mcmFtZS1p
cy1zdG9wcGVkLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173885</attachid>
            <date>2012-11-13 07:02:29 -0800</date>
            <delta_ts>2014-02-05 11:06:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101439-20121113170029.patch</filename>
            <type>text/plain</type>
            <size>9898</size>
            <attacher name="Jussi Kukkonen (jku)">jussi.kukkonen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0Mzk5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGU0NmFiZTM4NTIzODFjYTgzY2Mw
MGNmMmE0M2NiZTUxZmU1YzRhZS4uOTlmOTU2ZmE1ZThhNDg4Mjg2ZTJlYWViNmQyZTQyODVhYzA1
ZTczOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTExLTEzICBKdXNzaSBLdWtrb25lbiAg
PGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KKworICAgICAgICBwcm9ncmVzcy1ldmVudHMtZ2Vu
ZXJhdGVkLWNvcnJlY3RseS5odG1sIGV4cGVjdHMgbW9yZSBwcm9ncmVzcyBldmVudHMgdGhhbiBz
cGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE0
MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
IHByb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVkIHRvIGh0dHAvdGVz
dHMvbWVkaWEvIHNvIGl0IGNhbgorICAgICAgICB1c2UgdmlkZW8tdGhyb3R0bGVkLWxvYWQuY2dp
LiBUaGlzIHdheSB0aGUgcmVzb3VyY2UgbG9hZGluZyBjYW4gYmUgZ3VhcmFudGVlZCB0bworICAg
ICAgICB0YWtlIGxvbmcgZW5vdWdoIGZvciB0aGUgcHJvZ3Jlc3MgZXZlbnQgc2VuZGluZyAoZmly
c3Qgc2hvdWxkIGJlIHNlbnQgYXQgfjM1MG1zKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbWVk
aWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHktZXhwZWN0ZWQudHh0OgorICAg
ICAgICAgIFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2Vu
ZXJhdGVkLWNvcnJlY3RseS1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRp
YS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS5odG1sOgorICAgICAgICAgIFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVkLWNv
cnJlY3RseS5odG1sLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMTEtMTMgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2Fy
ZGVuaW5nLCBza2lwIGZhaWxpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVy
YXRlZC1jb3JyZWN0bHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlM2Q0OTAzYTg1MGNhZTJh
ZDdkMDNmZTNjYzJhODI2OWIyMTRmNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3QgdGhhdCBwcm9ncmVzcyBldmVudHMgYXJlIGdl
bmVyYXRlZCBkdXJpbmcgbG9hZGluZyBvZiBtZWRpYSByZXNvdXJjZS4KKworRVZFTlQocHJvZ3Jl
c3MpCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTdlM2U3MDMzNTdlMGNkMjFiMzg0YTBiNDhmYWVkYzcwNWU2MTQ1Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcHJvZ3Jlc3Mt
ZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8aHRtbD4K
KyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4K
KyAgICA8dGl0bGU+UHJvZ3Jlc3MgRXZlbnRzIEdlbmVyYXRlZCBDb3JyZWN0bHkgRHVyaW5nIExv
YWRpbmc8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPS4uLy4uLy4uL21lZGlhLXJlc291cmNlcy9t
ZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPS4uLy4uLy4uL21lZGlhLXJl
c291cmNlcy92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgIDxib2R5PgorICAgIDxwPlRlc3Qg
dGhhdCBwcm9ncmVzcyBldmVudHMgYXJlIGdlbmVyYXRlZCBkdXJpbmcgbG9hZGluZyBvZiBtZWRp
YSByZXNvdXJjZS48L3A+CisKKyAgICA8c2NyaXB0IHNyYz0uL3ZpZGVvLXRlc3QuanM+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Li9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGZ1bmN0aW9uIGVycm9yTGlzdGVuZXIoZXZlbnQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGxvZ1Jlc3VsdChmYWxzZSwgIkNhdWdodCAnZXJyb3InIGV2ZW50LCBtZWRpYS5l
cnJvci5jb2RlID0gIiArIHRoaXMuZXJyb3IuY29kZSk7CisgICAgICAgICAgICBlbmRUZXN0KCk7
CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBwcm9ncmVzc0xpc3RlbmVyKGV2ZW50KQor
ICAgICAgICB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKHByb2dyZXNzKSIpOwor
ICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGlt
ZW91dCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvZ1Jlc3VsdChmYWxzZSwgIlRpbWVkIG91
dCB3YWl0aW5nIGZvciBwcm9ncmVzcyBldmVudCIpOworICAgICAgICAgICAgZW5kVGVzdCgpOwor
ICAgICAgICB9CisKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoIjx2aWRlbyBjb250cm9scz48L3Zp
ZGVvPiIpOworICAgICAgICB2YXIgdmlkZW9FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoJ3ZpZGVvJylbMF07CisgICAgICAgIHZhciBwcm9ncmVzc0NvdW50ID0gMDsKKyAg
ICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKS5nZXRUaW1lKCkKKyAgICAgICAgdmlkZW9FbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXJyb3JMaXN0ZW5lcik7CisgICAgICAgIHZp
ZGVvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIHByb2dyZXNzTGlzdGVuZXIp
OworCisgICAgICAgIC8vIHNsb3cgdGhlIGRvd25sb2FkIGRvd24gdG8gbWFrZSBzdXJlIHdlIGdl
dCB0aGUgcHJvZ3Jlc3MgZXZlbnQgYXQgMzUwbXMgKMKxMjAwbXMpLgorICAgICAgICB2YXIgcmF0
ZSA9IDEwMDsKKyAgICAgICAgdmFyIG1vdmllID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAicmVz
b3VyY2VzL3Rlc3QiKTsKKyAgICAgICAgdmFyIHR5cGUgPSBtaW1lVHlwZUZvckV4dGVuc2lvbiht
b3ZpZS5zcGxpdCgnLicpLnBvcCgpKTsKKyAgICAgICAgdmlkZW9FbGVtZW50LnNyYyA9ICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvbWVkaWEvdmlkZW8tdGhyb3R0bGVkLWxvYWQuY2dpP25hbWU9IiAr
IG1vdmllICsgIiZ0aHJvdHRsZT0iICsgcmF0ZSArICImdHlwZT0iICsgdHlwZTsKKworICAgICAg
ICAvLyBlbmQgdGVzdCB3aXRoIGEgdGltZW91dCBzbyBBKSB0ZXN0IGZhaWxzIGZhc3RlciBhbmQg
QikgdGhlICdleHRyYScgcHJvZ3Jlc3MKKyAgICAgICAgLy8gZXZlbnQgdGhhdCBnZXRzIHNlbnQg
d2hlbiBsb2FkaW5nIGlzIGZpbmlzaGVkIHdvbid0IG1ha2UgdGhlIHRlc3QgcGFzcy4gCisgICAg
ICAgIHNldEludGVydmFsKHRpbWVvdXQsIDYwMCk7CisKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1n
ZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3Byb2dy
ZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMTYyOTNmYjI0ZGI4OTc5OWI1OTJkZWRmOGFiYzg3NGJkNDUxYWUz
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLVRlc3QgdGhhdCBwcm9ncmVzcyBldmVu
dHMgYXJlIGdlbmVyYXRlZCBkdXJpbmcgbG9hZGluZyBvZiBtZWRpYSByZXNvdXJjZS4KLQotRVZF
TlQoY2FucGxheXRocm91Z2gpCi1FVkVOVChwbGF5aW5nKQotRVZFTlQoZW5kZWQpCi1FWFBFQ1RF
RCAocHJvZ3Jlc3NDb3VudCA+ICcxJykgT0sKLUVORCBPRiBURVNUCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjBmYmM4YWUyNzQ2MTFhNDIzY2Vj
ZGMwMTVjMWY4YmI3ODk3OTMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29y
cmVjdGx5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08aHRtbD4KLSAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KLSAgICA8
dGl0bGU+UHJvZ3Jlc3MgRXZlbnRzIEdlbmVyYXRlZCBDb3JyZWN0bHkgRHVyaW5nIExvYWRpbmc8
L3RpdGxlPgotICAgIDxib2R5PgotICAgIDxwPlRlc3QgdGhhdCBwcm9ncmVzcyBldmVudHMgYXJl
IGdlbmVyYXRlZCBkdXJpbmcgbG9hZGluZyBvZiBtZWRpYSByZXNvdXJjZS48L3A+Ci0KLSAgICA8
c2NyaXB0IHNyYz0uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Li9t
ZWRpYS1maWxlLmpzPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGZ1bmN0aW9uIGVy
cm9yTGlzdGVuZXIoZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxvZ1Jlc3VsdChmYWxz
ZSwgIkNhdWdodCAnZXJyb3InIGV2ZW50LCBtZWRpYS5lcnJvci5jb2RlID0gIiArIHRoaXMuZXJy
b3IuY29kZSk7Ci0gICAgICAgICAgICBlbmRUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBm
dW5jdGlvbiBjYW5wbGF5dGhyb3VnaExpc3RlbmVyKGV2ZW50KQotICAgICAgICB7Ci0gICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKGNhbnBsYXl0aHJvdWdoKSIpOwotICAgICAgICAgICAg
dGhpcy5wbGF5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBwbGF5aW5nTGlzdGVu
ZXIoZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQocGxh
eWluZykiKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHByb2dyZXNzTGlzdGVuZXIo
ZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgICsrcHJvZ3Jlc3NDb3VudDsKLSAgICAgICAg
fQotCi0gICAgICAgIGZ1bmN0aW9uIGVuZGVkTGlzdGVuZXIoZXZlbnQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoZW5kZWQpIik7Ci0gICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoInByb2dyZXNzQ291bnQiLCAxLCAiPiIpOwotICAgICAgICAgICAgZW5kVGVzdCgp
OwotICAgICAgICB9Ci0KLSAgICAgICAgZG9jdW1lbnQud3JpdGUoIjx2aWRlbyBjb250cm9scz48
L3ZpZGVvPiIpOwotICAgICAgICB2YXIgdmlkZW9FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07Ci0gICAgICAgIHZhciBwcm9ncmVzc0NvdW50ID0gMDsK
LSAgICAgICAgdmlkZW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXJyb3JMaXN0
ZW5lcik7Ci0gICAgICAgIHZpZGVvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjYW5wbGF5dGhy
b3VnaCcsIGNhbnBsYXl0aHJvdWdoTGlzdGVuZXIpOwotICAgICAgICB2aWRlb0VsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigncGxheWluZycsIHBsYXlpbmdMaXN0ZW5lcik7Ci0gICAgICAgIHZpZGVv
RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdlbmRlZCcsIGVuZGVkTGlzdGVuZXIpOwotICAgICAg
ICB2aWRlb0VsZW1lbnQuc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiLi9jb250ZW50L2Nv
dW50aW5nIik7Ci0gICAgICAgIHZpZGVvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVz
cycsIHByb2dyZXNzTGlzdGVuZXIpOwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
YThmMWJjMGVhZDZlMDkwYzFjZWJmNjdkYTY0YWNhOTcwZDU0ZDUyZS4uODU4ODJkMDQwZGNjOTM4
Yjc4NjQ1NTVjOGRmN2IyZGFlNDMxYzY0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODksOSArMTg5LDYgQEAgd2Via2l0Lm9yZy9i
Lzc1MTIzIHdlYmludGVudHMvaW50ZW50LXRhZy5odG1sCiAjIENTUyBpbWFnZS1yZXNvbHV0aW9u
IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84NTI2MiBmYXN0L2Nzcy9pbWFnZS1y
ZXNvbHV0aW9uCiAKLSMgUmVxdWlyZXMgZ2VuZXJhdGlvbiBvZiBwcm9ncmVzcyBldmVudHMgZHVy
aW5nIGxvYWRpbmcKLXdlYmtpdC5vcmcvYi8xMDA5ODUgbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdl
bmVyYXRlZC1jb3JyZWN0bHkuaHRtbAotCiAjIFJlc29sdXRpb24gbWVkaWEgcXVlcnkgaXMgbm90
IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg1MjYyIGZhc3QvbWVkaWEvbXEtcmVzb2x1dGlv
bi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvODUyNjIgZmFzdC9tZWRpYS9tcS1yZXNvbHV0
aW9uLWRwaS1kcGNtLXdhcm5pbmcuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0M2QwNmJkZjhkNmQ4MDg5ZTY4ZGViZjQ3MDhmM2Vh
NjJhZjI2NGY0Li40ZWQzOTM1NjRiMGFhMjY0ZWI2MGFiODc2YmU3ZGViOTQ5NWRjYmNhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTY5NSw5ICsxNjk1
LDYgQEAgd2Via2l0Lm9yZy9iLzEwMDg1NSBpZXRlc3RjZW50ZXIvY3NzMy90ZXh0L3RleHRzaGFk
b3ctMDA4Lmh0bSBbIEltYWdlT25seUZhaWx1cmUKIHdlYmtpdC5vcmcvYi8xMDA4NDYgaW5zcGVj
dG9yLXByb3RvY29sL2RlYnVnZ2VyLXBhdXNlLWRlZGljYXRlZC13b3JrZXIuaHRtbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzEwMDg0NiBpbnNwZWN0b3ItcHJvdG9jb2wvZGVidWdnZXItdGVybWlu
YXRlLWRlZGljYXRlZC13b3JrZXItd2hpbGUtcGF1c2VkLmh0bWwgWyBTa2lwIF0KIAotIyBOZXcg
bWVkaWEgdGVzdCBpbnRyb2R1Y2VkIGluIHIxMzM2NjAgZmFpbHMuCi13ZWJraXQub3JnL2IvMTAx
NDM5IG1lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgWyBGYWls
dXJlIF0KLQogd2Via2l0Lm9yZy9iLzEwMTQ1NiBmYXN0L3JlcGFpbnQvYmxvY2stc2VsZWN0aW9u
LWdhcC1pbi10YWJsZS1jZWxsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogIyBJZGVudGlj
YWwgZmFpbHVyZXMgb24gR1RLLCBFRkwgYW5kIFF0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA1NDhlNTVlZWQwZTVlYmM1NjI3OGJiNDVlOTM3MjRkZDdi
NmFiNTkwLi5kZTBhYWUwNGNkM2MzYWQzYmIyZjc0MTFmYTdjNzhiOTNmYjM2NTJlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjUwLDcgKzY1MCw3IEBA
IHdlYmtpdC5vcmcvYi81MDc0MCBbIFJlbGVhc2UgXSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hl
Y2stcXVldWUuaHRtbCBbIFRpbWVvdXQKIHdlYmtpdC5vcmcvYi8xMDE0MjggbWVkaWEvYXVkaW8t
Y29uY3VycmVudC1zdXBwb3J0ZWQuaHRtbCBbIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEwMTQy
OCBtZWRpYS9tZWRpYS1jb250aW51ZXMtcGxheWluZy1hZnRlci1yZXBsYWNlLXNvdXJjZS5odG1s
IFsgVGltZW91dCBdCiAKLUJ1ZyhHVEspIG1lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQt
Y29ycmVjdGx5Lmh0bWwgWyBUaW1lb3V0IF0KK0J1ZyhHVEspIGh0dHAvdGVzdHMvbWVkaWEvcHJv
Z3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHkuaHRtbCBbIFRpbWVvdXQgXQogCiAjLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgb2YgVGVzdHMgdGltaW5nIG91dApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4M2ViNjdiNDg2
MGZhZTk3ZWYyNGVjN2Q3NWVlMzQ3YzQ5NjQxOGEwLi45YTNiZDZjMThlMTcxOWQyMThjZGFhYzQx
YWJhMzliYWJlOWE4MTdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjgsMTAgKzI4LDYgQEAgc3ZnL2N1c3RvbS91c2UtcmVmZXJlbmNpbmctc3R5bGUt
Y3Jhc2guc3ZnCiAjIFRoaXMgdGVzdCByZXF1aXJlcyBtZWRpYSBjb250cm9scyBoYXMgYSB2b2x1
bWUgc2xpZGVyLgogbWVkaWEvdmlkZW8tdm9sdW1lLXNsaWRlci5odG1sCiAKLSMgVGhpcyB0ZXN0
IHJlcXVpcmVzIGdlbmVyYXRpb24gb2YgcHJvZ3Jlc3MgZXZlbnRzIGR1cmluZyBsb2FkaW5nCi0j
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA5ODQKLW1lZGlhL3By
b2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwKLQogIyBUaGlzIHBvcnQgZG9l
c24ndCBzdXBwb3J0IGRldGVjdGluZyBzbG93IHVubG9hZCBoYW5kbGVycy4KIGZhc3QvZG9tL1dp
bmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9h
ZC1oYW5kbGVyLW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>