<?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>38526</bug_id>
          
          <creation_ts>2010-05-04 08:58:18 -0700</creation_ts>
          <short_desc>[Qt] REGRESSION: CoolClock isn&apos;t rendered properly</short_desc>
          <delta_ts>2010-05-20 01:26:29 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HTML5, Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>krit</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>220623</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-04 08:58:18 -0700</bug_when>
    <thetext>CoolClock at http://randomibis.com/coolclock/ isn&apos;t rendered properly by QtWebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220710</commentid>
    <comment_count>1</comment_count>
      <attachid>55038</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-04 12:33:35 -0700</bug_when>
    <thetext>Created attachment 55038
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220948</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-04 20:02:52 -0700</bug_when>
    <thetext>This is a regression introduced by https://bugs.webkit.org/show_bug.cgi?id=36296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220949</commentid>
    <comment_count>3</comment_count>
      <attachid>55086</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-04 20:13:55 -0700</bug_when>
    <thetext>Created attachment 55086
Proposed patch v2

Simpler fix that also removes the rendering artifact discussed in https://bugs.webkit.org/show_bug.cgi?id=36226</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220974</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-04 23:50:44 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=55086) [details]
&gt; Proposed patch v2
&gt; 
&gt; Simpler fix that also removes the rendering artifact discussed in
&gt; https://bugs.webkit.org/show_bug.cgi?id=36226

Isn&apos;t lineTo still correct for a non-empty path? Or does Qt automatically draw a line to the point p?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220975</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-04 23:54:35 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=55086) [details]
&gt; Proposed patch v2
&gt; 
&gt; Simpler fix that also removes the rendering artifact discussed in
&gt; https://bugs.webkit.org/show_bug.cgi?id=36226

Another point: I think a regression test could be helpfull here. I know that pixel tests are not realy working on Qt, but it is possible to test your behavior with getImageData. See LayoutTests/fast/canvas for examples.
You can use a canvas area of 100x100, filled with green, take a point and arc outside of the canvas area and stroke or fill it with red. If your patch is correct, the area should still be completely green. This is just a suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221056</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-05 04:44:18 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Isn&apos;t lineTo still correct for a non-empty path? Or does Qt automatically draw
&gt; a line to the point p?

From http://doc.qt.nokia.com/4.6/qpainterpath.html#arcTo :

&quot;Note that this function connects the starting point of the arc to the current position if they are not already connected.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221231</commentid>
    <comment_count>7</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-05-05 12:34:28 -0700</bug_when>
    <thetext>This seems like a duplicate of bug 38537. Andreas would you mind joining the work at bug 38537.

I agree with Dirk that we need a test for this  - as far as I can tell no existing LayoutTests are covering this.

*** This bug has been marked as a duplicate of bug 38537 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221489</commentid>
    <comment_count>8</comment_count>
      <attachid>55086</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-05 22:01:18 -0700</bug_when>
    <thetext>Comment on attachment 55086
Proposed patch v2

Every change requires a test.  Even if Qt doesn&apos;t run pixel tests yet. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221623</commentid>
    <comment_count>9</comment_count>
      <attachid>55229</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-06 05:35:19 -0700</bug_when>
    <thetext>Created attachment 55229
Proposed patch v2 + test

@Laszlo: Separate issues IMO, this one is concerned with the regression (painting a line from 0,0 to the start of the arc)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221717</commentid>
    <comment_count>10</comment_count>
      <attachid>55229</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-06 09:16:03 -0700</bug_when>
    <thetext>Comment on attachment 55229
Proposed patch v2 + test

The patch looks great. But please seperate the script from the html file. The script should be placed at script-test. You can also look at other examples there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222357</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-05-07 07:37:52 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 55229 [details])
&gt; The patch looks great. But please seperate the script from the html file. The
&gt; script should be placed at script-test. You can also look at other examples
&gt; there.

Why? There are a lot of layout tests embedding the scripts in the html file as they only serve for the test in question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222384</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-07 08:16:26 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 55229 [details] [details])
&gt; &gt; The patch looks great. But please seperate the script from the html file. The
&gt; &gt; script should be placed at script-test. You can also look at other examples
&gt; &gt; there.
&gt; 
&gt; Why? There are a lot of layout tests embedding the scripts in the html file as
&gt; they only serve for the test in question.

Seperating the script from the html is something like a style rule. It makes it easier to change all tests at once on structure changes. Most tests that ignore this rule are older than this rule, but should be converted to this style. Many people already spend time to move more tests to this style.
We also have a script, that generates the html file for you. You just need to write the script (IIRC make-script-test-wrappers does the rest for you).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222403</commentid>
    <comment_count>13</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-07 08:54:17 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (From update of attachment 55229 [details] [details] [details])
&gt; &gt; &gt; The patch looks great. But please seperate the script from the html file. The
&gt; &gt; &gt; script should be placed at script-test. You can also look at other examples
&gt; &gt; &gt; there.
&gt; &gt; 
&gt; &gt; Why? There are a lot of layout tests embedding the scripts in the html file as
&gt; &gt; they only serve for the test in question.
&gt; 
&gt; Seperating the script from the html is something like a style rule. It makes it
&gt; easier to change all tests at once on structure changes. Most tests that ignore
&gt; this rule are older than this rule, but should be converted to this style. Many
&gt; people already spend time to move more tests to this style.
&gt; We also have a script, that generates the html file for you. You just need to
&gt; write the script (IIRC make-script-test-wrappers does the rest for you).

Dirk, it seems like this wiki page disagrees with you.

http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree

see this parts: &quot;Do not make unnecessary use of external resources: use inline JavaScript and style elements instead of links to external stylesheets. You can also use data: URLs sometimes for things like frames&apos; src attribute. The exceptions are stylesheets and JavaScript libraries that are shared by multiple tests, and cases that test the loading of external resources. (There are various data: url generators on the net.)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222489</commentid>
    <comment_count>14</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-05-07 11:04:52 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; (From update of attachment 55229 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; The patch looks great. But please seperate the script from the html file. The
&gt; &gt; &gt; &gt; script should be placed at script-test. You can also look at other examples
&gt; &gt; &gt; &gt; there.
&gt; &gt; &gt; 
&gt; &gt; &gt; Why? There are a lot of layout tests embedding the scripts in the html file as
&gt; &gt; &gt; they only serve for the test in question.
&gt; &gt; 
&gt; &gt; Seperating the script from the html is something like a style rule. It makes it
&gt; &gt; easier to change all tests at once on structure changes. Most tests that ignore
&gt; &gt; this rule are older than this rule, but should be converted to this style. Many
&gt; &gt; people already spend time to move more tests to this style.
&gt; &gt; We also have a script, that generates the html file for you. You just need to
&gt; &gt; write the script (IIRC make-script-test-wrappers does the rest for you).
&gt; 
&gt; Dirk, it seems like this wiki page disagrees with you.
&gt; 
&gt; http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree
&gt; 
&gt; see this parts: &quot;Do not make unnecessary use of external resources: use inline
&gt; JavaScript and style elements instead of links to external stylesheets. You can
&gt; also use data: URLs sometimes for things like frames&apos; src attribute. The
&gt; exceptions are stylesheets and JavaScript libraries that are shared by multiple
&gt; tests, and cases that test the loading of external resources. (There are
&gt; various data: url generators on the net.)&quot;

Ouch, this needs an update! We should always prefer script-tests/, this is the new preferred framework. Dirk is right.
You should use the js-test-pre.js / js-test-post.js framework. And your testcase should live in script-tests/foo.js, and foo.html will be autogenerated by make-js-test-wrappers, as Dirk explained.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222516</commentid>
    <comment_count>15</comment_count>
      <attachid>55402</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-07 11:54:40 -0700</bug_when>
    <thetext>Created attachment 55402
Proposed patch v3 + 2 tests

Updated patch to also fix another CoolClock issue: arcs stroked with a thick enough lineWidth should look like full circles.
Tests are done in the &quot;new way&quot; now :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222551</commentid>
    <comment_count>16</comment_count>
      <attachid>55402</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-05-07 12:29:35 -0700</bug_when>
    <thetext>Comment on attachment 55402
Proposed patch v3 + 2 tests

r-, but almost there.

if you add fast/canvas/script-tests/foo.js, the fast/canvas/foo.html must exist. Your names don&apos;t match.
The problem is that you&apos;ve manually generated the foo.html files, instead of using make-js-test-wrappers.
You should never modify them by hand, but instead create the &lt;canvas&gt; file automatically. See the other existing tests.
Whenever someone would run make-js-test-wrappers, it would regenerate/overwrite your changes.

Hope you see the issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222552</commentid>
    <comment_count>17</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-05-07 12:31:28 -0700</bug_when>
    <thetext>WebCore/platform/graphics/qt/PathQt.cpp:301
 +      // HACK: This is a workaround due to a bug in Qt&apos;s path stroker.
Please add a bug for tracking this!

WebCore/platform/graphics/qt/PathQt.cpp:318
 +      // NOTE: QPainterPath::isEmpty() won&apos;t work here since it ignores a
lone MoveToElement
Comments should end with a dot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222558</commentid>
    <comment_count>18</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-07 12:37:07 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=55402) [details]
&gt; Proposed patch v3 + 2 tests
&gt; 
&gt; Updated patch to also fix another CoolClock issue: arcs stroked with a thick
&gt; enough lineWidth should look like full circles.
&gt; Tests are done in the &quot;new way&quot; now :)

Please also use something like this for color matches:
imageData = ctx.getImageData(1, 1, 98, 98);
imgdata = imageData.data;
shouldBe(&quot;imgdata[4]&quot;, &quot;0&quot;);
shouldBe(&quot;imgdata[5]&quot;, &quot;128&quot;);
shouldBe(&quot;imgdata[6]&quot;, &quot;0&quot;);

Generates more senseful output than PASS getPixel(ctx, 0,0) is 16711935
and matches the style of other tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222896</commentid>
    <comment_count>19</comment_count>
      <attachid>55479</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-08 10:25:54 -0700</bug_when>
    <thetext>Created attachment 55479
Proposed patch v4

Updated patch, all comments addressed except Kenneth&apos;s about adding a bug to track the path stroker workaround (will add a bug once this goes in.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223657</commentid>
    <comment_count>20</comment_count>
      <attachid>55479</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-05-10 18:54:56 -0700</bug_when>
    <thetext>Comment on attachment 55479
Proposed patch v4

Great! Seems that you fixed all comments, so r=me.

I wonder about the generated tests; shouldn&apos;t they use the html5 doctype &lt;!DOCTYPE html&gt; instead of &lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt; [1]


[1] http://ejohn.org/blog/html5-doctype/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225069</commentid>
    <comment_count>21</comment_count>
      <attachid>55479</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-12 20:08:05 -0700</bug_when>
    <thetext>Comment on attachment 55479
Proposed patch v4

Rejecting patch 55479 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--ignore-tests&apos;, &apos;compositing/iframes&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Last 500 characters of output:
tree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Skipped list contained &apos;compositing/iframes/composited-iframe.html&apos;, but no file of that name could be found
Testing 18336 test cases.
fast/canvas/canvas-arc-small-wide.html -&gt; failed

Exiting early after 1 failures. 4998 tests run.
87.37s total testing time

4997 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
1 test case (&lt;1%) had stderr output

Full output: http://webkit-commit-queue.appspot.com/results/2218184</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225869</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-14 09:08:45 -0700</bug_when>
    <thetext>Kenneth, can you help Andreas landing this patch manually? Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225874</commentid>
    <comment_count>23</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-14 09:15:00 -0700</bug_when>
    <thetext>P1 -&gt; P2. Patch is there, we want it in the release, but IMHO not fully blocking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227231</commentid>
    <comment_count>24</comment_count>
      <attachid>56350</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-05-18 03:29:09 -0700</bug_when>
    <thetext>Created attachment 56350
Proposed patch v5

Updated patch to only fix the regression (line is drawn from 0,0 to the start of the arc.)
I&apos;ll open a separate bug for rendering higher-quality arcs..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227835</commentid>
    <comment_count>25</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-05-19 08:15:10 -0700</bug_when>
    <thetext>I will help to commit the patch manually as it&apos;s been there for days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227844</commentid>
    <comment_count>26</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-05-19 08:56:26 -0700</bug_when>
    <thetext>committed manually. r59767.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227893</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-19 10:59:46 -0700</bug_when>
    <thetext>Sorry about the delays.  The tree has been red for days. :(  The commit-queue only runs when the tree is green.

also, you can use &quot;webkit-patch land-from-bug 38526&quot; to easily land reviewed patches &quot;by hand&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227914</commentid>
    <comment_count>28</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-19 11:41:33 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Sorry about the delays.  The tree has been red for days. :(  The commit-queue only runs when the tree is green.
&gt; 
&gt; also, you can use &quot;webkit-patch land-from-bug 38526&quot; to easily land reviewed patches &quot;by hand&quot;.

But just with commit rights ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228263</commentid>
    <comment_count>29</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-20 01:21:34 -0700</bug_when>
    <thetext>&lt;cherry-pick-for-backport: r59767&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228269</commentid>
    <comment_count>30</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-20 01:25:52 -0700</bug_when>
    <thetext>Revision r59767 cherry-picked into qtwebkit-2.0 with commit d0678db549a8b4534e90f5c21439c43f0fec6a41</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55038</attachid>
            <date>2010-05-04 12:33:35 -0700</date>
            <delta_ts>2010-05-04 19:59:56 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-38526.diff</filename>
            <type>text/plain</type>
            <size>1580</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGFjZjQxYy4uYjIzYzJiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNS0wNCAgQW5kcmVhcyBLbGlu
ZyAgPGFuZHJlYXMua2xpbmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29vbENsb2NrIGlzbid0IHJlbmRlcmVkIHByb3Bl
cmx5CisKKyAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEJ3MgYXJjVG8oKSBzaG91bGQg
Y29ubmVjdCB0byB0aGUgcHJldmlvdXMgcG9pbnQKKyAgICAgICAgd2l0aCBhIHN0cmFpZ2h0IGxp
bmUgKEhUTUw1IHNwZWMgNC44LjExLjEuOCksIGJ1dCBpZiB0aGUgcGF0aCBpcyBlbXB0eQorICAg
ICAgICB0byBiZWdpbiB3aXRoLCB3ZSBkb24ndCB3YW50IGEgbGluZSBiYWNrIHRvICgwLDApCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NTI2CisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGF0aDo6YWRkQXJjKToKKwogMjAxMC0wNS0wNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhRdC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhRdC5jcHAKaW5kZXggNGIwYzIxZi4uMTEw
OGY2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0LmNwcApAQCAtMjk4LDkg
KzI5OCwxMiBAQCB2b2lkIFBhdGg6OmFkZEFyYyhjb25zdCBGbG9hdFBvaW50JiBwLCBmbG9hdCBy
LCBmbG9hdCBzYXIsIGZsb2F0IGVhciwgYm9vbCBhbnRpYwogICAgICAgICBzcGFuICs9IGVhIC0g
c2E7CiAgICAgfQogCi0gICAgLy8gY29ubmVjdCB0byB0aGUgcHJldmlvdXMgcG9pbnQgYnkgYSBz
dHJhaWdodCBsaW5lCi0gICAgbV9wYXRoLmxpbmVUbyhRUG9pbnRGKHhjICsgcmFkaXVzICAqIGNv
cyhzYXIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICB5YyAtIHJhZGl1cyAgKiBzaW4oc2Fy
KSkpOworICAgIC8vIGNvbm5lY3QgdG8gdGhlIHByZXZpb3VzIHBvaW50IChpZiBvbmUgZXhpc3Rz
KSBieSBhIHN0cmFpZ2h0IGxpbmUKKyAgICBRUG9pbnRGIGFyY1N0YXJ0UG9pbnQoeGMgKyByYWRp
dXMgKiBjb3Moc2FyKSwgeWMgLSByYWRpdXMgKiBzaW4oc2FyKSk7CisgICAgaWYgKCFtX3BhdGgu
aXNFbXB0eSgpKQorICAgICAgICBtX3BhdGgubGluZVRvKGFyY1N0YXJ0UG9pbnQpOworICAgIGVs
c2UKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhhcmNTdGFydFBvaW50KTsKIAogICAgIG1fcGF0aC5h
cmNUbyh4cywgeXMsIHdpZHRoLCBoZWlnaHQsIHNhLCBzcGFuKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55086</attachid>
            <date>2010-05-04 20:13:55 -0700</date>
            <delta_ts>2010-05-06 05:35:19 -0700</delta_ts>
            <desc>Proposed patch v2</desc>
            <filename>bug-38526-2.diff</filename>
            <type>text/plain</type>
            <size>1870</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGFjZjQxYy4uOGMzMTcyYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wNS0wNCAgQW5kcmVhcyBLbGlu
ZyAgPGFuZHJlYXMua2xpbmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gUkVHUkVTU0lPTjogQ29vbENsb2NrIGlzbid0IHJl
bmRlcmVkIHByb3Blcmx5CisKKyAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEJ3MgYXJj
VG8oKSBzaG91bGQgY29ubmVjdCB0byB0aGUgcHJldmlvdXMgcG9pbnQKKyAgICAgICAgd2l0aCBh
IHN0cmFpZ2h0IGxpbmUgKEhUTUw1IHNwZWMgNC44LjExLjEuOCksIGJ1dCBpZiB0aGUgcGF0aCBp
cyBlbXB0eQorICAgICAgICB0byBiZWdpbiB3aXRoLCB3ZSBkb24ndCB3YW50IGEgbGluZSBiYWNr
IHRvICgwLDApCisKKyAgICAgICAgUVBhaW50ZXJQYXRoIHdpbGwgYWRkIHRoZSBzdHJhaWdodCBs
aW5lIGF1dG9tYWdpY2FsbHkgaW4gYXJjVG8oKSwKKyAgICAgICAgc28gSSByZW1vdmVkIHRoZSBl
eHBsaWNpdCAoYW5kIHNsaWdodGx5IGluY29ycmVjdCkgY29kZSBmb3IgdGhhdC4KKyAgICAgICAg
VGhpcyBhbHNvIGZpeGVzIGEgcmVuZGVyaW5nIGFydGlmYWN0IChidWcgMzYyMjYpCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NTI2CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjIyNgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
dGg6OmFkZEFyYyk6CisKIDIwMTAtMDUtMDQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwCmluZGV4IDRiMGMyMWYuLmE3MzUxYTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0LmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhRdC5jcHAKQEAgLTI5OCw5ICsyOTgsMTAg
QEAgdm9pZCBQYXRoOjphZGRBcmMoY29uc3QgRmxvYXRQb2ludCYgcCwgZmxvYXQgciwgZmxvYXQg
c2FyLCBmbG9hdCBlYXIsIGJvb2wgYW50aWMKICAgICAgICAgc3BhbiArPSBlYSAtIHNhOwogICAg
IH0KIAotICAgIC8vIGNvbm5lY3QgdG8gdGhlIHByZXZpb3VzIHBvaW50IGJ5IGEgc3RyYWlnaHQg
bGluZQotICAgIG1fcGF0aC5saW5lVG8oUVBvaW50Rih4YyArIHJhZGl1cyAgKiBjb3Moc2FyKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgeWMgLSByYWRpdXMgICogc2luKHNhcikpKTsKKyAg
ICAvLyBJZiB0aGUgcGF0aCBpcyBlbXB0eSwgbW92ZSB0byB3aGVyZSB0aGUgYXJjIHdpbGwgc3Rh
cnQgdG8gYXZvaWQgcGFpbnRpbmcgYSBsaW5lIGZyb20gKDAsMCkKKyAgICAvLyBOT1RFOiBRUGFp
bnRlclBhdGg6OmlzRW1wdHkoKSB3b24ndCB3b3JrIGhlcmUgc2luY2UgaXQgaWdub3JlcyBhIGxv
bmUgTW92ZVRvRWxlbWVudAorICAgIGlmICghbV9wYXRoLmVsZW1lbnRDb3VudCgpKQorICAgICAg
ICBtX3BhdGguYXJjTW92ZVRvKHhzLCB5cywgd2lkdGgsIGhlaWdodCwgc2EpOwogCiAgICAgbV9w
YXRoLmFyY1RvKHhzLCB5cywgd2lkdGgsIGhlaWdodCwgc2EsIHNwYW4pOwogCg==
</data>
<flag name="review"
          id="39188"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55229</attachid>
            <date>2010-05-06 05:35:19 -0700</date>
            <delta_ts>2010-05-07 11:54:40 -0700</delta_ts>
            <desc>Proposed patch v2 + test</desc>
            <filename>bug-38526-4.diff</filename>
            <type>text/plain</type>
            <size>4934</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMzNjYzE4Li5lN2NkZTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDUt
MDYgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IHRvIGNoZWNr
IHRoYXQgY2FudmFzIGFyYygpcyBhcmUgY29ubmVjdGVkIGJ5IGEgc3RyYWlnaHQgbGluZS4KKyAg
ICAgICAgQWxzbyBjaGVja3MgdGhhdCBubyBsaW5lIGlzIGRyYXduIGZyb20gKDAsMCkgdG8gdGhl
IGZpcnN0IGFyYy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mzg1MjYKKworICAgICAgICAqIGZhc3QvY2FudmFzL2FyYy1jb25uZWN0aW5nLWxpbmUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9hcmMtY29ubmVjdGlu
Zy1saW5lLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA1LTA2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9hcmMtY29ubmVjdGluZy1saW5lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2FyYy1jb25uZWN0aW5nLWxpbmUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzN2I4NDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9hcmMtY29ubmVjdGluZy1saW5lLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3QgdGhhdCBjYW52YXMgYXJjKClzIGFyZSBj
b25uZWN0ZWQgYnkgYSBzdHJhaWdodCBsaW5lLiBUaGVyZSBzaG91bGQgYmUgdHdvIEMtc2hhcGVz
IHdpdGggYSBsaW5lIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgbGVmdCBvbmUgdG8gdGhlIHRvcCBv
ZiB0aGUgcmlnaHQgb25lLgorCitDaGVjayB0aGF0ICgwLDApIGlzIGdyZWVuOiBTVUNDRVNTCitD
aGVjayB0aGF0ICgxMjUsMzApIGlzIGdyZWVuOiBTVUNDRVNTCitDaGVjayB0aGF0ICgxMjUsNzAp
IGlzIGJsYWNrOiBTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9h
cmMtY29ubmVjdGluZy1saW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9hcmMtY29u
bmVjdGluZy1saW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFj
YzkzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2FyYy1jb25u
ZWN0aW5nLWxpbmUuaHRtbApAQCAtMCwwICsxLDM2IEBACis8Ym9keT4KKzxwPlRlc3QgdGhhdCBj
YW52YXMgYXJjKClzIGFyZSBjb25uZWN0ZWQgYnkgYSBzdHJhaWdodCBsaW5lLiBUaGVyZSBzaG91
bGQgYmUgdHdvIEMtc2hhcGVzIHdpdGggYSBsaW5lIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgbGVm
dCBvbmUgdG8gdGhlIHRvcCBvZiB0aGUgcmlnaHQgb25lLjwvcD4KKzxjYW52YXMgaWQ9Im15Y2Fu
dmFzIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPHNjcmlwdD4KK3ZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bXljYW52YXMnKTsKK3ZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKK2Z1bmN0aW9u
IGRlZzJyYWQoeCkgeworICByZXR1cm4geCAqIDMuMTQxNTkyNjUzNTg5IC8gMTgwOworfQorY3R4
LmZpbGxTdHlsZSA9ICcjMGYwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNh
bnZhcy5oZWlnaHQpOworY3R4LmxpbmVKb2luID0gJ2JldmVsJzsKK2N0eC5saW5lV2lkdGggPSAx
MjsKK2N0eC5iZWdpblBhdGgoKTsKK2N0eC5hcmMoMjAwLCA1MCwgNDAsIGRlZzJyYWQoOTApLCBk
ZWcycmFkKC05MCksIGZhbHNlKTsKK2N0eC5hcmMoMTAwLCA1MCwgNDAsIGRlZzJyYWQoOTApLCBk
ZWcycmFkKC05MCksIGZhbHNlKTsKK2N0eC5zdHJva2UoKTsKKworZnVuY3Rpb24gZ2V0X3BpeGVs
KGN0eCwgeCwgeSkgeworICAgIGRhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIGN0eC5jYW52
YXMud2lkdGgsIGN0eC5jYW52YXMuaGVpZ2h0KS5kYXRhOworICAgIG9mZnNldCA9IHkgKiBjdHgu
Y2FudmFzLndpZHRoICogNCArIHggKiA0OworICAgIHJldHVybiBkYXRhW29mZnNldF0gPDwgMjQg
fCBkYXRhW29mZnNldCArIDFdIDw8IDE2IHwgZGF0YVtvZmZzZXQgKyAyXSA8PCA4IHwgZGF0YVtv
ZmZzZXQgKyAzXTsKK30KKworcmVzdWx0c3RyaW5nID0gIkNoZWNrIHRoYXQgKDAsMCkgaXMgZ3Jl
ZW46ICIgKyAoKGdldF9waXhlbChjdHgsIDAsIDApID09IDB4MDBGRjAwRkYpID8gIlNVQ0NFU1Mi
IDogIkZBSUxVUkUiKTsKK3Jlc3VsdHN0cmluZyArPSAiPGJyLz4iOworcmVzdWx0c3RyaW5nICs9
ICJDaGVjayB0aGF0ICgxMjUsMzApIGlzIGdyZWVuOiAiICsgKChnZXRfcGl4ZWwoY3R4LCAxMjUs
IDMwKSA9PSAweDAwRkYwMEZGKSA/ICJTVUNDRVNTIiA6ICJGQUlMVVJFIik7CityZXN1bHRzdHJp
bmcgKz0gIjxici8+IjsKK3Jlc3VsdHN0cmluZyArPSAiQ2hlY2sgdGhhdCAoMTI1LDcwKSBpcyBi
bGFjazogIiArICgoZ2V0X3BpeGVsKGN0eCwgMTI1LCA3MCkgPT0gMHgwMDAwMDBGRikgPyAiU1VD
Q0VTUyIgOiAiRkFJTFVSRSIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlu
bmVySFRNTCA9IHJlc3VsdHN0cmluZzsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggY2ZmYTY5Mi4uZmZiNDM4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wNS0wNiAgQW5kcmVh
cyBLbGluZyAgPGFuZHJlYXMua2xpbmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gUkVHUkVTU0lPTjogQ29vbENsb2NrIGlz
bid0IHJlbmRlcmVkIHByb3Blcmx5CisKKyAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
J3MgYXJjVG8oKSBzaG91bGQgY29ubmVjdCB0byB0aGUgcHJldmlvdXMgcG9pbnQKKyAgICAgICAg
d2l0aCBhIHN0cmFpZ2h0IGxpbmUgKEhUTUw1IHNwZWMgNC44LjExLjEuOCksIGJ1dCBpZiB0aGUg
cGF0aCBpcyBlbXB0eQorICAgICAgICB0byBiZWdpbiB3aXRoLCB3ZSBkb24ndCB3YW50IGEgbGlu
ZSBiYWNrIHRvICgwLDApCisKKyAgICAgICAgUVBhaW50ZXJQYXRoIHdpbGwgYWRkIHRoZSBzdHJh
aWdodCBsaW5lIGF1dG9tYWdpY2FsbHkgaW4gYXJjVG8oKSwKKyAgICAgICAgc28gSSByZW1vdmVk
IHRoZSBleHBsaWNpdCAoYW5kIHNsaWdodGx5IGluY29ycmVjdCkgY29kZSBmb3IgdGhhdC4KKyAg
ICAgICAgVGhpcyBhbHNvIGZpeGVzIGEgcmVuZGVyaW5nIGFydGlmYWN0IChidWcgMzYyMjYpCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NTI2Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjIyNgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2FyYy1jb25uZWN0aW5nLWxpbmUuaHRtbAorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhdGg6OmFkZEFyYyk6CisKIDIwMTAtMDUtMDUgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwCmluZGV4IDRiMGMyMWYuLjVkYzM5NjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0LmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhRdC5jcHAKQEAgLTI5OCwxMiArMjk4LDEyIEBA
IHZvaWQgUGF0aDo6YWRkQXJjKGNvbnN0IEZsb2F0UG9pbnQmIHAsIGZsb2F0IHIsIGZsb2F0IHNh
ciwgZmxvYXQgZWFyLCBib29sIGFudGljCiAgICAgICAgIHNwYW4gKz0gZWEgLSBzYTsKICAgICB9
CiAKLSAgICAvLyBjb25uZWN0IHRvIHRoZSBwcmV2aW91cyBwb2ludCBieSBhIHN0cmFpZ2h0IGxp
bmUKLSAgICBtX3BhdGgubGluZVRvKFFQb2ludEYoeGMgKyByYWRpdXMgICogY29zKHNhciksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHljIC0gcmFkaXVzICAqIHNpbihzYXIpKSk7CisgICAg
Ly8gSWYgdGhlIHBhdGggaXMgZW1wdHksIG1vdmUgdG8gd2hlcmUgdGhlIGFyYyB3aWxsIHN0YXJ0
IHRvIGF2b2lkIHBhaW50aW5nIGEgbGluZSBmcm9tICgwLDApCisgICAgLy8gTk9URTogUVBhaW50
ZXJQYXRoOjppc0VtcHR5KCkgd29uJ3Qgd29yayBoZXJlIHNpbmNlIGl0IGlnbm9yZXMgYSBsb25l
IE1vdmVUb0VsZW1lbnQKKyAgICBpZiAoIW1fcGF0aC5lbGVtZW50Q291bnQoKSkKKyAgICAgICAg
bV9wYXRoLmFyY01vdmVUbyh4cywgeXMsIHdpZHRoLCBoZWlnaHQsIHNhKTsKIAogICAgIG1fcGF0
aC5hcmNUbyh4cywgeXMsIHdpZHRoLCBoZWlnaHQsIHNhLCBzcGFuKTsKLQogfQogCiB2b2lkIFBh
dGg6OmFkZFJlY3QoY29uc3QgRmxvYXRSZWN0JiByKQo=
</data>
<flag name="review"
          id="39368"
          type_id="1"
          status="-"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55402</attachid>
            <date>2010-05-07 11:54:40 -0700</date>
            <delta_ts>2010-05-08 10:25:54 -0700</delta_ts>
            <desc>Proposed patch v3 + 2 tests</desc>
            <filename>bug-38526-5.diff</filename>
            <type>text/plain</type>
            <size>9715</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4YTg0YTc2Li42ZWNkZTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDUt
MDcgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdHdvIHRlc3RzIGZvciBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQncyBhcmMoKQorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODUyNgorCisgICAgICAgICogZmFzdC9jYW52YXMv
Y2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtYXJjLXNtYWxsLXdpZGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtYXJjLXNtYWxsLXdpZGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1hcmMtY29u
bmVjdGluZy1saW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKGRlZzJyYWQpOgorICAgICAgICAoZ2V0
UGl4ZWwpOgorICAgICAgICAoY2hlY2tQaXhlbCk6CisgICAgICAgICogZmFzdC9jYW52YXMvc2Ny
aXB0LXRlc3RzL2NhbnZhcy1hcmMtc21hbGwtd2lkZS5qczogQWRkZWQuCisgICAgICAgIChkZWcy
cmFkKToKKyAgICAgICAgKGdldFBpeGVsKToKKyAgICAgICAgKGNoZWNrUGl4ZWwpOgorCiAyMDEw
LTA1LTA3ICBKb2huIEdyZWdnICA8am9obm55Z0Bnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJlYmFzZWxpbmUgZm9yIGNocm9taXVtLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkNzljNzAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtYXJjLWNvbm5lY3Rpbmct
bGluZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCB0aGF0IGNhbnZhcyBhcmMo
KXMgYXJlIGNvbm5lY3RlZCBieSBhIHN0cmFpZ2h0IGxpbmUuIFRoZXJlIHNob3VsZCBiZSB0d28g
Qy1zaGFwZXMgd2l0aCBhIGxpbmUgZnJvbSB0aGUgYm90dG9tIG9mIHRoZSBsZWZ0IG9uZSB0byB0
aGUgdG9wIG9mIHRoZSByaWdodCBvbmUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGdldFBpeGVsKGN0eCwgMCwwKSBpcyAxNjcxMTkzNQorUEFTUyBnZXRQaXhlbChjdHgs
IDEyNSwzMCkgaXMgMTY3MTE5MzUKK1BBU1MgZ2V0UGl4ZWwoY3R4LCAxMjUsNzApIGlzIDI1NQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1hcmMtY29ubmVjdGluZy1saW5l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGlu
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5MjBlYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtYXJjLWNvbm5lY3Rp
bmctbGluZS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8Y2FudmFzIGlkPSJteWNhbnZhcyIgd2lk
dGg9IjMwMCIgaGVpZ2h0PSIzMDAiPjwvY2FudmFzPjxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtYXJjLXNtYWxsLXdpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvY2FudmFzLWFyYy1zbWFsbC13aWRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi40ZTJjMDMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvY2FudmFzLWFyYy1zbWFsbC13aWRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE1IEBACitUZXN0IHRoYXQgYSBzbWFsbCBjYW52YXMgYXJjKClzIHdpdGggYSBsYXJnZSBlbm91
Z2ggbGluZVdpZHRoIGlzIHBhaW50ZWQgYXMgYSBmdWxsIGNpcmNsZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgZ2V0UGl4ZWwoY3R4LCAwLDApIGlzIDE2NzExOTM1CitQ
QVNTIGdldFBpeGVsKGN0eCwgMzAsMzApIGlzIDE2NzExOTM1CitQQVNTIGdldFBpeGVsKGN0eCwg
NzAsNzApIGlzIDI1NQorUEFTUyBnZXRQaXhlbChjdHgsIDEyMCwxMjApIGlzIDI1NQorUEFTUyBn
ZXRQaXhlbChjdHgsIDE1MCwxNTApIGlzIDI1NQorUEFTUyBnZXRQaXhlbChjdHgsIDIyMCwyMjAp
IGlzIDE2NzExOTM1CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWFyYy1z
bWFsbC13aWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtYXJjLXNtYWxs
LXdpZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTZkMjU3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWFyYy1zbWFs
bC13aWRlLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxjYW52YXMgaWQ9Im15Y2FudmFzIiB3aWR0
aD0iMzAwIiBoZWlnaHQ9IjMwMCI+PC9jYW52YXM+PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NhbnZhcy1hcmMtc21hbGwtd2lkZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQt
dGVzdHMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZlZDMyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtYXJjLWNvbm5lY3Rpbmct
bGluZS5qcwpAQCAtMCwwICsxLDMyIEBACitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGNhbnZhcyBh
cmMoKXMgYXJlIGNvbm5lY3RlZCBieSBhIHN0cmFpZ2h0IGxpbmUuIFRoZXJlIHNob3VsZCBiZSB0
d28gQy1zaGFwZXMgd2l0aCBhIGxpbmUgZnJvbSB0aGUgYm90dG9tIG9mIHRoZSBsZWZ0IG9uZSB0
byB0aGUgdG9wIG9mIHRoZSByaWdodCBvbmUuIik7CisKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbXljYW52YXMnKTsKK3ZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKK2Z1bmN0aW9uIGRlZzJyYWQoeCkgeworICByZXR1cm4geCAqIDMuMTQxNTkyNjUzNTg5
IC8gMTgwOworfQorY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCBj
YW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOworY3R4LmxpbmVKb2luID0gJ2JldmVsJzsKK2N0
eC5saW5lV2lkdGggPSAxMjsKK2N0eC5iZWdpblBhdGgoKTsKK2N0eC5hcmMoMjAwLCA1MCwgNDAs
IGRlZzJyYWQoOTApLCBkZWcycmFkKC05MCksIGZhbHNlKTsKK2N0eC5hcmMoMTAwLCA1MCwgNDAs
IGRlZzJyYWQoOTApLCBkZWcycmFkKC05MCksIGZhbHNlKTsKK2N0eC5zdHJva2UoKTsKKworZnVu
Y3Rpb24gZ2V0UGl4ZWwoY3R4LCB4LCB5KSB7CisgICAgdmFyIGRhdGEgPSBjdHguZ2V0SW1hZ2VE
YXRhKDAsIDAsIGN0eC5jYW52YXMud2lkdGgsIGN0eC5jYW52YXMuaGVpZ2h0KS5kYXRhOworICAg
IHZhciBvZmZzZXQgPSB5ICogY3R4LmNhbnZhcy53aWR0aCAqIDQgKyB4ICogNDsKKyAgICByZXR1
cm4gZGF0YVtvZmZzZXRdIDw8IDI0IHwgZGF0YVtvZmZzZXQgKyAxXSA8PCAxNiB8IGRhdGFbb2Zm
c2V0ICsgMl0gPDwgOCB8IGRhdGFbb2Zmc2V0ICsgM107Cit9CisKK2Z1bmN0aW9uIGNoZWNrUGl4
ZWwoY3R4LCB4LCB5LCBleHBlY3RlZFZhbHVlKQoreworICAgIHNob3VsZEJlKCJnZXRQaXhlbChj
dHgsICIgKyB4ICsgIiwiICsgeSArICIpIiwgZXhwZWN0ZWRWYWx1ZS50b1N0cmluZygpKTsKK30K
KworY2hlY2tQaXhlbChjdHgsIDAsIDAsIDB4MDBGRjAwRkYpOworY2hlY2tQaXhlbChjdHgsIDEy
NSwgMzAsIDB4MDBGRjAwRkYpOworY2hlY2tQaXhlbChjdHgsIDEyNSwgNzAsIDB4MDAwMDAwRkYp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtYXJjLXNtYWxsLXdpZGUuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWFyYy1zbWFsbC13aWRl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1ZmM5ZjYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWFy
Yy1zbWFsbC13aWRlLmpzCkBAIC0wLDAgKzEsMzQgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQg
YSBzbWFsbCBjYW52YXMgYXJjKClzIHdpdGggYSBsYXJnZSBlbm91Z2ggbGluZVdpZHRoIGlzIHBh
aW50ZWQgYXMgYSBmdWxsIGNpcmNsZS4iKTsKKwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdteWNhbnZhcycpOwordmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OworZnVuY3Rpb24gZGVnMnJhZCh4KSB7CisgIHJldHVybiB4ICogMy4xNDE1OTI2NTM1ODkgLyAx
ODA7Cit9CitjdHguZmlsbFN0eWxlID0gJyMwZjAnOworY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZh
cy53aWR0aCwgY2FudmFzLmhlaWdodCk7CitjdHgubGluZUpvaW4gPSAnYmV2ZWwnOworY3R4Lmxp
bmVXaWR0aCA9IDEyMDsKK2N0eC5iZWdpblBhdGgoKTsKK2N0eC5hcmMoMTIwLCAxMjAsIDQwLCBk
ZWcycmFkKDApLCBkZWcycmFkKDM2MCksIGZhbHNlKTsKK2N0eC5zdHJva2UoKTsKKworZnVuY3Rp
b24gZ2V0UGl4ZWwoY3R4LCB4LCB5KSB7CisgICAgdmFyIGRhdGEgPSBjdHguZ2V0SW1hZ2VEYXRh
KDAsIDAsIGN0eC5jYW52YXMud2lkdGgsIGN0eC5jYW52YXMuaGVpZ2h0KS5kYXRhOworICAgIHZh
ciBvZmZzZXQgPSB5ICogY3R4LmNhbnZhcy53aWR0aCAqIDQgKyB4ICogNDsKKyAgICByZXR1cm4g
ZGF0YVtvZmZzZXRdIDw8IDI0IHwgZGF0YVtvZmZzZXQgKyAxXSA8PCAxNiB8IGRhdGFbb2Zmc2V0
ICsgMl0gPDwgOCB8IGRhdGFbb2Zmc2V0ICsgM107Cit9CisKK2Z1bmN0aW9uIGNoZWNrUGl4ZWwo
Y3R4LCB4LCB5LCBleHBlY3RlZFZhbHVlKQoreworICAgIHNob3VsZEJlKCJnZXRQaXhlbChjdHgs
ICIgKyB4ICsgIiwiICsgeSArICIpIiwgZXhwZWN0ZWRWYWx1ZS50b1N0cmluZygpKTsKK30KKwor
Y2hlY2tQaXhlbChjdHgsIDAsIDAsIDB4MDBGRjAwRkYpOworY2hlY2tQaXhlbChjdHgsIDMwLCAz
MCwgMHgwMEZGMDBGRik7CitjaGVja1BpeGVsKGN0eCwgNzAsIDcwLCAweDAwMDAwMEZGKTsKK2No
ZWNrUGl4ZWwoY3R4LCAxMjAsIDEyMCwgMHgwMDAwMDBGRik7CitjaGVja1BpeGVsKGN0eCwgMTUw
LCAxNTAsIDB4MDAwMDAwRkYpOworY2hlY2tQaXhlbChjdHgsIDIyMCwgMjIwLCAweDAwRkYwMEZG
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg3ODYyOGQuLjgyODAyNDQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMTAtMDUtMDcgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5v
a2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbUXRdIFJFR1JFU1NJT046IENvb2xDbG9jayBpc24ndCByZW5kZXJlZCBwcm9wZXJseQorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODUyNgorCisg
ICAgICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCdzIGFyY1RvKCkgc2hvdWxkIGNvbm5lY3Qg
dG8gdGhlIHByZXZpb3VzIHBvaW50CisgICAgICAgIHdpdGggYSBzdHJhaWdodCBsaW5lIChIVE1M
NSBzcGVjIDQuOC4xMS4xLjgpLCBidXQgaWYgdGhlIHBhdGggaXMgZW1wdHkKKyAgICAgICAgdG8g
YmVnaW4gd2l0aCwgd2UgZG9uJ3Qgd2FudCBhIGxpbmUgYmFjayB0byAoMCwwKQorCisgICAgICAg
IFVuZm9ydHVuYXRlbHkgUXQgaXMgYnVnZ3kgd2hlbiBzdHJva2luZyBhcmNzIHdpdGggYSB0aGlj
ayBsaW5lV2lkdGgsCisgICAgICAgIHNvIHdlIGhhdmUgdG8gd29yayBhcm91bmQgaXQgYnkgY29u
dmVydGluZyB0aGUgYXJjIHRvIGEgcG9seWdvbi4KKyAgICAgICAgU2VlIGh0dHA6Ly9idWdyZXBv
cnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTA0OTMKKworICAgICAgICBUaGlzIGNoYW5n
ZSBhbHNvIGZpeGVzIHRoZSByZW5kZXJpbmcgYXJ0aWZhY3QgZGlzY3Vzc2VkIGluIGJ1ZyAzNjIy
Ni4KKworICAgICAgICBUZXN0czogZmFzdC9jYW52YXMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxp
bmUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvY2FudmFzLWFyYy1zbWFsbC13aWRl
Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYXRoOjphZGRBcmMpOgorCiAyMDEwLTA1LTA3ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQ
ZWNvcmFyby4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0LmNwcAppbmRleCA0YjBj
MjFmLi40OTFhZDRiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Bh
dGhRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwCkBA
IC0yOTgsMTIgKzI5OCwzNCBAQCB2b2lkIFBhdGg6OmFkZEFyYyhjb25zdCBGbG9hdFBvaW50JiBw
LCBmbG9hdCByLCBmbG9hdCBzYXIsIGZsb2F0IGVhciwgYm9vbCBhbnRpYwogICAgICAgICBzcGFu
ICs9IGVhIC0gc2E7CiAgICAgfQogCi0gICAgLy8gY29ubmVjdCB0byB0aGUgcHJldmlvdXMgcG9p
bnQgYnkgYSBzdHJhaWdodCBsaW5lCi0gICAgbV9wYXRoLmxpbmVUbyhRUG9pbnRGKHhjICsgcmFk
aXVzICAqIGNvcyhzYXIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICB5YyAtIHJhZGl1cyAg
KiBzaW4oc2FyKSkpOworICAgIC8vIEhBQ0s6IFRoaXMgaXMgYSB3b3JrYXJvdW5kIGR1ZSB0byBh
IGJ1ZyBpbiBRdCdzIHBhdGggc3Ryb2tlci4KKyAgICAvLyAgICAgICBTZWUgaHR0cDovL2J1Z3Jl
cG9ydHMucXQubm9raWEuY29tL2Jyb3dzZS9RVEJVRy0xMDQ5MworICAgIC8vICAgICAgIFN0cm9r
aW5nIGFuIGFyYyB3aXRoIGEgdGhpY2sgbGluZVdpZHRoIHdpbGwgcHJvZHVjZSBzdHJhbmdlIHJl
c3VsdHMuCisgICAgLy8gICAgICAgVGhlcmVmb3JlIHdlIGNvbnZlcnQgdGhlIGFyYyB0byBhIHBv
bHlnb24gYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgcGF0aC4KKyAgICBRUGFpbnRlclBhdGggdGVt
cFBhdGg7CiAKLSAgICBtX3BhdGguYXJjVG8oeHMsIHlzLCB3aWR0aCwgaGVpZ2h0LCBzYSwgc3Bh
bik7CisgICAgdGVtcFBhdGguYXJjTW92ZVRvKHhzLCB5cywgd2lkdGgsIGhlaWdodCwgc2EpOwor
ICAgIHRlbXBQYXRoLmFyY1RvKHhzLCB5cywgd2lkdGgsIGhlaWdodCwgc2EsIHNwYW4pOwogCisg
ICAgUUxpc3Q8UVBvbHlnb25GPiBhcmNBc1BvbHlnb25zID0gdGVtcFBhdGgudG9TdWJwYXRoUG9s
eWdvbnMoKTsKKworICAgIGlmIChhcmNBc1BvbHlnb25zLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgUVBvbHlnb25GIGFyY0FzUG9seWdvbiA9IGFyY0FzUG9seWdvbnMuZmlyc3Qo
KTsKKworICAgIC8vIERyYXcgYSBzdHJhaWdodCBsaW5lIGZyb20gdGhlIHByZXZpb3VzIHBvaW50
IChpZiBvbmUgZXhpc3RzLikKKyAgICAvLyBOT1RFOiBRUGFpbnRlclBhdGg6OmlzRW1wdHkoKSB3
b24ndCB3b3JrIGhlcmUgc2luY2UgaXQgaWdub3JlcyBhIGxvbmUgTW92ZVRvRWxlbWVudAorICAg
IGlmIChtX3BhdGguZWxlbWVudENvdW50KCkpCisgICAgICAgIG1fcGF0aC5saW5lVG8oYXJjQXNQ
b2x5Z29uLmZpcnN0KCkpOworICAgIGVsc2UKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhhcmNBc1Bv
bHlnb24uZmlyc3QoKSk7CisKKyAgICAvLyBXZSBjYW4ndCB1c2UgUVBhaW50ZXJQYXRoOjphZGRQ
b2x5Z29uKCkgaGVyZSwgc2luY2UgaXQgd2lsbCBkbyBhbiBpbXBsaWNpdAorICAgIC8vIG1vdmVU
bygpIG9uIHRoZSBwYXRoIHdoaWNoIGNhdXNlcyB1Z2x5IHJlbmRlcmluZyB3aXRoIHRoaWNrZXIg
bGluZVdpZHRocy4KKyAgICBjb25zdCBpbnQgcG9seWdvbkxpbmVzID0gYXJjQXNQb2x5Z29uLnNp
emUoKTsKKyAgICBmb3IgKGludCBpID0gMTsgaSA8IHBvbHlnb25MaW5lczsgKytpKQorICAgICAg
ICBtX3BhdGgubGluZVRvKGFyY0FzUG9seWdvbi5hdChpKSk7CiB9CiAKIHZvaWQgUGF0aDo6YWRk
UmVjdChjb25zdCBGbG9hdFJlY3QmIHIpCg==
</data>
<flag name="review"
          id="39577"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55479</attachid>
            <date>2010-05-08 10:25:54 -0700</date>
            <delta_ts>2010-05-18 03:29:09 -0700</delta_ts>
            <desc>Proposed patch v4</desc>
            <filename>bug-38526-6.diff</filename>
            <type>text/plain</type>
            <size>10293</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMDg0YzI0Li45NGM2ZWEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDUt
MDggIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdHdvIHRlc3RzIGZvciBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQncyBhcmMoKQorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODUyNgorCisgICAgICAgICogZmFzdC9jYW52YXMv
Y2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtYXJjLXNtYWxsLXdpZGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtYXJjLXNtYWxsLXdpZGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1hcmMtY29u
bmVjdGluZy1saW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKGRlZzJyYWQpOgorICAgICAgICAqIGZh
c3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtYXJjLXNtYWxsLXdpZGUuanM6IEFkZGVkLgor
ICAgICAgICAoZGVnMnJhZCk6CisKIDIwMTAtMDUtMDggIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgUXQgYm90IGZpeDogdGVzdCB1bnNraXBw
ZWQgYWNjaWRlbnRhbGx5IGluIHI1OTAyMC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1hcmMtY29ubmVjdGluZy1saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1hcmMtY29ubmVjdGluZy1saW5lLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTYyYmUwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1Rlc3QgdGhhdCBjYW52YXMgYXJjKClzIGFy
ZSBjb25uZWN0ZWQgYnkgYSBzdHJhaWdodCBsaW5lLiBUaGVyZSBzaG91bGQgYmUgdHdvIEMtc2hh
cGVzIHdpdGggYSBsaW5lIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgbGVmdCBvbmUgdG8gdGhlIHRv
cCBvZiB0aGUgcmlnaHQgb25lLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBpcyAyNTUKK1BBU1MgaW1nZGF0YVsy
XSBpcyAwCitQQVNTIGltZ2RhdGFbMF0gaXMgMAorUEFTUyBpbWdkYXRhWzFdIGlzIDI1NQorUEFT
UyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFbMV0g
aXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5hNmM1MzYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxpbmUuaHRtbApAQCAtMCwwICsxLDEzIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Nh
bnZhcy1hcmMtY29ubmVjdGluZy1saW5lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1hcmMtc21hbGwtd2lk
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtYXJjLXNtYWxs
LXdpZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMy
ZmFiZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
YXJjLXNtYWxsLXdpZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK1Rlc3QgdGhhdCBh
IHNtYWxsIGNhbnZhcyBhcmMoKXMgd2l0aCBhIHRoaWNrIGVub3VnaCBsaW5lV2lkdGggaXMgcGFp
bnRlZCBhcyBhIGZ1bGwgY2lyY2xlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBpcyAyNTUKK1BBU1MgaW1nZGF0
YVsyXSBpcyAwCitQQVNTIGltZ2RhdGFbMF0gaXMgMAorUEFTUyBpbWdkYXRhWzFdIGlzIDI1NQor
UEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFb
MV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNT
IGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVswXSBp
cyAwCitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1n
ZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFbMV0gaXMgMjU1CitQQVNTIGltZ2RhdGFbMl0gaXMg
MAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1hcmMtc21hbGwtd2lkZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWFyYy1zbWFsbC13aWRlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJiODdhNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1hcmMtc21hbGwtd2lkZS5odG1s
CkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvY2FudmFzLWFyYy1zbWFsbC13aWRlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10
ZXN0cy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzk2ZGViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1hcmMtY29ubmVjdGluZy1s
aW5lLmpzCkBAIC0wLDAgKzEsMzcgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgY2FudmFzIGFy
YygpcyBhcmUgY29ubmVjdGVkIGJ5IGEgc3RyYWlnaHQgbGluZS4gVGhlcmUgc2hvdWxkIGJlIHR3
byBDLXNoYXBlcyB3aXRoIGEgbGluZSBmcm9tIHRoZSBib3R0b20gb2YgdGhlIGxlZnQgb25lIHRv
IHRoZSB0b3Agb2YgdGhlIHJpZ2h0IG9uZS4iKTsKKwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworY2FudmFzLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAnMzAw
Jyk7CitjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnMzAwJyk7Cit2YXIgY3R4ID0gY2Fu
dmFzLmdldENvbnRleHQoJzJkJyk7CitmdW5jdGlvbiBkZWcycmFkKHgpIHsKKyAgcmV0dXJuIHgg
KiAzLjE0MTU5MjY1MzU4OSAvIDE4MDsKK30KK2N0eC5maWxsU3R5bGUgPSAnIzBmMCc7CitjdHgu
ZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTsKK2N0eC5saW5lSm9p
biA9ICdiZXZlbCc7CitjdHgubGluZVdpZHRoID0gMTI7CitjdHguYmVnaW5QYXRoKCk7CitjdHgu
YXJjKDIwMCwgNTAsIDQwLCBkZWcycmFkKDkwKSwgZGVnMnJhZCgtOTApLCBmYWxzZSk7CitjdHgu
YXJjKDEwMCwgNTAsIDQwLCBkZWcycmFkKDkwKSwgZGVnMnJhZCgtOTApLCBmYWxzZSk7CitjdHgu
c3Ryb2tlKCk7CisKK3ZhciBpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEp
OwordmFyIGltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsKK3Nob3VsZEJlKCJpbWdkYXRhWzBdIiwg
IjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjI1NSIpOworc2hvdWxkQmUoImltZ2RhdGFb
Ml0iLCAiMCIpOworCitpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDEyNSwgMzAsIDEsIDEp
OworaW1nZGF0YSA9IGltYWdlRGF0YS5kYXRhOworc2hvdWxkQmUoImltZ2RhdGFbMF0iLCAiMCIp
Oworc2hvdWxkQmUoImltZ2RhdGFbMV0iLCAiMjU1Iik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIs
ICIwIik7CisKK2ltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMTI1LCA3MCwgMSwgMSk7Citp
bWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIwIik7Citz
aG91bGRCZSgiaW1nZGF0YVsxXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1hcmMtc21hbGwtd2lkZS5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtYXJjLXNtYWxsLXdpZGUu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRiYTBlMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtYXJj
LXNtYWxsLXdpZGUuanMKQEAgLTAsMCArMSw1NCBAQAorZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBh
IHNtYWxsIGNhbnZhcyBhcmMoKXMgd2l0aCBhIHRoaWNrIGVub3VnaCBsaW5lV2lkdGggaXMgcGFp
bnRlZCBhcyBhIGZ1bGwgY2lyY2xlLiIpOworCit2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnY2FudmFzJyk7CitjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICczMDAnKTsK
K2NhbnZhcy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsICczMDAnKTsKK3ZhciBjdHggPSBjYW52YXMu
Z2V0Q29udGV4dCgnMmQnKTsKKworZnVuY3Rpb24gZGVnMnJhZCh4KSB7CisgIHJldHVybiB4ICog
My4xNDE1OTI2NTM1ODkgLyAxODA7Cit9CitjdHguZmlsbFN0eWxlID0gJyMwZjAnOworY3R4LmZp
bGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7CitjdHgubGluZVdpZHRo
ID0gMTIwOworY3R4LmJlZ2luUGF0aCgpOworY3R4LmFyYygxMjAsIDEyMCwgNDAsIGRlZzJyYWQo
MCksIGRlZzJyYWQoMzYwKSwgZmFsc2UpOworY3R4LnN0cm9rZSgpOworCit2YXIgaW1hZ2VEYXRh
ID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKK3ZhciBpbWdkYXRhID0gaW1hZ2VEYXRh
LmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsx
XSIsICIyNTUiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzJdIiwgIjAiKTsKKworaW1hZ2VEYXRhID0g
Y3R4LmdldEltYWdlRGF0YSgzMCwgMzAsIDEsIDEpOworaW1nZGF0YSA9IGltYWdlRGF0YS5kYXRh
Oworc2hvdWxkQmUoImltZ2RhdGFbMF0iLCAiMCIpOworc2hvdWxkQmUoImltZ2RhdGFbMV0iLCAi
MjU1Iik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7CisKK2ltYWdlRGF0YSA9IGN0eC5n
ZXRJbWFnZURhdGEoNzAsIDcwLCAxLCAxKTsKK2ltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsKK3No
b3VsZEJlKCJpbWdkYXRhWzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjAiKTsK
K3Nob3VsZEJlKCJpbWdkYXRhWzJdIiwgIjAiKTsKKworaW1hZ2VEYXRhID0gY3R4LmdldEltYWdl
RGF0YSgxMjAsIDEyMCwgMSwgMSk7CitpbWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7CitzaG91bGRC
ZSgiaW1nZGF0YVswXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsxXSIsICIwIik7CitzaG91
bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7CisKK2ltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEo
MTUwLCAxNTAsIDEsIDEpOworaW1nZGF0YSA9IGltYWdlRGF0YS5kYXRhOworc2hvdWxkQmUoImlt
Z2RhdGFbMF0iLCAiMCIpOworc2hvdWxkQmUoImltZ2RhdGFbMV0iLCAiMCIpOworc2hvdWxkQmUo
ImltZ2RhdGFbMl0iLCAiMCIpOworCitpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDIyMCwg
MjIwLCAxLCAxKTsKK2ltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsKK3Nob3VsZEJlKCJpbWdkYXRh
WzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjI1NSIpOworc2hvdWxkQmUoImlt
Z2RhdGFbMl0iLCAiMCIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc0YTli
OS4uZWZhMDBiNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0wNS0wOCAgQW5kcmVhcyBLbGluZyAgPGFu
ZHJlYXMua2xpbmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gUkVHUkVTU0lPTjogQ29vbENsb2NrIGlzbid0IHJlbmRlcmVk
IHByb3Blcmx5CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM4NTI2CisKKyAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEJ3MgYXJjKCkgc2hv
dWxkIGNvbm5lY3QgdG8gdGhlIHByZXZpb3VzIHBvaW50CisgICAgICAgIHdpdGggYSBzdHJhaWdo
dCBsaW5lIChIVE1MNSBzcGVjIDQuOC4xMS4xLjgpLCBidXQgaWYgdGhlIHBhdGggaXMgZW1wdHkK
KyAgICAgICAgdG8gYmVnaW4gd2l0aCwgd2UgZG9uJ3Qgd2FudCBhIGxpbmUgYmFjayB0byAoMCww
KQorCisgICAgICAgIFVuZm9ydHVuYXRlbHkgUXQgaXMgYnVnZ3kgd2hlbiBzdHJva2luZyBhcmNz
IHdpdGggYSB0aGljayBsaW5lV2lkdGgsCisgICAgICAgIHNvIHdlIGhhdmUgdG8gd29yayBhcm91
bmQgaXQgYnkgY29udmVydGluZyB0aGUgYXJjIHRvIGEgcG9seWdvbi4KKyAgICAgICAgU2VlIGh0
dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTA0OTMKKworICAgICAg
ICBUaGlzIGNoYW5nZSBhbHNvIGZpeGVzIHRoZSByZW5kZXJpbmcgYXJ0aWZhY3QgZGlzY3Vzc2Vk
IGluIGJ1ZyAzNjIyNi4KKworICAgICAgICBUZXN0czogZmFzdC9jYW52YXMvY2FudmFzLWFyYy1j
b25uZWN0aW5nLWxpbmUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvY2FudmFzLWFy
Yy1zbWFsbC13aWRlLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXRoOjphZGRBcmMpOgorCiAyMDEwLTA1LTA4ICBF
cmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByNTkwMjMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L1BhdGhRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhRdC5jcHAKaW5k
ZXggNGIwYzIxZi4uNDcwZjI3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9QYXRoUXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0
LmNwcApAQCAtMjk4LDEyICsyOTgsMzQgQEAgdm9pZCBQYXRoOjphZGRBcmMoY29uc3QgRmxvYXRQ
b2ludCYgcCwgZmxvYXQgciwgZmxvYXQgc2FyLCBmbG9hdCBlYXIsIGJvb2wgYW50aWMKICAgICAg
ICAgc3BhbiArPSBlYSAtIHNhOwogICAgIH0KIAotICAgIC8vIGNvbm5lY3QgdG8gdGhlIHByZXZp
b3VzIHBvaW50IGJ5IGEgc3RyYWlnaHQgbGluZQotICAgIG1fcGF0aC5saW5lVG8oUVBvaW50Rih4
YyArIHJhZGl1cyAgKiBjb3Moc2FyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgeWMgLSBy
YWRpdXMgICogc2luKHNhcikpKTsKKyAgICAvLyBIQUNLOiBUaGlzIGlzIGEgd29ya2Fyb3VuZCBk
dWUgdG8gYSBidWcgaW4gUXQncyBwYXRoIHN0cm9rZXIuCisgICAgLy8gICAgICAgU2VlIGh0dHA6
Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTA0OTMKKyAgICAvLyAgICAg
ICBTdHJva2luZyBhbiBhcmMgd2l0aCBhIHRoaWNrIGxpbmVXaWR0aCB3aWxsIHByb2R1Y2Ugc3Ry
YW5nZSByZXN1bHRzLgorICAgIC8vICAgICAgIFRoZXJlZm9yZSB3ZSBjb252ZXJ0IHRoZSBhcmMg
dG8gYSBwb2x5Z29uIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIHBhdGguCisgICAgUVBhaW50ZXJQ
YXRoIHRlbXBQYXRoOwogCi0gICAgbV9wYXRoLmFyY1RvKHhzLCB5cywgd2lkdGgsIGhlaWdodCwg
c2EsIHNwYW4pOworICAgIHRlbXBQYXRoLmFyY01vdmVUbyh4cywgeXMsIHdpZHRoLCBoZWlnaHQs
IHNhKTsKKyAgICB0ZW1wUGF0aC5hcmNUbyh4cywgeXMsIHdpZHRoLCBoZWlnaHQsIHNhLCBzcGFu
KTsKIAorICAgIFFMaXN0PFFQb2x5Z29uRj4gYXJjQXNQb2x5Z29ucyA9IHRlbXBQYXRoLnRvU3Vi
cGF0aFBvbHlnb25zKCk7CisKKyAgICBpZiAoYXJjQXNQb2x5Z29ucy5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIFFQb2x5Z29uRiBhcmNBc1BvbHlnb24gPSBhcmNBc1BvbHlnb25z
LmZpcnN0KCk7CisKKyAgICAvLyBEcmF3IGEgc3RyYWlnaHQgbGluZSBmcm9tIHRoZSBwcmV2aW91
cyBwb2ludCAoaWYgb25lIGV4aXN0cy4pCisgICAgLy8gTk9URTogUVBhaW50ZXJQYXRoOjppc0Vt
cHR5KCkgd29uJ3Qgd29yayBoZXJlIHNpbmNlIGl0IGlnbm9yZXMgYSBsb25lIE1vdmVUb0VsZW1l
bnQuCisgICAgaWYgKG1fcGF0aC5lbGVtZW50Q291bnQoKSkKKyAgICAgICAgbV9wYXRoLmxpbmVU
byhhcmNBc1BvbHlnb24uZmlyc3QoKSk7CisgICAgZWxzZQorICAgICAgICBtX3BhdGgubW92ZVRv
KGFyY0FzUG9seWdvbi5maXJzdCgpKTsKKworICAgIC8vIFdlIGNhbid0IHVzZSBRUGFpbnRlclBh
dGg6OmFkZFBvbHlnb24oKSBoZXJlLCBzaW5jZSBpdCB3aWxsIGRvIGFuIGltcGxpY2l0CisgICAg
Ly8gbW92ZVRvKCkgb24gdGhlIHBhdGggd2hpY2ggY2F1c2VzIHVnbHkgcmVuZGVyaW5nIHdpdGgg
dGhpY2tlciBsaW5lV2lkdGhzLgorICAgIGNvbnN0IGludCBwb2x5Z29uTGluZXMgPSBhcmNBc1Bv
bHlnb24uc2l6ZSgpOworICAgIGZvciAoaW50IGkgPSAxOyBpIDwgcG9seWdvbkxpbmVzOyArK2kp
CisgICAgICAgIG1fcGF0aC5saW5lVG8oYXJjQXNQb2x5Z29uLmF0KGkpKTsKIH0KIAogdm9pZCBQ
YXRoOjphZGRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcikK
</data>
<flag name="review"
          id="39679"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="39680"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56350</attachid>
            <date>2010-05-18 03:29:09 -0700</date>
            <delta_ts>2010-05-19 08:56:54 -0700</delta_ts>
            <desc>Proposed patch v5</desc>
            <filename>bug-38526-v5.diff</filename>
            <type>text/plain</type>
            <size>5632</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMzQwMDk0Li4yYTUyYjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDUt
MTggIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCB0byB2ZXJpZnkg
dGhhdCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQncyBhcmMoKSBjb25uZWN0cyBhcmNzCisgICAg
ICAgIGJ5IGEgc3RyYWlnaHQgbGluZSAodW5sZXNzIGl0J3MgdGhlIGZpcnN0IGVsZW1lbnQgaW4g
dGhlIHBhdGguKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Mzg1MjYKKworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1hcmMtY29ubmVjdGluZy1s
aW5lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWFy
Yy1jb25uZWN0aW5nLWxpbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvc2Ny
aXB0LXRlc3RzL2NhbnZhcy1hcmMtY29ubmVjdGluZy1saW5lLmpzOiBBZGRlZC4KKyAgICAgICAg
KGRlZzJyYWQpOgorCiAyMDEwLTA1LTE3ICBEcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHRlc3QgZXhwZWN0YXRpb25zIHVwZGF0ZSBmb3Ig
Y2hyb21pdW0uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtYXJj
LWNvbm5lY3RpbmctbGluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOTU2MmJlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy1hcmMtY29ubmVjdGluZy1saW5lLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE4IEBACitUZXN0IHRoYXQgY2FudmFzIGFyYygpcyBhcmUgY29ubmVjdGVkIGJ5IGEg
c3RyYWlnaHQgbGluZS4gVGhlcmUgc2hvdWxkIGJlIHR3byBDLXNoYXBlcyB3aXRoIGEgbGluZSBm
cm9tIHRoZSBib3R0b20gb2YgdGhlIGxlZnQgb25lIHRvIHRoZSB0b3Agb2YgdGhlIHJpZ2h0IG9u
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW1nZGF0YVswXSBpcyAw
CitQQVNTIGltZ2RhdGFbMV0gaXMgMjU1CitQQVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBpbWdk
YXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBpcyAyNTUKK1BBU1MgaW1nZGF0YVsyXSBpcyAw
CitQQVNTIGltZ2RhdGFbMF0gaXMgMAorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0
YVsyXSBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWFyYy1jb25u
ZWN0aW5nLWxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1hcmMtY29u
bmVjdGluZy1saW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZj
NTM2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1h
cmMtY29ubmVjdGluZy1saW5lLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtYXJjLWNvbm5lY3Rp
bmctbGluZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWFyYy1jb25uZWN0aW5nLWxp
bmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWFyYy1j
b25uZWN0aW5nLWxpbmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY0
MGRjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10
ZXN0cy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5qcwpAQCAtMCwwICsxLDM4IEBACitkZXNj
cmlwdGlvbigiVGVzdCB0aGF0IGNhbnZhcyBhcmMoKXMgYXJlIGNvbm5lY3RlZCBieSBhIHN0cmFp
Z2h0IGxpbmUuIFRoZXJlIHNob3VsZCBiZSB0d28gQy1zaGFwZXMgd2l0aCBhIGxpbmUgZnJvbSB0
aGUgYm90dG9tIG9mIHRoZSBsZWZ0IG9uZSB0byB0aGUgdG9wIG9mIHRoZSByaWdodCBvbmUuIik7
CisKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FudmFzKQorY2FudmFzLnNldEF0dHJpYnV0ZSgnd2lkdGgn
LCAnMzAwJyk7CitjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnMzAwJyk7Cit2YXIgY3R4
ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CitmdW5jdGlvbiBkZWcycmFkKHgpIHsKKyAgcmV0
dXJuIHggKiAzLjE0MTU5MjY1MzU4OSAvIDE4MDsKK30KK2N0eC5maWxsU3R5bGUgPSAnIzBmMCc7
CitjdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTsKK2N0eC5s
aW5lSm9pbiA9ICdiZXZlbCc7CitjdHgubGluZVdpZHRoID0gMTI7CitjdHguYmVnaW5QYXRoKCk7
CitjdHguYXJjKDIwMCwgNTAsIDQwLCBkZWcycmFkKDkwKSwgZGVnMnJhZCgtOTApLCBmYWxzZSk7
CitjdHguYXJjKDEwMCwgNTAsIDQwLCBkZWcycmFkKDkwKSwgZGVnMnJhZCgtOTApLCBmYWxzZSk7
CitjdHguc3Ryb2tlKCk7CisKK3ZhciBpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAs
IDEsIDEpOwordmFyIGltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsKK3Nob3VsZEJlKCJpbWdkYXRh
WzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjI1NSIpOworc2hvdWxkQmUoImlt
Z2RhdGFbMl0iLCAiMCIpOworCitpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDEyNSwgMzAs
IDEsIDEpOworaW1nZGF0YSA9IGltYWdlRGF0YS5kYXRhOworc2hvdWxkQmUoImltZ2RhdGFbMF0i
LCAiMCIpOworc2hvdWxkQmUoImltZ2RhdGFbMV0iLCAiMjU1Iik7CitzaG91bGRCZSgiaW1nZGF0
YVsyXSIsICIwIik7CisKK2ltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMTI1LCA3MCwgMSwg
MSk7CitpbWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIw
Iik7CitzaG91bGRCZSgiaW1nZGF0YVsxXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIs
ICIwIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZTY0YTY4Li4wN2JkYzAz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI0IEBACisyMDEwLTA1LTE4ICBBbmRyZWFzIEtsaW5nICA8YW5kcmVhcy5rbGlu
Z0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW1F0XSBSRUdSRVNTSU9OOiBDb29sQ2xvY2sgaXNuJ3QgcmVuZGVyZWQgcHJvcGVybHkK
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg1MjYK
KworICAgICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQncyBhcmMoKSBzaG91bGQgY29ubmVj
dCB0byB0aGUgcHJldmlvdXMgcG9pbnQKKyAgICAgICAgd2l0aCBhIHN0cmFpZ2h0IGxpbmUgKEhU
TUw1IHNwZWMgNC44LjExLjEuOCksIGJ1dCBpZiB0aGUgcGF0aCBpcyBlbXB0eQorICAgICAgICB0
byBiZWdpbiB3aXRoLCB3ZSBkb24ndCB3YW50IGEgbGluZSBiYWNrIHRvICgwLDApCisgICAgICAg
IFRoaXMgYWxzbyBmaXhlcyB0aGUgcmVuZGVyaW5nIGFydGlmYWN0IGRpc2N1c3NlZCBpbiBidWcg
MzYyMjYuCisKKyAgICAgICAgU3BlYyBsaW5rOgorICAgICAgICBodHRwOi8vd3d3LndoYXR3Zy5v
cmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNkb20tY29udGV4dC0yZC1hcmMKKworICAg
ICAgICBUZXN0OiBmYXN0L2NhbnZhcy9jYW52YXMtYXJjLWNvbm5lY3RpbmctbGluZS5odG1sCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGF0aDo6YWRkQXJjKToKKwogMjAxMC0wNS0xOCAgTWFjaWVqIFN0YWNob3dpYWsgIDxt
anNAYXBwbGUuY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZCwgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9QYXRoUXQuY3BwCmluZGV4IDRiMGMyMWYuLmE3MzUxYTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvUGF0aFF0LmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1BhdGhRdC5jcHAKQEAgLTI5OCw5ICsyOTgsMTAg
QEAgdm9pZCBQYXRoOjphZGRBcmMoY29uc3QgRmxvYXRQb2ludCYgcCwgZmxvYXQgciwgZmxvYXQg
c2FyLCBmbG9hdCBlYXIsIGJvb2wgYW50aWMKICAgICAgICAgc3BhbiArPSBlYSAtIHNhOwogICAg
IH0KIAotICAgIC8vIGNvbm5lY3QgdG8gdGhlIHByZXZpb3VzIHBvaW50IGJ5IGEgc3RyYWlnaHQg
bGluZQotICAgIG1fcGF0aC5saW5lVG8oUVBvaW50Rih4YyArIHJhZGl1cyAgKiBjb3Moc2FyKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgeWMgLSByYWRpdXMgICogc2luKHNhcikpKTsKKyAg
ICAvLyBJZiB0aGUgcGF0aCBpcyBlbXB0eSwgbW92ZSB0byB3aGVyZSB0aGUgYXJjIHdpbGwgc3Rh
cnQgdG8gYXZvaWQgcGFpbnRpbmcgYSBsaW5lIGZyb20gKDAsMCkKKyAgICAvLyBOT1RFOiBRUGFp
bnRlclBhdGg6OmlzRW1wdHkoKSB3b24ndCB3b3JrIGhlcmUgc2luY2UgaXQgaWdub3JlcyBhIGxv
bmUgTW92ZVRvRWxlbWVudAorICAgIGlmICghbV9wYXRoLmVsZW1lbnRDb3VudCgpKQorICAgICAg
ICBtX3BhdGguYXJjTW92ZVRvKHhzLCB5cywgd2lkdGgsIGhlaWdodCwgc2EpOwogCiAgICAgbV9w
YXRoLmFyY1RvKHhzLCB5cywgd2lkdGgsIGhlaWdodCwgc2EsIHNwYW4pOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>