<?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>45467</bug_id>
          
          <creation_ts>2010-09-09 10:12:30 -0700</creation_ts>
          <short_desc>REGRESSION(r66731): pointer-events are broken in some cases</short_desc>
          <delta_ts>2012-04-26 08:46:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>ademar</cc>
    
    <cc>brogers</cc>
    
    <cc>dglazkov</cc>
    
    <cc>kevinar18</cc>
    
    <cc>krit</cc>
    
    <cc>leo.yang</cc>
    
    <cc>riley</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>v.krapivin</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>276546</commentid>
    <comment_count>0</comment_count>
      <attachid>67050</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-09 10:12:30 -0700</bug_when>
    <thetext>Created attachment 67050
Testcase

r66731 broke some pointer-event behavior; see attached testcase, and http://lists.w3.org/Archives/Public/public-fx/2010JulSep/0084.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276717</commentid>
    <comment_count>1</comment_count>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2010-09-09 13:37:57 -0700</bug_when>
    <thetext>If it helps

I am using Windows

Bug present in:
r67080, r66933, r66820
Not present in 
r63305, r64732</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277048</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-10 00:08:41 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Created an attachment (id=67050) [details]
&gt; Testcase
&gt; 
&gt; r66731 broke some pointer-event behavior; see attached testcase, and http://lists.w3.org/Archives/Public/public-fx/2010JulSep/0084.html

There&apos;s already another bug report regarding pointer-event behaviour on the &quot;SVG Atlas map&quot; example.
The new code doesn&apos;t respect pointer-events=&quot;none&quot; on the outermost &lt;svg&gt;. Should be trivial to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316154</commentid>
    <comment_count>3</comment_count>
      <attachid>75379</attachid>
    <who name="Victor Krapivin">v.krapivin</who>
    <bug_when>2010-12-02 08:05:04 -0800</bug_when>
    <thetext>Created attachment 75379
Fast patch for SVG and pointer-events: none problem

Problem: CSS style named pointer-events. Once it set to none, certain element should not be played in clicks.

Everything works, except latest changes in SVG. So, this fix is simple, as follows:

1. We have decomposition of pointer-events style to couple of flags. None means all flags false, so the condition 

    isVisible || !requireVisible

becomes true for case pointer-events: none. The fix is pretty simple - filter this case separately prior to flags analysis.

2. For background hit testing in SVG container, the pointer-events ain&apos;t played. Added simple check.

3. Added the same check for RenderForeignObject, as it had no analysis of pointer-events as well (and RenderBlock::nodeAtPoint called).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316156</commentid>
    <comment_count>4</comment_count>
    <who name="Victor Krapivin">v.krapivin</who>
    <bug_when>2010-12-02 08:06:49 -0800</bug_when>
    <thetext>The patch is tested at MacOSX with Chrome as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316168</commentid>
    <comment_count>5</comment_count>
      <attachid>75379</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-02 08:33:20 -0800</bug_when>
    <thetext>Comment on attachment 75379
Fast patch for SVG and pointer-events: none problem

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

I&apos;m not yet sure if this is correct, I&apos;ll have to check PointerEventsHitRules first, I&apos;ll come back later to your patch!
Thanks for the attempt! I&apos;ll see whether there&apos;s a less intrusive approach.

&gt; WebKit/WebCore/rendering/RenderForeignObject.cpp:154
&gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;

The return statment needs to be placed in a seperated line.

&gt; WebKit/WebCore/rendering/RenderSVGContainer.cpp:166
&gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;

Ditto.

&gt; WebKit/WebCore/rendering/RenderSVGImage.cpp:153
&gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;

Ditto.

&gt; WebKit/WebCore/rendering/RenderSVGRoot.cpp:334
&gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;

Ditto.

&gt; WebKit/WebCore/rendering/svg/RenderSVGPath.cpp:262
&gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;

Ditto.

&gt; WebKit/WebCore/rendering/svg/RenderSVGPath.cpp:262
&gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343911</commentid>
    <comment_count>6</comment_count>
    <who name="Bennett Rogers">brogers</who>
    <bug_when>2011-02-02 00:54:28 -0800</bug_when>
    <thetext>Hello,

I was wondering if any progress had been made on the inclusion of this patch (or another) to fix this bug?  I&apos;m depending on SVG and pointer-events, and while it appears that Safari is working properly, Chrome still is not.  I&apos;m not sure if perhaps some other fix had been submitted that just hasn&apos;t made its way to Chromium, so I&apos;m trying to track down the last known state of this issue.

Thanks!

(In reply to comment #5)
&gt; (From update of attachment 75379 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75379&amp;action=review
&gt; 
&gt; I&apos;m not yet sure if this is correct, I&apos;ll have to check PointerEventsHitRules first, I&apos;ll come back later to your patch!
&gt; Thanks for the attempt! I&apos;ll see whether there&apos;s a less intrusive approach.
&gt; 
&gt; &gt; WebKit/WebCore/rendering/RenderForeignObject.cpp:154
&gt; &gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;
&gt; 
&gt; The return statment needs to be placed in a seperated line.
&gt; 
&gt; &gt; WebKit/WebCore/rendering/RenderSVGContainer.cpp:166
&gt; &gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebKit/WebCore/rendering/RenderSVGImage.cpp:153
&gt; &gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebKit/WebCore/rendering/RenderSVGRoot.cpp:334
&gt; &gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebKit/WebCore/rendering/svg/RenderSVGPath.cpp:262
&gt; &gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebKit/WebCore/rendering/svg/RenderSVGPath.cpp:262
&gt; &gt; +    if (style()-&gt;pointerEvents() == PE_NONE) return false;
&gt; 
&gt; Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406737</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 16:36:03 -0700</bug_when>
    <thetext>Sounds like this is going to break in Safari once it ships, since</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406738</commentid>
    <comment_count>8</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 16:36:17 -0700</bug_when>
    <thetext>... it&apos;s still not fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407413</commentid>
    <comment_count>9</comment_count>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2011-05-20 16:59:34 -0700</bug_when>
    <thetext>Sounds like this is going to break in Safari once it ships, ...


That would be a shame.  This bug is very important to the future of SVG: it&apos;s practically key to using SVG in certain useful ways.

I&apos;m gonna try to upload some files related to this (not exactly testcases for this particular bug), but should demonstrate why this may be more important than one might think at first.
--------------------
On another note:

I don&apos;t know much about Safari release cycles, but does this mean we could end up with a browser with this bug in it installed on people&apos;s systems for years to come (like the IE6 problem)?  If so, I would please ask that someone consider marking this bug as blocking for the next release as it is absolutely key to integrating SVG with HTML.  If we end up with many computers/devices that don&apos;t update and with this feature broken, it could be a problem for using SVG on websites.  On the other hand, if Safari auto-updates on all systems, then I guess there&apos;s not a big need for a change in priority.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407416</commentid>
    <comment_count>10</comment_count>
      <attachid>94293</attachid>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2011-05-20 17:00:55 -0700</bug_when>
    <thetext>Created attachment 94293
script file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407421</commentid>
    <comment_count>11</comment_count>
      <attachid>94294</attachid>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2011-05-20 17:06:41 -0700</bug_when>
    <thetext>Created attachment 94294
Example of SVG-HTML integration

This has been discussed on the SVG working group mailing list...

Rationale - Why this is an important issue.

The ability to integrated SVG and HTML, presents some interesting possibilities for future websites. Consider the following: 

* Using SVG to circle text or html items on a wepage. 
* Drawing arrows from one part of the page to the other (but not block content underneath). 
* Having oddly shaped menus, borders, layers, etc.... 
* Adding a &quot;hazy&quot; or semi-tranparent layer over html object, yet still be able to interact with the html object underneath. 
* Creating a graphical object &quot;under&quot; the cursor that follows the mouse, but still lets you click on items underneath it. 

If I remember correctly, none of this SVG-HTML integration will be possible if this bug/regression remains in Safari.

The attachment is an example of some of these items:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407428</commentid>
    <comment_count>12</comment_count>
      <attachid>94297</attachid>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2011-05-20 17:17:03 -0700</bug_when>
    <thetext>Created attachment 94297
Some SVG-HTML integration testcases

These are some testcases I started to make when I brought up the topic on the W3 SVG mailing list.


Anyways, I am mostly going on what I remember about this issue from several months back when I was discussing it on the W3 SVG and CSS mailing lists ...  so I may have gotten a few things wrong now.

Based on my tests back then, I was able to get SVG-HTML integration described in my previous post working on all major browsers (not sure abut IE9).  Then webkit broke.  I don&apos;t know if there is a workaround for webkit or if this means webkit can no longer do the special SVG-HTML integration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407435</commentid>
    <comment_count>13</comment_count>
      <attachid>94299</attachid>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2011-05-20 17:21:46 -0700</bug_when>
    <thetext>Created attachment 94299
Updated SVG-HTML integration testcases

sorry, forgot to link the script file to bugzilla...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407530</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-21 05:44:04 -0700</bug_when>
    <thetext>Thanks for all the comments and test cases. I can confirm that r66731 is the root of the problem. Other than the comment mentioned, the new behavior is still not in SVG1.1SE, but it was planned to add it during SVG Open 2010. I&apos;d like to keep it, since Firefox and Opera seem to do it as well. I have a fix for the test cases on this bug, still need to clean up my patch and create a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407531</commentid>
    <comment_count>15</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-21 05:57:36 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=75379) [details]
&gt; Fast patch for SVG and pointer-events: none problem

This patch breaks more tests than it fixes. 3 of 4 tests of Kevin were broken after applying the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407548</commentid>
    <comment_count>16</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-21 11:23:14 -0700</bug_when>
    <thetext>Some background information

The problem is not cause by a wrong handling of visibility or any other CSS property. The idea of r66731 is, that a pointer can set on a SVG container, even if the container itself is not drawable. This can make things possible like http://vis.uell.net/pyramids/12te/

If you enable &quot;Change Age-Groups&quot;, you can move a slider up and down. This is implemented by pointer-events and in this example, the pointer needs to get caught by the svg root element. This is not possible according to the SVG specification right now. But there was a discussion at SVG Open to make it possible with a lot of positive feedback. Niko implemented this to match the behavior of Firefox and (if I remember correctly) Opera.

I checked the behavior of browsers on the attached test case, as well as the pyramid example and got interesting results.

Operas behavior is similar to the behavior on Safari 5. The SVG root element doesn&apos;t caught the events. And like on Safari 5 it is not possible to track the slider over the SVG element, if no visible element is underneath.
Firefox supports the attached test case, but it is still possible to move the slider, not sure how Firefox is doing it.
Internet Explorer 9 matches exactly the behavior of WebKit trunk. I guess they optimized their behavior for the pyramid example.

I did not manage to get the behavior of Firefox, the preferred behavior, yet. If we do not find a solution, I&apos;d suggest to revert r66731.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407561</commentid>
    <comment_count>17</comment_count>
      <attachid>94328</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-21 14:08:28 -0700</bug_when>
    <thetext>Created attachment 94328
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407580</commentid>
    <comment_count>18</comment_count>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2011-05-21 18:02:20 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I don&apos;t know much about Safari release cycles, but does this mean we could end up with a browser with this bug in it installed on people&apos;s systems for years to come (like the IE6 problem)?  If so, I would please ask that someone consider marking this bug as blocking for the next release ....
I meant to say that more as a plea depending on how releases are done for webkit/Safari; I don&apos;t want to imply it was a demand or anything.  Sorry; I didn&apos;t word it too well. :)

(In reply to comment #16)
&gt; But there was a discussion at SVG Open to make it possible with a lot of positive feedback. Niko implemented this to match the behavior of Firefox and (if I remember correctly) Opera.

Dirk, have you been keeping up with the discussion on HTML-SVG integration?  It seems like I should probably ask some questions about this on the mailing list to see what the current status is.

I should note that the so-called &quot;integration testcases&quot; should not be taken as a definitive description of how every browser should handle SVG-HTML integration.  These tests were made several months back when there were still a number of questions as to how the standards and browsers should handle this.  I really should get up to date ... maybe I could even update the file into a proper testcase then.

Still, all of this should not affect this specific bug in webkit (the broken pointer-events:none).

Summary: Don&apos;t use the &quot;integration testcases&quot; as a way to confirm whether this bug report has been fixed.  In fact, I will probably upload another basic testcases from the w3 mailing list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407587</commentid>
    <comment_count>19</comment_count>
      <attachid>94332</attachid>
    <who name="Kevin Ar18">kevinar18</who>
    <bug_when>2011-05-21 18:58:20 -0700</bug_when>
    <thetext>Created attachment 94332
2x Testcases to prove whether this bug is fixed or not

As mentioned... here is a simplified testcase (actually 2 of them) that should show whether this bug has been fixed or not.

There are a few interesting things to note:

(1) These testcases prove that the current bug is not critical; webkit passes 1 of the 2 testcases, which means there is at least some way to get proper HTML-SVG integration even with this bug present.

Also, here&apos;s some interesting results from various browsers:

Firefox 4.0B12pre (2011-02-16) = passes both
Opera 11.10, Build 2092 = passes both
IE 9.0.8112.16421 = fails test 1: floating; passes test 2: inline
Safari 5.0.5 (7533.21.1) - r87019 = fails test 1: floating; passes test 2: inline
Safari 5.0.5 (7533.21.1) - r80213 = fails test 1: floating; passes test 2: inline


The good news is one way to implement HTML-SVG integration that will work in all browsers (even with the bug in webkit), by using inline SVG.

As a side note, I was rather disappointed that IE failed one of the tests.  Anyways, hope this helps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407600</commentid>
    <comment_count>20</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-21 22:07:10 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Created an attachment (id=94332) [details]

&gt; Safari 5.0.5 (7533.21.1) - r87019 = fails test 1: floating; passes test 2: inline
&gt; Safari 5.0.5 (7533.21.1) - r80213 = fails test 1: floating; passes test 2: inline

WebKit passes both again with the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407606</commentid>
    <comment_count>21</comment_count>
      <attachid>94328</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-21 23:58:37 -0700</bug_when>
    <thetext>Comment on attachment 94328
Patch

Clearing flags on attachment: 94328

Committed r87027: &lt;http://trac.webkit.org/changeset/87027&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407607</commentid>
    <comment_count>22</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-21 23:58:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407973</commentid>
    <comment_count>23</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-23 07:48:22 -0700</bug_when>
    <thetext>Revision r87027 cherry-picked into qtwebkit-2.2 with commit 91c0616 &lt;http://gitorious.org/webkit/qtwebkit/commit/91c0616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610531</commentid>
    <comment_count>24</comment_count>
    <who name="Riley Dutton">riley</who>
    <bug_when>2012-04-26 06:17:19 -0700</bug_when>
    <thetext>This bug seems to have regressed again. The last attached test case (https://bugs.webkit.org/attachment.cgi?id=94332) is failing for me on Safari Version 5.1.4 (7534.54.16). Passes on latest release versions of Chrome or Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610651</commentid>
    <comment_count>25</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-26 08:46:47 -0700</bug_when>
    <thetext>Safari 5.1.4 is much older than trunk. Try a webkit nightly.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>67050</attachid>
            <date>2010-09-09 10:12:30 -0700</date>
            <delta_ts>2010-09-09 10:12:30 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>basic_test.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>1204</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+DQo8IS0tIENyZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDov
L3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8gLS0+DQo8IS0tIENy
ZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvICYg
aHR0cDovL3d3dy53My5vcmcvVFIveG1sLyAmIGh0dHA6Ly93d3cudzMub3JnL1RSL3hsaW5rLw0K
CWh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIvDQotLT4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIj4NCjxoZWFkPg0KDQo8c3R5bGU+DQo8L3N0eWxlPg0KDQoNCjxz
Y3JpcHQ+DQpmdW5jdGlvbiBydW4oRXZlbnQpIHsNCglhbGVydCgiVGFyZ2V0ID0gIitFdmVudC50
YXJnZXQrIlxuU2hvdWxkIGJlIEhUTUxEaXZFbGVtZW50IikNCn0NCg0KDQpmdW5jdGlvbiBzZXR1
cCgpIHsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdDJfZGl2MiIpLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIixydW4sZmFsc2UpDQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3Qy
X3N2ZyIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2FsZXJ0KCdFcnJvcjpc
blNWRyBzaG91bGQgbm90IHRyaWdnZXIgZXZlbnQhJyl9LGZhbHNlKQ0KfQ0KDQo8L3NjcmlwdD4N
Cg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJzZXR1cCgpIj4NCg0KDQo8ZGl2IGlkPSJ0ZXN0Ml9k
aXYyIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDo1MHB4OyBsZWZ0OjBweDsgd2lkdGg6
NTBweDsgaGVpZ2h0OjUwcHg7IGJhY2tncm91bmQtY29sb3I6Z3JleTsgei1pbmRleDoxMDsiPi48
L2Rpdj4NCjxzdmcgaWQ9InRlc3QyX3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6
NTBweDsgbGVmdDowcHg7IHdpZHRoOjUwcHg7IGhlaWdodDo1MHB4OyB6LWluZGV4OjIwOyIgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwb2ludGVyLWV2ZW50cz0ibm9uZSI+PGcg
cG9pbnRlci1ldmVudHM9InZpc2libGUiPg0KCTxyZWN0IGlkPSJ0ZXN0Ml9yZWN0IiB4PSIwIiB5
PSIwIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9ImJsdWUiIHBvaW50ZXItZXZlbnRzPSJu
b25lIiAvPg0KPC9nPjwvc3ZnPg0KDQoNCmNsaWNrIG9uIHRoZSBibHVlIGJveA0KPC9ib2R5Pg0K
PC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75379</attachid>
            <date>2010-12-02 08:05:04 -0800</date>
            <delta_ts>2011-05-21 14:08:19 -0700</delta_ts>
            <desc>Fast patch for SVG and pointer-events: none problem</desc>
            <filename>svg_pointer_events.patch</filename>
            <type>text/plain</type>
            <size>3736</size>
            <attacher name="Victor Krapivin">v.krapivin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGb3JlaWduT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRm9yZWlnbk9iamVj
dC5jcHAJKHJldmlzaW9uIDcyNzQ2KQorKysgV2ViS2l0L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZvcmVpZ25PYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsNiArMTUxLDggQEAKICAg
ICBpZiAoU1ZHUmVuZGVyU3VwcG9ydDo6aXNPdmVyZmxvd0hpZGRlbih0aGlzKSAmJiAhbV92aWV3
cG9ydC5jb250YWlucyhsb2NhbFBvaW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
aWYgKHN0eWxlKCktPnBvaW50ZXJFdmVudHMoKSA9PSBQRV9OT05FKSByZXR1cm4gZmFsc2U7CisK
ICAgICBJbnRQb2ludCByb3VuZGVkTG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQb2ludChsb2NhbFBv
aW50KTsKICAgICByZXR1cm4gUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3Vs
dCwgcm91bmRlZExvY2FsUG9pbnQueCgpLCByb3VuZGVkTG9jYWxQb2ludC55KCksIDAsIDAsIGhp
dFRlc3RBY3Rpb24pOwogfQpJbmRleDogV2ViS2l0L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R0NvbnRhaW5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNWR0NvbnRhaW5lci5jcHAJKHJldmlzaW9uIDcyNzQ2KQorKysgV2ViS2l0L1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR0NvbnRhaW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw2
ICsxNjMsOCBAQAogICAgIGlmICghcG9pbnRJc0luc2lkZVZpZXdwb3J0Q2xpcChwb2ludEluUGFy
ZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKHN0eWxlKCktPnBvaW50ZXJF
dmVudHMoKSA9PSBQRV9OT05FKSByZXR1cm4gZmFsc2U7CisKICAgICBGbG9hdFBvaW50IGxvY2Fs
UG9pbnQgPSBsb2NhbFRvUGFyZW50VHJhbnNmb3JtKCkuaW52ZXJzZSgpLm1hcFBvaW50KHBvaW50
SW5QYXJlbnQpOwogCiAgICAgaWYgKCFTVkdSZW5kZXJTdXBwb3J0Ojpwb2ludEluQ2xpcHBpbmdB
cmVhKHRoaXMsIGxvY2FsUG9pbnQpKQpJbmRleDogV2ViS2l0L1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNWR0ltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHSW1hZ2UuY3BwCShyZXZpc2lvbiA3Mjc0NikKKysrIFdlYktpdC9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MCw2ICsxNTAs
OCBAQAogICAgIGlmIChoaXRUZXN0QWN0aW9uICE9IEhpdFRlc3RGb3JlZ3JvdW5kKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoc3R5bGUoKS0+cG9pbnRlckV2ZW50cygpID09IFBF
X05PTkUpIHJldHVybiBmYWxzZTsKKwogICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRSdWxl
cyhQb2ludGVyRXZlbnRzSGl0UnVsZXM6OlNWR19JTUFHRV9ISVRURVNUSU5HLCByZXF1ZXN0LCBz
dHlsZSgpLT5wb2ludGVyRXZlbnRzKCkpOwogICAgIGJvb2wgaXNWaXNpYmxlID0gKHN0eWxlKCkt
PnZpc2liaWxpdHkoKSA9PSBWSVNJQkxFKTsKICAgICBpZiAoaXNWaXNpYmxlIHx8ICFoaXRSdWxl
cy5yZXF1aXJlVmlzaWJsZSkgewpJbmRleDogV2ViS2l0L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jvb3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSb290LmNwcAkocmV2aXNpb24gNzI3NDYpCisrKyBXZWJLaXQvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHUm9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzMSw2ICszMzEsOCBAQAog
ICAgIGlmICghY29udGVudEJveFJlY3QoKS5jb250YWlucyhwb2ludEluQ29udGVudEJveCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChzdHlsZSgpLT5wb2ludGVyRXZlbnRzKCkg
PT0gUEVfTk9ORSkgcmV0dXJuIGZhbHNlOworCiAgICAgSW50UG9pbnQgbG9jYWxQb2ludCA9IGxv
Y2FsVG9QYXJlbnRUcmFuc2Zvcm0oKS5pbnZlcnNlKCkubWFwUG9pbnQocG9pbnRJblBhcmVudCk7
CiAKICAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBsYXN0Q2hpbGQoKTsgY2hpbGQ7IGNo
aWxkID0gY2hpbGQtPnByZXZpb3VzU2libGluZygpKSB7CkluZGV4OiBXZWJLaXQvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5jcHAJKHJldmlzaW9uIDcyNzQ2KQorKysg
V2ViS2l0L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQYXRoLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjU5LDYgKzI1OSw4IEBACiAgICAgaWYgKCFTVkdSZW5kZXJTdXBwb3J0Ojpwb2lu
dEluQ2xpcHBpbmdBcmVhKHRoaXMsIGxvY2FsUG9pbnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyAgICBpZiAoc3R5bGUoKS0+cG9pbnRlckV2ZW50cygpID09IFBFX05PTkUpIHJldHVybiBm
YWxzZTsKKwogICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRz
SGl0UnVsZXM6OlNWR19QQVRIX0hJVFRFU1RJTkcsIHJlcXVlc3QsIHN0eWxlKCktPnBvaW50ZXJF
dmVudHMoKSk7CiAgICAgYm9vbCBpc1Zpc2libGUgPSAoc3R5bGUoKS0+dmlzaWJpbGl0eSgpID09
IFZJU0lCTEUpOwogICAgIGlmIChpc1Zpc2libGUgfHwgIWhpdFJ1bGVzLnJlcXVpcmVWaXNpYmxl
KSB7CkluZGV4OiBXZWJLaXQvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0
aC5jcHAJKHJldmlzaW9uIDcyNzQ2KQorKysgV2ViS2l0L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdQYXRoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU5LDYgKzI1OSw4IEBACiAgICAg
aWYgKCFTVkdSZW5kZXJTdXBwb3J0Ojpwb2ludEluQ2xpcHBpbmdBcmVhKHRoaXMsIGxvY2FsUG9p
bnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoc3R5bGUoKS0+cG9pbnRlckV2
ZW50cygpID09IFBFX05PTkUpIHJldHVybiBmYWxzZTsKKwogICAgIFBvaW50ZXJFdmVudHNIaXRS
dWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRzSGl0UnVsZXM6OlNWR19QQVRIX0hJVFRFU1RJTkcs
IHJlcXVlc3QsIHN0eWxlKCktPnBvaW50ZXJFdmVudHMoKSk7CiAgICAgYm9vbCBpc1Zpc2libGUg
PSAoc3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZJU0lCTEUpOwogICAgIGlmIChpc1Zpc2libGUg
fHwgIWhpdFJ1bGVzLnJlcXVpcmVWaXNpYmxlKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>94293</attachid>
            <date>2011-05-20 17:00:55 -0700</date>
            <delta_ts>2011-05-20 17:21:46 -0700</delta_ts>
            <desc>script file</desc>
            <filename>script.js</filename>
            <type>text/x-js</type>
            <size>13867</size>
            <attacher name="Kevin Ar18">kevinar18</attacher>
            
              <data encoding="base64">LyogQ3JlZGl0cy9Db3B5cmlnaHQvUmVmZXJlbmNlOg0KLVJhdyBKYXZhc2NyaXB0IChET00pLQ0K
CWh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0yLUNvcmUvDQoJCWh0dHA6Ly93d3cudzMu
b3JnL1RSL0RPTS1MZXZlbC0yLUNvcmUvZWNtYS1zY3JpcHQtYmluZGluZy5odG1sIChxdWljayBy
ZWZlcmVuY2Ugb2YgYWxsIEpTIERPTSBmZWF0dXJlcykNCglodHRwOi8vd3d3LnczLm9yZy9UUi9E
T00tTGV2ZWwtMi1FdmVudHMvDQoJCWh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0yLUV2
ZW50cy9lY21hLXNjcmlwdC1iaW5kaW5nLmh0bWwgKEpTIEV2ZW50cyBSZWZlcmVuY2UpDQotUmF3
IEphdmFzY3JpcHQgKGxhbmd1YWdlKS0NCglodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5v
cmcvcHVibGljYXRpb25zL3N0YW5kYXJkcy9FY21hLTI2Mi5odG0NCgkJaHR0cDovL3d3dy5lY21h
LWludGVybmF0aW9uYWwub3JnL3B1YmxpY2F0aW9ucy9maWxlcy9FQ01BLVNUL0VDTUEtMjYyLnBk
ZiAoZGlyZWN0IGxpbmspDQoNCg0KaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBz
L2N1cnJlbnQtd29yay8NCmh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLw0KKi8NCg0KLyog
Q3JlZGl0cy9Db3B5cmlnaHQvUmVmZXJlbmNlOg0KICAgTGlzdCBvZiBhcHBsaWNhYmxlIGV2ZW50
czoNClNWRyAtIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTAvV0QtU1ZHMTEtMjAxMDA2MjIvaW50
ZXJhY3QuaHRtbCNTVkdFdmVudHMNCj4gZm9jdXNpbiwgZm9jdXNvdXQsIGFjdGl2YXRlLCBjbGlj
aywgbW91c2Vkb3duLCBtb3VzZXVwLCBtb3VzZW92ZXIsIG1vdXNlbW92ZSwgbW91c2VvdXQsDQpE
T01TdWJ0cmVlTW9kaWZpZWQsIERPTU5vZGVJbnNlcnRlZCwgRE9NTm9kZVJlbW92ZWQsIERPTU5v
ZGVSZW1vdmVkRnJvbURvY3VtZW50LCBET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQsIERPTUF0
dHJNb2RpZmllZCwgRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkLA0KU1ZHTG9hZCwgU1ZHVW5sb2Fk
LCBTVkdBYm9ydCwgU1ZHRXJyb3IsIFNWR1Jlc2l6ZSwgU1ZHU2Nyb2xsLCBTVkdab29tLCBiZWdp
bkV2ZW50LCBlbmRFdmVudCwgcmVwZWF0RXZlbnQNCg0KSFRNTCAtIGh0dHA6Ly93d3cud2hhdHdn
Lm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRt
bCNldmVudC1oYW5kbGVycy1vbi1lbGVtZW50cywtZG9jdW1lbnQtb2JqZWN0cywtYW5kLXdpbmRv
dy1vYmplY3RzDQpvbmNoYW5nZSwgb25jbGljaywgb25jb250ZXh0bWVudSwgb25kYmxjbGljaywg
b25kcmFnLCBvbmRyYWdlbmQsIG9uZHJhZ2VudGVyLCBvbmRyYWdsZWF2ZSwgb25kcmFnb3Zlciwg
b25kcmFnc3RhcnQsIG9uZHJvcA0Kb25pbnB1dCwgb25pbnZhbGlkLCBvbmtleWRvd24sIG9ua2V5
cHJlc3MsIG9ua2V5dXAsIG9ubW91c2Vkb3duLCBvbm1vdXNlbW92ZSwgb25tb3VzZW91dCwgb25t
b3VzZW92ZXIsIG9ubW91c2V1cCwgb25tb3VzZXdoZWVsLA0Kb25zY3JvbGwsIG9uc2VsZWN0LCBv
bnNob3cNCm9uYmx1ciwgb25lcnJvciwgb25mb2N1cywgb25sb2FkLCANCg0KRE9NIDMgRXZlbnRz
IC0gaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLw0KYmx1ciwgY2hhbmdl
LCBjbGljaywgZGJsY2xpY2ssIERPTUFjdGl2YXRlLCBET01BdHRyaWJ1dGVOYW1lQ2hhbmdlZCwg
RE9NQXR0ck1vZGlmaWVkLCBET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQsDQpET01FbGVtZW50TmFt
ZUNoYW5nZWQsIERPTUZvY3VzSW4sIERPTUZvY3VzT3V0LCBET01Ob2RlSW5zZXJ0ZWQsIERPTU5v
ZGVJbnNlcnRlZEludG9Eb2N1bWVudCwgRE9NTm9kZVJlbW92ZWQsIA0KRE9NTm9kZVJlbW92ZWRG
cm9tRG9jdW1lbnQsIERPTVN1YnRyZWVNb2RpZmllZCwNCmVycm9yLCBmb2N1cywgZm9jdXNpbiwg
Zm9jdXNvdXQsIGtleWRvd24sIGtleXByZXNzLCBrZXl1cCwgbG9hZCwgbW91c2Vkb3duLCBtb3Vz
ZWVudGVyLCBtb3VzZWxlYXZlLCBtb3VzZW1vdmUsDQptb3VzZW91dGUsIG1vdXNlb3ZlciwgbW91
c2V1cCwgbW91c2V3aGVlbCwgcmVzZXQsIHJlc2l6ZSwgc2Nyb2xsLCBzZWxlY3QsIHN1Ym1pdCwg
dGV4dElucHV0LCB1bmxvYWQsIHdoZWVsDQoNCmZvY3VzaW4sZm9jdXNvdXQsYWN0aXZhdGUgK3N2
Zy1odG1sDQoNCnggLSBvbmNoYW5nZSwgc2Nyb2xsLCBlcnJvcg0KPyAtIGRyYWc/DQoNCnNlcGFy
YXRlOiBjb250ZXh0bWVudSwgc2VsZWN0IHRleHQNCg0KKi8NCg0KLyoNCi8vIHByZXZlbnQgdGVz
dCBmcm9tIHJ1bm5pbmcgbW9yZSB0aGFuIDEgdGltZSENCg0KLy8gZXZlbnQsIHRlc3RzLCByZXN1
bHRzLCANCg0KDQoNCiovDQoNCnRlc3RkYXRhID0gew0KCSIxIjogew0KCQkidGFyZ2V0IjogICAi
SFRNTERpdkVsZW1lbnQiLA0KCQkidGFyZ2V0SWQiOiAidGVzdDFfZGl2MiIsDQoJCSIwIjogeyJl
dmVudFBoYXNlIjoxLCAiY3VycmVudFRhcmdldCI6Z2V0T2JqVHlwZShkb2N1bWVudCksfSwNCgkJ
IjEiOiB7ImV2ZW50UGhhc2UiOjEsICJjdXJyZW50VGFyZ2V0IjoiSFRNTEh0bWxFbGVtZW50Iix9
LA0KCQkiMiI6IHsiZXZlbnRQaGFzZSI6MSwgImN1cnJlbnRUYXJnZXQiOiJIVE1MQm9keUVsZW1l
bnQiLH0sDQoJCSIzIjogeyJldmVudFBoYXNlIjoxLCAiY3VycmVudFRhcmdldCI6IkhUTUxEaXZF
bGVtZW50IiwgICJjdXJyZW50VGFyZ2V0SWQiOiJ0ZXN0MV9kaXYxIix9LA0KCQkiNCI6IHsiZXZl
bnRQaGFzZSI6MiwgImN1cnJlbnRUYXJnZXQiOiJIVE1MRGl2RWxlbWVudCIsICAiY3VycmVudFRh
cmdldElkIjoidGVzdDFfZGl2MiIsfSwNCgkJIjUiOiB7ImV2ZW50UGhhc2UiOjIsICJjdXJyZW50
VGFyZ2V0IjoiSFRNTERpdkVsZW1lbnQiLCAgImN1cnJlbnRUYXJnZXRJZCI6InRlc3QxX2RpdjIi
LH0sDQoJCSI2IjogeyJldmVudFBoYXNlIjozLCAiY3VycmVudFRhcmdldCI6IkhUTUxEaXZFbGVt
ZW50IiwgICJjdXJyZW50VGFyZ2V0SWQiOiJ0ZXN0MV9kaXYxIix9LA0KCQkiNyI6IHsiZXZlbnRQ
aGFzZSI6MywgImN1cnJlbnRUYXJnZXQiOiJIVE1MQm9keUVsZW1lbnQiLH0sDQoJCSI4IjogeyJl
dmVudFBoYXNlIjozLCAiY3VycmVudFRhcmdldCI6IkhUTUxIdG1sRWxlbWVudCIsfSwNCgkJIjki
OiB7ImV2ZW50UGhhc2UiOjMsICJjdXJyZW50VGFyZ2V0IjpnZXRPYmpUeXBlKGRvY3VtZW50KSx9
LA0KCX0sDQoJIjIiOiB7DQoJCSJ0YXJnZXQiOiAiU1ZHUmVjdEVsZW1lbnQiLA0KCQkidGFyZ2V0
SWQiOiAidGVzdDJfcmVjdCIsDQoJCSIwIjogeyJldmVudFBoYXNlIjoxLCAiY3VycmVudFRhcmdl
dCI6Z2V0T2JqVHlwZShkb2N1bWVudCksfSwNCgkJIjEiOiB7ImV2ZW50UGhhc2UiOjEsICJjdXJy
ZW50VGFyZ2V0IjoiSFRNTEh0bWxFbGVtZW50Iix9LA0KCQkiMiI6IHsiZXZlbnRQaGFzZSI6MSwg
ImN1cnJlbnRUYXJnZXQiOiJIVE1MQm9keUVsZW1lbnQiLH0sDQoJCSIzIjogeyJldmVudFBoYXNl
IjoxLCAiY3VycmVudFRhcmdldCI6IkhUTUxEaXZFbGVtZW50IiwgImN1cnJlbnRUYXJnZXRJZCI6
InRlc3QyX2RpdjEiLH0sDQoJCSI0IjogeyJldmVudFBoYXNlIjoxLCAiY3VycmVudFRhcmdldCI6
IlNWR1NWR0VsZW1lbnQiLCAgImN1cnJlbnRUYXJnZXRJZCI6InRlc3QyX3N2ZyIsfSwNCgkJIjUi
OiB7ImV2ZW50UGhhc2UiOjEsICJjdXJyZW50VGFyZ2V0IjoiU1ZHR0VsZW1lbnQiLH0sDQoJCSI2
IjogeyJldmVudFBoYXNlIjoyLCAiY3VycmVudFRhcmdldCI6IlNWR1JlY3RFbGVtZW50IiwgImN1
cnJlbnRUYXJnZXRJZCI6InRlc3QyX3JlY3QiLH0sDQoJCSI3IjogeyJldmVudFBoYXNlIjoyLCAi
Y3VycmVudFRhcmdldCI6IlNWR1JlY3RFbGVtZW50IiwgImN1cnJlbnRUYXJnZXRJZCI6InRlc3Qy
X3JlY3QiLH0sDQoJCSI4IjogeyJldmVudFBoYXNlIjozLCAiY3VycmVudFRhcmdldCI6IlNWR0dF
bGVtZW50Iix9LA0KCQkiOSI6IHsiZXZlbnRQaGFzZSI6MywgImN1cnJlbnRUYXJnZXQiOiJTVkdT
VkdFbGVtZW50IiwgICJjdXJyZW50VGFyZ2V0SWQiOiJ0ZXN0Ml9zdmciLH0sDQoJCSIxMCI6eyJl
dmVudFBoYXNlIjozLCAiY3VycmVudFRhcmdldCI6IkhUTUxEaXZFbGVtZW50IiwgImN1cnJlbnRU
YXJnZXRJZCI6InRlc3QyX2RpdjEiLH0sDQoJCSIxMSI6eyJldmVudFBoYXNlIjozLCAiY3VycmVu
dFRhcmdldCI6IkhUTUxCb2R5RWxlbWVudCIsfSwNCgkJIjEyIjp7ImV2ZW50UGhhc2UiOjMsICJj
dXJyZW50VGFyZ2V0IjoiSFRNTEh0bWxFbGVtZW50Iix9LA0KCQkiMTMiOnsiZXZlbnRQaGFzZSI6
MywgImN1cnJlbnRUYXJnZXQiOmdldE9ialR5cGUoZG9jdW1lbnQpLH0sDQoJfSwNCgkiMyI6IHsN
CgkJInRhcmdldCI6ICAgIkhUTUxEaXZFbGVtZW50IiwNCgkJInRhcmdldElkIjogInRlc3QzX2Rp
djIiLA0KCQkiMCI6IHsiZXZlbnRQaGFzZSI6MSwgImN1cnJlbnRUYXJnZXQiOmdldE9ialR5cGUo
ZG9jdW1lbnQpLH0sDQoJCSIxIjogeyJldmVudFBoYXNlIjoxLCAiY3VycmVudFRhcmdldCI6IkhU
TUxIdG1sRWxlbWVudCIsfSwNCgkJIjIiOiB7ImV2ZW50UGhhc2UiOjEsICJjdXJyZW50VGFyZ2V0
IjoiSFRNTEJvZHlFbGVtZW50Iix9LA0KCQkiMyI6IHsiZXZlbnRQaGFzZSI6MSwgImN1cnJlbnRU
YXJnZXQiOiJIVE1MRGl2RWxlbWVudCIsICJjdXJyZW50VGFyZ2V0SWQiOiJ0ZXN0M19kaXYxIix9
LA0KCQkiNCI6IHsiZXZlbnRQaGFzZSI6MiwgImN1cnJlbnRUYXJnZXQiOiJIVE1MRGl2RWxlbWVu
dCIsICJjdXJyZW50VGFyZ2V0SWQiOiJ0ZXN0M19kaXYyIix9LA0KCQkiNSI6IHsiZXZlbnRQaGFz
ZSI6MiwgImN1cnJlbnRUYXJnZXQiOiJIVE1MRGl2RWxlbWVudCIsICJjdXJyZW50VGFyZ2V0SWQi
OiJ0ZXN0M19kaXYyIix9LA0KCQkiNiI6IHsiZXZlbnRQaGFzZSI6MywgImN1cnJlbnRUYXJnZXQi
OiJIVE1MRGl2RWxlbWVudCIsICJjdXJyZW50VGFyZ2V0SWQiOiJ0ZXN0M19kaXYxIix9LA0KCQki
NyI6IHsiZXZlbnRQaGFzZSI6MywgImN1cnJlbnRUYXJnZXQiOiJIVE1MQm9keUVsZW1lbnQiLH0s
DQoJCSI4IjogeyJldmVudFBoYXNlIjozLCAiY3VycmVudFRhcmdldCI6IkhUTUxIdG1sRWxlbWVu
dCIsfSwNCgkJIjkiOiB7ImV2ZW50UGhhc2UiOjMsICJjdXJyZW50VGFyZ2V0IjpnZXRPYmpUeXBl
KGRvY3VtZW50KSx9LA0KCX0sDQoJIjQiOiB7DQoJCSJ0YXJnZXQiOiAgICJIVE1MRGl2RWxlbWVu
dCIsDQoJCSJ0YXJnZXRJZCI6ICJ0ZXN0NF9kaXYyIiwNCgkJIjAiOiB7ImV2ZW50UGhhc2UiOjEs
ICJjdXJyZW50VGFyZ2V0IjpnZXRPYmpUeXBlKGRvY3VtZW50KSx9LA0KCQkiMSI6IHsiZXZlbnRQ
aGFzZSI6MSwgImN1cnJlbnRUYXJnZXQiOiJIVE1MSHRtbEVsZW1lbnQiLH0sDQoJCSIyIjogeyJl
dmVudFBoYXNlIjoxLCAiY3VycmVudFRhcmdldCI6IkhUTUxCb2R5RWxlbWVudCIsfSwNCgkJIjMi
OiB7ImV2ZW50UGhhc2UiOjEsICJjdXJyZW50VGFyZ2V0IjoiSFRNTERpdkVsZW1lbnQiLCAiY3Vy
cmVudFRhcmdldElkIjoidGVzdDRfZGl2MSIsfSwNCgkJIjQiOiB7ImV2ZW50UGhhc2UiOjIsICJj
dXJyZW50VGFyZ2V0IjoiSFRNTERpdkVsZW1lbnQiLCAiY3VycmVudFRhcmdldElkIjoidGVzdDRf
ZGl2MiIsfSwNCgkJIjUiOiB7ImV2ZW50UGhhc2UiOjIsICJjdXJyZW50VGFyZ2V0IjoiSFRNTERp
dkVsZW1lbnQiLCAiY3VycmVudFRhcmdldElkIjoidGVzdDRfZGl2MiIsfSwNCgkJIjYiOiB7ImV2
ZW50UGhhc2UiOjMsICJjdXJyZW50VGFyZ2V0IjoiSFRNTERpdkVsZW1lbnQiLCAiY3VycmVudFRh
cmdldElkIjoidGVzdDRfZGl2MSIsfSwNCgkJIjciOiB7ImV2ZW50UGhhc2UiOjMsICJjdXJyZW50
VGFyZ2V0IjoiSFRNTEJvZHlFbGVtZW50Iix9LA0KCQkiOCI6IHsiZXZlbnRQaGFzZSI6MywgImN1
cnJlbnRUYXJnZXQiOiJIVE1MSHRtbEVsZW1lbnQiLH0sDQoJCSI5IjogeyJldmVudFBoYXNlIjoz
LCAiY3VycmVudFRhcmdldCI6Z2V0T2JqVHlwZShkb2N1bWVudCksfSwNCgl9LA0KfQ0KDQpURVNU
UyA9IHt9DQpUZXN0T2JqID0gZnVuY3Rpb24odHlwZSwgdGVzdE5vKSB7DQoJdGhpcy5yZXN1bHRT
dHIgPSAiIgkvL2luaXQNCgl0aGlzLnR5cGUgPSB0eXBlDQoJdGhpcy50ZXN0Tm8gPSB0ZXN0Tm8N
Cgl0aGlzLmNvbXBsZXRlZCA9IGZhbHNlDQoJdGhpcy5maW5pc2ggPSBmdW5jdGlvbihwaGFzZXMp
IHsNCgkJdGhpcy5waGFzZXMgPSBwaGFzZXMNCgkJVGVzdFBhbmVsLmFkZFJlc3VsdCh0aGlzLnR5
cGUsIHRoaXMudGVzdE5vLCBwaGFzZXMpDQoJfQ0KCXRoaXMuYWRkUmVzdWx0U3RyID0gZnVuY3Rp
b24ocmVzdWx0U3RyKSB7DQoJCXRoaXMucmVzdWx0U3RyID0gcmVzdWx0U3RyDQoJfQ0KfQ0KVGVz
dHNPYmogPSBmdW5jdGlvbih0eXBlLCB0ZXN0Tm9zKSB7DQoJdGhpcy50ZXN0cyA9IFtdDQoJdGhp
cy50ZXN0Tm9zID0gdGVzdE5vcw0KCWZvciAoa2V5IGluIHRoaXMudGVzdE5vcykgew0KCQl0ZXN0
Tm8gPSB0aGlzLnRlc3ROb3Nba2V5XQ0KCQl0aGlzLnRlc3RzW3Rlc3ROb10gPSBuZXcgVGVzdE9i
aih0eXBlLCB0ZXN0Tm8pDQoJfQ0KDQoJdGhpcy5zdGFydGVkID0gZmFsc2UNCgl0aGlzLnBoYXNl
cyA9IFtdDQoJdGhpcy5hZGQgPSBmdW5jdGlvbihFdmVudCkgew0KCQlpZighaXNPZkNsYXNzKEV2
ZW50LnRhcmdldCwibm9uX3RhcmdldCIpKSB7DQoJCQlpZih0aGlzLnN0YXJ0ZWQpIHsNCgkJCQl0
aGlzLnBoYXNlcy5wdXNoKG5ldyBQaGFzZU9iaihFdmVudCkpDQoJCQkJdGhpcy5lbmRDaGVjayhF
dmVudCkNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5waGFzZXMgPSBbbmV3IFBoYXNlT2JqKEV2ZW50
KV0NCgkJCQl0aGlzLnN0YXJ0ZWQgPSB0cnVlDQoJCQl9DQoJCX0NCgl9DQoNCgl0aGlzLmVuZENo
ZWNrID0gZnVuY3Rpb24oRXZlbnQpIHsNCgkJaWYgKEV2ZW50LmV2ZW50UGhhc2UgPT0gMyAmJiB0
aGlzLnBoYXNlc1t0aGlzLnBoYXNlcy5sZW5ndGgtMV0uY3VycmVudFRhcmdldCA9PSBnZXRPYmpU
eXBlKGRvY3VtZW50KSkgew0KCQkJdGhpcy5zdGFydGVkID0gZmFsc2UNCg0KCQkJLy8gbWFyayBz
aW5nbGUgdGVzdCBjb21wbGV0ZWQNCgkJCXRlc3RObyA9IG51bGwNCgkJCWZvciAoa2V5IGluIHRo
aXMucGhhc2VzKSB7DQoJCQkJdGVtcE5vID0gdGhpcy5waGFzZXNba2V5XS5nZXRUZXN0Tm8oKQ0K
CQkJCWlmKHRlbXBObykgew0KCQkJCQl0ZXN0Tm8gPSB0ZW1wTm8NCgkJCQl9DQoJCQl9DQoJCQlp
Zih0ZXN0Tm8gJiYgdGhpcy50ZXN0c1t0ZXN0Tm9dKSB7DQoJCQkJdGhpcy50ZXN0c1t0ZXN0Tm9d
LmZpbmlzaCh0aGlzLnBoYXNlcykNCgkJCQl0aGlzLnRlc3RzW3Rlc3ROb10uY29tcGxldGVkID0g
dHJ1ZQ0KCQkJfQ0KDQoJCQkvLyBtYXJrIGFsbCBjb21wbGV0ZWQ/Pw0KCQkJdGhpcy5jb21wbGV0
ZWRBbGwgPSB0cnVlDQoJCQlmb3IgKGtleSBpbiB0aGlzLnRlc3RzKSB7DQoJCQkJdGVzdCA9IHRo
aXMudGVzdHNba2V5XQ0KCQkJCWlmICghdGVzdC5jb21wbGV0ZWQpIHsNCgkJCQkJdGhpcy5jb21w
bGV0ZWRBbGwgPSBmYWxzZQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCg0KCXRoaXMuYWRkUmVzdWx0
U3RyID0gZnVuY3Rpb24ocmVzdWx0U3RyLCB0ZXN0Tm8pIHsNCgkJdGhpcy50ZXN0c1t0ZXN0Tm9d
LmFkZFJlc3VsdFN0cihyZXN1bHRTdHIpDQoJfQ0KCXRoaXMuZ2V0QWxsUmVzdWx0cyA9IGZ1bmN0
aW9uKCkgew0KCQlyZXN1bHRTdHIgPSAiIg0KCQlmb3IgKHRlc3RObyAgaW4gdGhpcy50ZXN0cykg
ew0KCQkJcmVzdWx0U3RyICs9IHRoaXMudGVzdHNbdGVzdE5vXS5yZXN1bHRTdHINCgkJfQ0KCQly
ZXR1cm4gcmVzdWx0U3RyDQoJfQ0KDQoJLy8gc2V0dXANCglhZGRFdmVudFRvQWxsKGRvY3VtZW50
LCB0eXBlLCBmdW5jdGlvbihFdmVudCl7dGVzdFJlc3VsdChFdmVudCwgdHlwZSl9LCAibm9uX3Rh
cmdldCIpDQp9DQoNCmZ1bmN0aW9uIHRlc3RSZXN1bHQoRXZlbnQsIHR5cGUpIHsgaWYoIVRFU1RT
W3R5cGVdLmNvbXBsZXRlZEFsbCkgew0KCVRFU1RTW3R5cGVdLmFkZChFdmVudCkNCn19DQoNCg0K
ZnVuY3Rpb24gc2V0dXAoKSB7DQoJbm9UZXN0cyA9IGZ1bmN0aW9uKCkgew0KCQlpID0gMQ0KCQl3
aGlsZSgxKSB7DQoJCQlpZighdGVzdGRhdGFbaV0pIHsNCgkJCQlyZXR1cm4gaS0xDQoJCQl9IGVs
c2Ugew0KCQkJCWkrKw0KCQkJfQ0KCQl9DQoJfSgpOw0KCVRlc3RQYW5lbCA9IG5ldyBUZXN0UGFu
ZWxDbGFzcyhub1Rlc3RzKQ0KCXN0YXJkYXJkVGVzdHMgPSBbMSwyLDMsNF0NCglUZXN0UGFuZWwu
YWRkVGVzdCgiY2xpY2siLHN0YXJkYXJkVGVzdHMpCQkvLw0KCVRlc3RQYW5lbC5hZGRUZXN0KCJt
b3VzZWRvd24iLHN0YXJkYXJkVGVzdHMpCS8vDQoJVGVzdFBhbmVsLmFkZFRlc3QoIm1vdXNldXAi
LHN0YXJkYXJkVGVzdHMpCS8vDQoJVGVzdFBhbmVsLmFkZFRlc3QoIm1vdXNlb3ZlciIsc3RhcmRh
cmRUZXN0cykJLy8NCgkJCQkJCQkvLyBjaGVjayBtb3VzZW92ZXIgcHJvcGVydGllcw0KCVRlc3RQ
YW5lbC5hZGRUZXN0KCJtb3VzZW1vdmUiLHN0YXJkYXJkVGVzdHMpCS8vDQoJVGVzdFBhbmVsLmFk
ZFRlc3QoIm1vdXNlb3V0IixzdGFyZGFyZFRlc3RzKQkvLw0KCQkJCQkJCS8vIGNoZWNrIG1vdXNv
dXQgcHJvcGVydGllcw0KCVRlc3RQYW5lbC5hZGRUZXN0KCJkYmxjbGljayIsc3RhcmRhcmRUZXN0
cykJCS8vDQoJVGVzdFBhbmVsLmFkZFRlc3QoIm1vdXNld2hlZWwiLHN0YXJkYXJkVGVzdHMpCS8v
DQovLwlUZXN0UGFuZWwuYWRkVGVzdCgiYmx1ciIsc3RhcmRhcmRUZXN0cykJCS8vDQovLwlUZXN0
UGFuZWwuYWRkVGVzdCgiZm9jdXMiLHN0YXJkYXJkVGVzdHMpCQkvLw0KfQ0KDQpUZXN0UGFuZWxD
bGFzcyA9IGZ1bmN0aW9uKG5vVGVzdHMpIHsNCgl0aGlzLmNvbnRhaW5lckRpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0X3Jlc3VsdHNfcGFuZWwiKQ0KCXRoaXMubm9UZXN0cyA9IG5v
VGVzdHMNCglsYWJlbERpdiA9ICc8ZGl2IGNsYXNzPSJsYWJlbCI+LjwvZGl2PlxuJw0KCWZvciAo
dmFyIGk9MDsgaTx0aGlzLm5vVGVzdHM7IGkrKykgew0KCQlsYWJlbERpdiArPSAnXHQ8ZGl2IGNs
YXNzPSJ0ZXN0X2VudHJ5Ij4nKyhpKzEpKyc8L2Rpdj5cbicNCgl9DQoJdGhpcy5jb250YWluZXJE
aXYuaW5uZXJIVE1MICs9ICc8ZGl2IGNsYXNzPSJyb3ciPlxuJytsYWJlbERpdisnXG48L2Rpdj5c
bicNCg0KCXRoaXMuYWRkVGVzdCA9IGZ1bmN0aW9uKHR5cGUsIHRlc3ROb3MpIHsNCgkJdGVzdEJv
eGVzID0gJzxkaXYgY2xhc3M9ImxhYmVsIj4nK3R5cGUrJzwvZGl2PlxuJw0KCQlmb3IgKHZhciBp
PTA7IGk8dGhpcy5ub1Rlc3RzOyBpKyspIHsNCgkJCWVuYWJsZWQgPSAiZGlzYWJsZWQiDQoJCQlm
b3IgKGtleSBpbiB0ZXN0Tm9zKSB7DQoJCQkJaWYoTnVtYmVyKHRlc3ROb3Nba2V5XSkgPT0gTnVt
YmVyKGkpKSB7DQoJCQkJCWVuYWJsZWQgPSAiZW5hYmxlZCINCgkJCQl9DQoJCQl9DQoJCQlpZCA9
ICJ0ZXN0X3Jlc3VsdF9mb3JfIit0eXBlKyJfIitOdW1iZXIoaSsxKQ0KCQkJdGVzdEJveGVzICs9
ICdcdDxkaXYgaWQ9IicraWQrJyIgY2xhc3M9IicrZW5hYmxlZCsnIHRlc3RfZW50cnkiPi48L2Rp
dj5cbicNCgkJfQ0KCQl0aGlzLmNvbnRhaW5lckRpdi5pbm5lckhUTUwgKz0gJzxkaXYgY2xhc3M9
InJvdyI+XG4nK3Rlc3RCb3hlcysnPC9kaXY+XG4nDQoJCVRFU1RTW3R5cGVdID0gbmV3IFRlc3Rz
T2JqKHR5cGUsIHRlc3ROb3MpDQoJfQ0KCXRoaXMuYWRkUmVzdWx0ID0gZnVuY3Rpb24odHlwZSwg
dGVzdE5vLCBwaGFzZXMpIHsNCgkJLy8gdGVzdCBwaGFzZXMNCgkJdGVzdCA9IHRlc3RQaGFzZXMo
dHlwZSwgdGVzdE5vLCBwaGFzZXMpDQoJCWlmICh0ZXN0LnBhc3MpIHsNCgkJCWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0X3Jlc3VsdF9mb3JfIit0eXBlKyJfIit0ZXN0Tm8pLnN0eWxlLmJh
Y2tncm91bmRDb2xvciA9ICJncmVlbiINCgkJfSBlbHNlIHsNCgkJCWRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0X3Jlc3VsdF9mb3JfIit0eXBlKyJfIit0ZXN0Tm8pLnN0eWxlLmJhY2tncm91
bmRDb2xvciA9ICJyZWQiDQoJCX0NCgkJVEVTVFNbdHlwZV0uYWRkUmVzdWx0U3RyKHRlc3QucmVz
dWx0U3RyLCB0ZXN0Tm8pDQoJCXRoaXMuX3Nob3dBbGxSZXN1bHRzKCkNCgl9DQoJdGhpcy5fc2hv
d0FsbFJlc3VsdHMgPSBmdW5jdGlvbigpIHsNCgkJcmVzdWx0U3RyID0gIiINCgkJZm9yICh0eXBl
IGluIFRFU1RTKSB7DQoJCQlyZXN1bHRTdHIgKz0gVEVTVFNbdHlwZV0uZ2V0QWxsUmVzdWx0cygp
DQoJCX0NCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLnZhbHVlID0gcmVzdWx0
U3RyDQoJfQ0KfQ0KDQoNCmZ1bmN0aW9uIGdldE9ialR5cGUob2JqKSB7DQoJLy9bb2JqZWN0IHR5
cGVdID4gInR5cGUiDQoJcmV0dXJuIChvYmorIiIpLnNsaWNlKCJbb2JqZWN0ICIubGVuZ3RoLC0x
KQ0KfQ0KZnVuY3Rpb24gZ2V0SWQoZWxlbWVudCkgew0KCWlmKGdldE9ialR5cGUoZWxlbWVudCkg
IT0gZ2V0T2JqVHlwZShkb2N1bWVudCkgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGUoImlkIikpIHsg
Ly9kb2N1bWVudCB3aWxsIGdpdmUgYW4gZXJyb3Igb24gLmhhc0F0dHJpYnV0ZQ0KCQlyZXR1cm4g
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikNCgl9IGVsc2Ugew0KCQlyZXR1cm4gbnVsbA0KCX0N
Cn0NClBoYXNlT2JqID0gZnVuY3Rpb24oRXZlbnQpIHsNCgkvLyBwdWJsaWMgLy8NCgkvLy8vLy8v
Ly8vLy8NCgl0aGlzLmdldFRlc3RObyA9IGZ1bmN0aW9uKCkgew0KCQlpZCA9IHRoaXMuY3VycmVu
dFRhcmdldElkDQoJCWlmKGlkICYmIGlkLmxlbmd0aCA+ICJ0ZXN0Ii5sZW5ndGggJiYgaWQuc2xp
Y2UoMCw0KSA9PSAidGVzdCIpIHsJLy93aGF0IGlzIHRoZSB0ZXN0IG51bWJlcg0KCQkJcmV0dXJu
IE51bWJlcihpZC5zbGljZSg0LDUpKQ0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIG51bGwNCgkJfQ0K
CX0NCg0KCS8vIHNldHVwIC8vDQoJLy8vLy8vLy8vLy8NCgkJLy8gRXZlbnRUYXJnZXQgPSBodHRw
Oi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMi1FdmVudHMvZXZlbnRzLmh0bWwjRXZlbnRzLUV2
ZW50VGFyZ2V0DQoJCS8vIGV2ZW50UGhhc2UgPSBmcm9tIGh0dHA6Ly93d3cudzMub3JnL1RSL0RP
TS1MZXZlbC0yLUV2ZW50cy9ldmVudHMuaHRtbCNFdmVudHMtRXZlbnQNCgl0aGlzLnRhcmdldCA9
IGdldE9ialR5cGUoRXZlbnQudGFyZ2V0KQ0KCXRoaXMudGFyZ2V0SWQgPSBnZXRJZChFdmVudC50
YXJnZXQpDQoJdGhpcy5ldmVudFBoYXNlID0gRXZlbnQuZXZlbnRQaGFzZQ0KCXRoaXMuY3VycmVu
dFRhcmdldCA9IGdldE9ialR5cGUoRXZlbnQuY3VycmVudFRhcmdldCkNCgl0aGlzLmN1cnJlbnRU
YXJnZXRJZCA9IGdldElkKEV2ZW50LmN1cnJlbnRUYXJnZXQpDQoJdGhpcy50eXBlID0gRXZlbnQu
dHlwZQ0KfQ0KDQpmdW5jdGlvbiB0ZXN0UGhhc2VzKHR5cGUsIHRlc3RObywgcGhhc2VzKSB7DQoJ
Ly8gcGFzczogLHJlc3VsdFN0cjogDQoJcGFzcyA9IHRydWUNCglyZXN1bHRTdHIgPSAiQWN0dWFs
ID09IEV4cGVjdGVkXG4iDQoJcmVzdWx0U3RyICs9ICJ0eXBlOiAiKwlwaGFzZXNbMF0udHlwZSsi
PT0iK3R5cGUrIlxuIg0KCXJlc3VsdFN0ciArPSAidGFyZ2V0OiAiK3BoYXNlc1swXS50YXJnZXQr
IlsiK3BoYXNlc1swXS50YXJnZXRJZCsiXT09Iit0ZXN0ZGF0YVt0ZXN0Tm9dLnRhcmdldCsiWyIr
dGVzdGRhdGFbdGVzdE5vXS50YXJnZXRJZCsiXVxuIg0KCWZvciAocGhhc2VObyBpbiBwaGFzZXMp
IHsNCgkJcGhhc2UgPSBwaGFzZXNbcGhhc2VOb10NCgkJdGVzdCA9IHRlc3RkYXRhW3Rlc3ROb10N
CgkJaWYodGVzdFtwaGFzZU5vXSkgewkJLy8gY2hlY2sgZm9yIGJsYW5rL21pc3NpbmcgZW50cmll
cyEhISEhISEhISEhISEhISEgIGNoZWNrIGlmIHNhbWUgbGVuZ3RoISEhISEhISEhIQ0KCQkJdGVz
dFBoYXNlID0gdGVzdFtwaGFzZU5vXQ0KDQoJCQl0YXJnZXRQYXNzID0gKHBoYXNlLnRhcmdldCA9
PSB0ZXN0LnRhcmdldCkgPyB0cnVlIDogZmFsc2UNCgkJCXRhcmdldElkUGFzcyA9IChwaGFzZS50
YXJnZXRJZCA9PSB0ZXN0LnRhcmdldElkKSA/IHRydWUgOiBmYWxzZQ0KDQoJCQlldmVudFBoYXNl
UGFzcyA9IChwaGFzZS5ldmVudFBoYXNlID09IHRlc3RQaGFzZS5ldmVudFBoYXNlKSA/IHRydWUg
OiBmYWxzZQ0KCQkJY3VycmVudFRhcmdldFBhc3MgPSAocGhhc2UuY3VycmVudFRhcmdldCA9PSB0
ZXN0UGhhc2UuY3VycmVudFRhcmdldCkgPyB0cnVlIDogZmFsc2UNCgkJCWN1cnJlbnRUYXJnZXRJ
ZFBhc3MgPSAocGhhc2UuY3VycmVudFRhcmdldElkID09IHRlc3RQaGFzZS5jdXJyZW50VGFyZ2V0
SWQgfHwgKCFwaGFzZS5jdXJyZW50VGFyZ2V0SWQgJiYgIXRlc3RQaGFzZS5jdXJyZW50VGFyZ2V0
SWQpKSA/IHRydWUgOiBmYWxzZQ0KCQkJaWYoIXBhc3MgfHwgIXRhcmdldFBhc3MgfHwgIXRhcmdl
dElkUGFzcyB8fCAhZXZlbnRQaGFzZVBhc3MgfHwgIWN1cnJlbnRUYXJnZXRQYXNzIHx8ICFjdXJy
ZW50VGFyZ2V0SWRQYXNzKSB7DQoJCQkJcGFzcyA9IGZhbHNlDQoJCQl9DQoJCQlyZXN1bHRTdHIg
Kz0gImV2ZW50UGhhc2U6ICIrcGhhc2UuZXZlbnRQaGFzZSsiPT0iK3Rlc3RQaGFzZS5ldmVudFBo
YXNlKyJcdGN1cnJlbnRUYXJnZXQ6ICIrcGhhc2UuY3VycmVudFRhcmdldCsiPT0iK3Rlc3RQaGFz
ZS5jdXJyZW50VGFyZ2V0KyJcdGV2ZW50VGFyZ2V0OiAiK3BoYXNlLnRhcmdldCsiPT0iK3Rlc3Qu
dGFyZ2V0KyJcbiINCgkJfSBlbHNlIHsNCgkJCXBhc3MgPSBmYWxzZQ0KCQl9DQoJfQ0KCWlmKHBh
c3MpIHsNCgkJcmVzdWx0U3RyID0gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIrcmVzdWx0
U3RyDQoJfSBlbHNlIHsNCgkJcmVzdWx0U3RyID0gIi0tLS0tLS0tLS1GQUlMLS0tLS0tLS0tLVxu
IityZXN1bHRTdHINCgl9DQoJcmV0dXJuIHsicGFzcyI6cGFzcywgInJlc3VsdFN0ciI6cmVzdWx0
U3RyfQ0KfQ0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCmZ1bmN0aW9uIGlzT2ZDbGFzcyhlbGVtZW50
LCBjbGFzc05hbWUpIHsNCglpZihnZXRPYmpUeXBlKGVsZW1lbnQpICE9IGdldE9ialR5cGUoZG9j
dW1lbnQpICYmIChlbGVtZW50Lm5vZGVUeXBlID09IDEgfHwgZWxlbWVudC5ub2RlVHlwZSA9PSA5
KSl7IC8vZG9jdW1lbnQgd2lsbCBnaXZlIGFuIGVycm9yIG9uIC5oYXNBdHRyaWJ1dGUNCgkJaWYo
ZWxlbWVudC5oYXNBdHRyaWJ1dGUoImNsYXNzIikpIHsNCgkJCWlmKGVsZW1lbnQuZ2V0QXR0cmli
dXRlKCJjbGFzcyIpLmluZGV4T2YoY2xhc3NOYW1lKSA+IC0xKSB7DQoJCQkJcmV0dXJuIHRydWUN
CgkJCX0NCgkJfQ0KCX0NCglyZXR1cm4gZmFsc2UNCn0NCmFkZEV2ZW50VG9BbGwgPSBmdW5jdGlv
bihub2RlLCB0eXBlLCBmdW5jLCBleGNsdWRlQ2xhc3MpIHsNCgkvLyBub2RlID0gc3RhcnRpbmcg
bm9kZQ0KCS8vIHR5cGUgPSBFdmVudCB0eXBlDQoJLy8gZnVuYyA9IGZ1bmN0aW9uIHRvIGF0dGFj
aA0KCS8vIGV4Y2x1ZGVDbGFzcyA9IGNsYXNzIG5hbWUgdG8gZXhjbHVkZSBmcm9tIGFkZGluZyBh
biBldmVudCBsaXN0ZW5lciAoc2VsZiBhbmQgaXRzIGNoaWxkcmVuKQ0KCWlmKHR5cGVvZihub2Rl
KSA9PSB0eXBlb2Yoe30pICYmICFpc09mQ2xhc3Mobm9kZSxleGNsdWRlQ2xhc3MpKSB7DQoJCWlm
KG5vZGUubm9kZVR5cGUgPT0gMSB8fCBub2RlLm5vZGVUeXBlID09IDkpIHsNCgkJCW5vZGUuYWRk
RXZlbnRMaXN0ZW5lcih0eXBlLCBmdW5jLCB0cnVlKQ0KCQkJbm9kZS5hZGRFdmVudExpc3RlbmVy
KHR5cGUsIGZ1bmMsIGZhbHNlKQ0KCQl9DQoJCWlmKG5vZGUuaGFzQ2hpbGROb2Rlcykgew0KCQkJ
Zm9yIChrZXkgaW4gbm9kZS5jaGlsZE5vZGVzKSB7DQoJCQkJY2hpbGROb2RlID0gbm9kZS5jaGls
ZE5vZGVzW2tleV0NCgkJCQlhZGRFdmVudFRvQWxsKGNoaWxkTm9kZSwgdHlwZSwgZnVuYykNCgkJ
CX0NCgkJfQ0KCX0NCn0NCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>94294</attachid>
            <date>2011-05-20 17:06:41 -0700</date>
            <delta_ts>2011-05-20 17:06:41 -0700</delta_ts>
            <desc>Example of SVG-HTML integration</desc>
            <filename>examples.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>5730</size>
            <attacher name="Kevin Ar18">kevinar18</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8IS0tQ3JlZGl0cy9Db3B5cmlnaHQvUmVmZXJlbmNlIChF
bnRpcmUgRG9jdW1lbnQpOg0KCWh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvDQoJaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvDQoJCWh0dHA6Ly93d3cu
dzMub3JnL1RSL1NWRzExL3N0cnVjdC5odG1sI05ld0RvY3VtZW50T3ZlcnZpZXcJKGNvcGllZCBz
b21lIG9mIHRoZSB3b3JraW5nIGxheW91dCBmcm9tIGhlcmUpDQoJaHR0cDovL3d3dy53My5vcmcv
VFIveG1sLW5hbWVzMTEvDQoJaHR0cDovL3d3dy53My5vcmcvVFIvY3Nzb20tdmlldy8NCi0tPg0K
PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8c3R5
bGU+DQpib2R5IHsNCgltYXJnaW4tbGVmdDoyMjBweDsNCn0NCjwvc3R5bGU+DQo8c2NyaXB0Pg0K
ZnVuY3Rpb24gcG9pbnRlcigpIHsNCn0NCmZ1bmN0aW9uIG1vdmVQb2ludGVyKEV2ZW50KSB7DQoJ
eCA9IEV2ZW50LmNsaWVudFgtMjUgLy8tY2VudGVyIG9mIGNpcmNsZQ0KCXkgPSBFdmVudC5jbGll
bnRZLTI1DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vdXNlX2NpcmNsZSIpLnNldEF0dHJp
YnV0ZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIreCsiLCIreSsiKSIpDQp9DQoNCmZ1bmN0aW9u
IHNldHVwKCkgew0KCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBtb3ZlUG9p
bnRlciwgZmFsc2UpDQoJc2V0dXBBcnJvdygpDQoNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YXJyb3cxIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7YWxlcnQoJ1lvdSBj
bGlja2VkIG9uIHRoZSBhcnJvdy4nKTt9LGZhbHNlKQ0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJhcnJvdzIiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXthbGVydCgnWW91
IGNsaWNrZWQgb24gdGhlIGFycm93LicpO30sZmFsc2UpDQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFycm93MyIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2FsZXJ0KCdZ
b3UgY2xpY2tlZCBvbiB0aGUgYXJyb3cuJyk7fSxmYWxzZSkNCg0KCXdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJzY3JvbGwiLHNldHVwQXJyb3csZmFsc2UpDQp9DQpmdW5jdGlvbiBzZXR1cEFycm93
KCkgew0KCWVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5zd2VyX3RleHQiKQ0K
CWJveCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkNCgl4Q2VudGVyID0gYm94Lmxl
ZnQrTWF0aC5mbG9vcihib3gud2lkdGgvMikNCgl5VG9wID0gYm94LnRvcA0KDQoJZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImFycm93MSIpLnNldEF0dHJpYnV0ZSgiZCIsIk0gIit4Q2VudGVyKyIs
Iit5VG9wKyIgTCAxMDAwLDEwMCIpDQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFycm93MiIp
LnNldEF0dHJpYnV0ZSgiZCIsIk0gMTAwMCwxMDAgbCAtMTAwLDAiKQ0KCWRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJhcnJvdzMiKS5zZXRBdHRyaWJ1dGUoImQiLCJNIDEwMDAsMTAwIGwgMCwxMDAi
KQ0KfQ0KDQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IG9ubG9hZD0ic2V0dXAoKSI+DQo8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjIwMDAiIGhlaWdodD0i
MjAwMCIgc3R5bGU9InBvc2l0aW9uOmZpeGVkOyB0b3A6MHB4OyBsZWZ0OjBweDsgei1pbmRleDox
MDAwOyIgcG9pbnRlci1ldmVudHM9Im5vbmUiPjxnIHBvaW50ZXItZXZlbnRzPSJ2aXNpYmxlIj4N
Cgk8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMjAwMCIgaGVpZ2h0PSIyMDAwIiBmaWxsPSJ1cmwo
I2dyaWRfcGF0dGVybikiIHBvaW50ZXItZXZlbnRzPSJub25lIiBvcGFjaXR5PSIwLjUiIC8+DQoJ
PHBhdHRlcm4gaWQ9ImdyaWRfcGF0dGVybiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiPg0KCQk8cGF0aCBkPSJNIDAsMCBs
IDEwMCwwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIC8+DQoJ
CTxwYXRoIGQ9Ik0gMCwwIGwgMCwxMDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIg
ZmlsbD0ibm9uZSIgLz4NCgk8L3BhdHRlcm4+DQoJPHJlY3QgeD0iMCIgeT0iMTAwIiB3aWR0aD0i
MjAwMCIgaGVpZ2h0PSIyMDAwIiBmaWxsPSJ5ZWxsb3ciIHBvaW50ZXItZXZlbnRzPSJub25lIiBv
cGFjaXR5PSIwLjEiIC8+DQoJPHBhdGggZD0iTSAwLDAgbCAyMDAwLDAgMCwxMjAgLTE1MDAsMCAt
MzAwLDIwMCAwLDIwMDAgLTUwMCwwIHoiIGZpbGw9InJnYigyNSwyMDAsMjMwKSIgc3Ryb2tlPSJi
bGFjayIgc3Ryb2tlLXdpZHRoPSI1IiAvPg0KCTx0ZXh0IHg9IjEwMDAiIHk9IjUwIiBmb250LXNp
emU9IjQwIiBmaWxsPSJibHVlIj5Mb2dvIGdvZXMgaGVyZS48L3RleHQ+DQoJPHRleHQgeD0iMTAi
IHk9IjUwMCIgZm9udC1zaXplPSIyMCIgZmlsbD0iYmx1ZSI+TWVudSBDYXRlZ29yeTwvdGV4dD4N
Cgk8dGV4dCB4PSIxMCIgeT0iNTIwIiBmb250LXNpemU9IjEwIiBmaWxsPSJibHVlIj5NZW51IEl0
ZW08L3RleHQ+DQoJPHRleHQgeD0iMTAiIHk9IjU0MCIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmx1
ZSI+TWVudSBJdGVtPC90ZXh0Pg0KCTx0ZXh0IHg9IjEwIiB5PSI1NjAiIGZvbnQtc2l6ZT0iMTAi
IGZpbGw9ImJsdWUiPk1lbnUgSXRlbTwvdGV4dD4NCgk8dGV4dCB4PSIxMCIgeT0iNTgwIiBmb250
LXNpemU9IjIwIiBmaWxsPSJibHVlIj5NZW51IENhdGVnb3J5PC90ZXh0Pg0KCTx0ZXh0IHg9IjEw
IiB5PSI2MDAiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9ImJsdWUiPk1lbnUgSXRlbTwvdGV4dD4NCgk8
dGV4dCB4PSIxMCIgeT0iNjIwIiBmb250LXNpemU9IjEwIiBmaWxsPSJibHVlIj5NZW51IEl0ZW08
L3RleHQ+DQoNCgk8cGF0aCBkPSJNIDIwMCw5MDAgdCA1MCwtNTAgMCwtNTAgMTUwLDAgbCAwLDEw
IHQgMCwxMCAtNTAsMTAgbCAtNjAsMCB6IiBmaWxsPSJyZ2IoMjUsMjAwLDIzMCkiIHBvaW50ZXIt
ZXZlbnRzPSJub25lIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iYmx1ZSIvPg0KCTx0ZXh0IHg9
IjI4MCIgeT0iODIwIiBmb250LXNpemU9IjIwIiBmaWxsPSJibHVlIj5NZW51IEV4Y2VycHQ8L3Rl
eHQ+DQoNCgk8Y2lyY2xlIGlkPSJtb3VzZV9jaXJjbGUiIGN4PSIyNSIgY3k9IjI1IiByPSIyNSIg
ZmlsbD0idXJsKCNjaXJjbGVfZ3JhZGllbnQpIiBzdHJva2U9InllbGxvdyIgc3Ryb2tlLXdpZHRo
PSIzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDApIiBvbmxvYWQ9InBvaW50ZXIoKSIgcG9pbnRl
ci1ldmVudHM9Im5vbmUiLz4NCgk8cmFkaWFsR3JhZGllbnQgaWQ9ImNpcmNsZV9ncmFkaWVudCIg
Y3g9IjI1IiBjeT0iMjUiIHI9IjI1IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQoJ
CTxzdG9wIHN0b3AtY29sb3I9InllbGxvdyIgb2Zmc2V0PSIwIiAvPg0KCQk8c3RvcCBzdG9wLWNv
bG9yPSJ5ZWxsb3ciIHN0b3Atb3BhY2l0eT0iMCIgb2Zmc2V0PSIxIiAvPg0KCTwvcmFkaWFsR3Jh
ZGllbnQ+DQoJPHBhdGggaWQ9ImFycm93MSIgZD0iIiBzdHJva2U9InJlZCIgc3Ryb2tlLXdpZHRo
PSIyMCIgZmlsbD0ibm9uZSIgLz4NCgk8cGF0aCBpZD0iYXJyb3cyIiBkPSIiIHN0cm9rZT0icmVk
IiBzdHJva2Utd2lkdGg9IjgiIGZpbGw9Im5vbmUiIC8+DQoJPHBhdGggaWQ9ImFycm93MyIgZD0i
IiBzdHJva2U9InJlZCIgc3Ryb2tlLXdpZHRoPSI4IiBmaWxsPSJub25lIiAvPg0KPC9nPjwvc3Zn
Pg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+
DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4N
Cjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0K
Q2FuIHlvdSBTZWxlY3QgdGhpcyB0ZXh0Pzxici8+DQo8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxh
dGl2ZTsgZmxvYXQ6cmlnaHQ7IHRleHQtYWxpZ246bGVmdDsiPg0KCURvZXMgdGhlIGludGVybmV0
IHdvcmsgbGlrZSBhIG5vcm1hbCBwYWdlPzxici8+DQoJPGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cu
Z29vZ2xlLmNvbS9zZWFyY2g/cT1zdmclMjBleGFtcGxlcyIgc3R5bGU9IndpZHRoOjQwMHB4OyBo
ZWlnaHQ6NDAwcHg7Ij48L2lmcmFtZT4NCjwvZGl2Pg0KV2hhdCBoYXBwZW5zIGlmIHlvdSBjbGlj
ayBvbiB0aGUgYXJyb3c/PGJyLz4NCjxici8+DQo8YnIvPg0KPGEgaHJlZj0iaHR0cDovL3d3dy53
My5vcmcvVFIvU1ZHMTEvIj5UcnkgdG8gY2xpY2sgdGhpcyBsaW5rLjwvYT4gLS0gRGlkIHRoZSBj
dXJzb3IgY2hhbmdlIHRvIGEgcG9pbnRlciB3aGVuIHlvdSBob3ZlcmVkIG92ZXIgaXQ/PGJyLz4N
Cjxici8+DQo8dGV4dGFyZWEgcm93cz0iNSIgY29scz0iMTAwJSIgc3R5bGU9ImJvcmRlcjo1cHgg
c29saWQgYmxhY2s7Ij4gQ2FuIHlvdSB0eXBlIGFueXRoaW5nIGluIHRoaXMgYm94PyBDYW4geW91
IHR5cGUgYW55dGhpbmcgaW4gdGhpcyBib3g/PC90ZXh0YXJlYT4NCjxici8+DQo8YnIvPg0KPHNw
YW4gaWQ9ImFuc3dlcl90ZXh0Ij5TY3JvbGwgZG93biB0byB3YXRjaCB0aGUgYXJyb3cgbW92ZSE8
L3NwYW4+PGJyLz4NCjxici8+DQo8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9p
bWFnZXMvc2hhcGVzL2xpbmUwMS5wbmciPjxpbWcgc3JjPSJodHRwOi8vd3d3LnczLm9yZy9UUi9T
VkcxMS9pbWFnZXMvc2hhcGVzL2xpbmUwMS5wbmciIC8+PC9hPiBSaWdodCBjbGljayBvbiB0aGlz
IGltYWdlLjxici8+DQpEbyB5b3Ugc2VlIHRoZSBpbWFnZSBwcm9wZXJ0aWVzIGluIHRoZSBjb250
ZXh0IG1lbnU/PGJyLz4NCkRvIHlvdSBzZWUgdGhlIGxpbmsgcHJvcGVydGllcyBpbiB0aGUgY29u
dGV4dCBtZW51Pzxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+
DQo8YnIvPg0KPGJyLz4NCnNvbWUgdGV4dDxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIv
Pg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+
DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQptb3JlIHRleHQ8YnIv
Pg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+
DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4N
Cjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0K
PGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8
YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxi
ci8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJy
Lz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIv
Pg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+
DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4N
Cjxici8+DQoNCg0KDQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>94297</attachid>
            <date>2011-05-20 17:17:03 -0700</date>
            <delta_ts>2011-05-20 17:21:46 -0700</delta_ts>
            <desc>Some SVG-HTML integration testcases</desc>
            <filename>browser_tests.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>5707</size>
            <attacher name="Kevin Ar18">kevinar18</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+DQo8IS0tIENyZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDov
L3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8gLS0+DQo8IS0tIENy
ZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvICYg
aHR0cDovL3d3dy53My5vcmcvVFIveG1sLyAmIGh0dHA6Ly93d3cudzMub3JnL1RSL3hsaW5rLw0K
CWh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIvDQotLT4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIj4NCjxoZWFkPg0KDQo8c3R5bGU+DQouZ3JhcGhpY2FsIHsNCgli
YWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMTkwLDE0MCk7DQp9DQouZXZlbnRzIHsNCgkvKiBjYW4g
dHJpZ2dlciBldmVudHMgKi8NCglib3JkZXItd2lkdGg6MHB4IDBweCAycHggMHB4Ow0KCWJvcmRl
ci1zdHlsZTpkYXNoZWQ7DQoJYm9yZGVyLWNvbG9yOnJlZDsNCn0NCg0KDQojdGVzdF9yZXN1bHRz
X3BhbmVsIHsNCglmb250LXNpemU6MTBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQp9DQojdGVzdF9y
ZXN1bHRzX3BhbmVsIC5yb3cgZGl2IHsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgloZWlnaHQ6
MTJweDsNCgltYXJnaW46MXB4Ow0KCWJhY2tncm91bmQtY29sb3I6cmdiKDEwMCwxMDAsMTAwKTsN
Cn0NCiN0ZXN0X3Jlc3VsdHNfcGFuZWwgLnJvdyAubGFiZWwgew0KCXdpZHRoOjUwcHg7DQp9DQoj
dGVzdF9yZXN1bHRzX3BhbmVsIC5yb3cgLnRlc3RfZW50cnkgew0KCXdpZHRoOjEycHg7DQoJdGV4
dC1hbGlnbjpjZW50ZXI7DQp9DQo8L3N0eWxlPg0KDQo8c2NyaXB0IHNyYz0ic2NyaXB0LmpzIj48
L3NjcmlwdD4NCjxzY3JpcHQ+DQo8L3NjcmlwdD4NCg0KDQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9
InNldHVwKCkiPg0KDQo8ZGl2IGNsYXNzPSJub25fdGFyZ2V0IiBzdHlsZT0icG9zaXRpb246YWJz
b2x1dGU7IHRvcDowcHg7IGxlZnQ6MTAwcHg7IHdpZHRoOjgwJTsgYmFja2dyb3VuZC1jb2xvcjp3
aGl0ZTsgei1pbmRleDoxMDAwOyI+UnVsZXM6DQo8b2w+DQoJPGxpPkRvdWJsZS1jbGljayBpbnNp
ZGUgZWFjaCBncmV5ICJjaXJjbGUiLjwvbGk+DQoJPGxpPlNjcm9sbCB0aGUgbW91c2Utd2hlZWwg
b3ZlciBlYWNoIGdyZXkgImNpcmNsZSIuPC9saT4NCjwvb2w+DQpSZXN1bHQ6DQo8cD4gVGhpcyBz
aG91bGQgcmVzdWx0IGluIGdyZWVuIG9yIHJlZCBpbmRpY2F0b3JzIGJlc2lkZSBhbGwgb2YgdGhl
IHRlc3RzLiBHcmVlbiA9IGEgcGFzc2VkIHRlc3QuIFJlZCA9IGEgZmFpbGVkIHRlc3QuPC9wPg0K
VGhlIHRlc3QgY2hlY2tzIHNldmVyYWwgaXRlbXM6DQo8dWw+DQoJPGxpPkRvZXMgdGhlIGNvcnJl
Y3QgZWxtZW50ICJkaXNwYXRjaCIgdGhlIGV2ZW50PzwvbGk+DQoJPGxpPkRvZXMgdGhlIGNhcHR1
cmUsIHRhcmdldCwgYW5kIGJ1YmJsZSBwaGFzZSBmbG93IHRvIGFsbCBlbGVtZW50cyBpbiB0aGUg
Y29ycmVjdCBvcmRlcj88L2xpPg0KCTxsaT5Eb2VzIHRoZSBicm93c2VyIHN1cHBvcnQgdGhlIHNw
ZWNpZmljIGV2ZW50IHR5cGU/PC9saT4NCjwvdWw+DQo8L2Rpdj4NCg0KPGRpdiBpZD0idGVzdDFf
ZGl2MSI+DQo8ZGl2IGlkPSJ0ZXN0MV9kaXYyIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRv
cDowcHg7IGxlZnQ6MHB4OyB3aWR0aDo1MHB4OyBoZWlnaHQ6NTBweDsgYmFja2dyb3VuZC1jb2xv
cjpncmV5OyB6LWluZGV4OjEwOyI+LjwvZGl2PgkJCQkJCTwhLS0gRGVzaXJlZCBUYXJnZXQgLS0+
DQo8c3ZnIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjBweDsgbGVmdDowcHg7IHdpZHRo
OjUwcHg7IGhlaWdodDo1MHB4OyB6LWluZGV4OjIwOyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiBwb2ludGVyLWV2ZW50cz0ibm9uZSI+PGcgcG9pbnRlci1ldmVudHM9InZpc2li
bGUiPg0KCTxwYXRoIGNsYXNzPSJub25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1LDAgMCw4IC0xMyw1
IC01LDEzIC04LDAgeiIgZmlsbD0iYmxhY2siIC8+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQi
IGQ9Ik0gMCwwIGwgMjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJh
bnNmb3JtPSJyb3RhdGUoOTAsMjUsMjUpIi8+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9
Ik0gMCwwIGwgMjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNm
b3JtPSJyb3RhdGUoMTgwLDI1LDI1KSIvPg0KCTxwYXRoIGNsYXNzPSJub25fdGFyZ2V0IiBkPSJN
IDAsMCBsIDI1LDAgMCw4IC0xMyw1IC01LDEzIC04LDAgeiIgZmlsbD0iYmxhY2siIHRyYW5zZm9y
bT0icm90YXRlKDI3MCwyNSwyNSkiLz4NCjwvZz48L3N2Zz4NCjwvZGl2Pg0KDQo8ZGl2IGlkPSJ0
ZXN0Ml9kaXYxIj4NCjxkaXYgaWQ9InRlc3QyX2RpdjIiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0
ZTsgdG9wOjUwcHg7IGxlZnQ6MHB4OyB3aWR0aDo1MHB4OyBoZWlnaHQ6NTBweDsgYmFja2dyb3Vu
ZC1jb2xvcjpncmV5OyB6LWluZGV4OjEwOyI+LjwvZGl2Pg0KPHN2ZyBpZD0idGVzdDJfc3ZnIiBz
dHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDo1MHB4OyBsZWZ0OjBweDsgd2lkdGg6NTBweDsg
aGVpZ2h0OjUwcHg7IHotaW5kZXg6MjA7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciIHBvaW50ZXItZXZlbnRzPSJub25lIj48ZyBwb2ludGVyLWV2ZW50cz0idmlzaWJsZSI+DQoJ
PHJlY3QgaWQ9InRlc3QyX3JlY3QiIHg9IjAiIHk9IjAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIg
ZmlsbD0iZ3JleSIvPgkJCQkJCQkJCQkJCQkJCQk8IS0tIERlc2lyZWQgVGFyZ2V0IC0tPg0KCTxw
YXRoIGNsYXNzPSJub25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1LDAgMCw4IC0xMyw1IC01LDEzIC04
LDAgeiIgZmlsbD0iYmxhY2siIC8+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCww
IGwgMjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNmb3JtPSJy
b3RhdGUoOTAsMjUsMjUpIi8+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwg
MjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNmb3JtPSJyb3Rh
dGUoMTgwLDI1LDI1KSIvPg0KCTxwYXRoIGNsYXNzPSJub25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1
LDAgMCw4IC0xMyw1IC01LDEzIC04LDAgeiIgZmlsbD0iYmxhY2siIHRyYW5zZm9ybT0icm90YXRl
KDI3MCwyNSwyNSkiLz4NCjwvZz48L3N2Zz4NCjwvZGl2Pg0KDQo8ZGl2IGlkPSJ0ZXN0M19kaXYx
Ij4NCjxkaXYgaWQ9InRlc3QzX2RpdjIiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjEw
MHB4OyBsZWZ0OjBweDsgd2lkdGg6NTBweDsgaGVpZ2h0OjUwcHg7IGJhY2tncm91bmQtY29sb3I6
Z3JleTsgei1pbmRleDoxMDsiPi48L2Rpdj4JCQkJCQk8IS0tIERlc2lyZWQgVGFyZ2V0IC0tPg0K
PHN2ZyBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDoxMDBweDsgbGVmdDowcHg7IHdpZHRo
OjUwcHg7IGhlaWdodDo1MHB4OyB6LWluZGV4OjIwOyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiBwb2ludGVyLWV2ZW50cz0ibm9uZSI+PGcgcG9pbnRlci1ldmVudHM9InZpc2li
bGUiPg0KCTxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIgZmlsbD0iZ3Jl
eSIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz4NCgk8cGF0aCBjbGFzcz0ibm9uX3RhcmdldCIgZD0i
TSAwLDAgbCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoiIGZpbGw9ImJsYWNrIiAvPg0KCTxw
YXRoIGNsYXNzPSJub25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1LDAgMCw4IC0xMyw1IC01LDEzIC04
LDAgeiIgZmlsbD0iYmxhY2siIHRyYW5zZm9ybT0icm90YXRlKDkwLDI1LDI1KSIvPg0KCTxwYXRo
IGNsYXNzPSJub25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1LDAgMCw4IC0xMyw1IC01LDEzIC04LDAg
eiIgZmlsbD0iYmxhY2siIHRyYW5zZm9ybT0icm90YXRlKDE4MCwyNSwyNSkiLz4NCgk8cGF0aCBj
bGFzcz0ibm9uX3RhcmdldCIgZD0iTSAwLDAgbCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoi
IGZpbGw9ImJsYWNrIiB0cmFuc2Zvcm09InJvdGF0ZSgyNzAsMjUsMjUpIi8+DQo8L2c+PC9zdmc+
DQo8L2Rpdj4NCg0KPGRpdiBpZD0idGVzdDRfZGl2MSI+DQo8ZGl2IGlkPSJ0ZXN0NF9kaXYyIiBz
dHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDoxNTBweDsgbGVmdDowcHg7IHdpZHRoOjUwcHg7
IGhlaWdodDo1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmdyZXk7IHotaW5kZXg6MTA7Ij4JCQkJCQkJ
PCEtLSBEZXNpcmVkIFRhcmdldCAtLT4NCgk8c3ZnIHN0eWxlPSJ3aWR0aDo1MHB4OyBoZWlnaHQ6
NTBweDsiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcG9pbnRlci1ldmVudHM9
Im5vbmUiPjxnIHBvaW50ZXItZXZlbnRzPSJ2aXNpYmxlIj4NCgkJPHBhdGggY2xhc3M9Im5vbl90
YXJnZXQiIGQ9Ik0gMCwwIGwgMjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFj
ayIgLz4NCgkJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwgMjUsMCAwLDggLTEz
LDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNmb3JtPSJyb3RhdGUoOTAsMjUsMjUp
Ii8+DQoJCTxwYXRoIGNsYXNzPSJub25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1LDAgMCw4IC0xMyw1
IC01LDEzIC04LDAgeiIgZmlsbD0iYmxhY2siIHRyYW5zZm9ybT0icm90YXRlKDE4MCwyNSwyNSki
Lz4NCgkJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwgMjUsMCAwLDggLTEzLDUg
LTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNmb3JtPSJyb3RhdGUoMjcwLDI1LDI1KSIv
Pg0KCTwvZz48L3N2Zz4NCjwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9Im5vbl90YXJnZXQi
IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjBweDsgbGVmdDowcHg7IHdpZHRoOjEwMCU7
IGhlaWdodDoyMDAwcHg7IGJhY2tncm91bmQtY29sb3I6YmxhY2s7Ij4NCjxici8+DQo8YnIvPg0K
PGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8
YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxi
ci8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8ZGl2IGlkPSJ0ZXN0X3Jlc3VsdHNfcGFuZWwiIHN0
eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgd2lkdGg6MTUwMHB4OyBoZWlnaHQ6MzAwcHg7IGJhY2tn
cm91bmQtY29sb3I6Z3JleTsgei1pbmRleDoxMDsiPg0KPC9kaXY+DQpFdmVudCBDYXB0dXJlICZh
bXA7IEJ1YmJsaW5nOg0KPGJyLz4NClRoZSBkZXNjcmlwdGlvbnMgYWJvdmUgbWVyZWx5IGRlc2Ny
aWJlIHdoaWNoIGVsZW1lbnQgd2lsbCAidHJpZ2dlciIgYW4gZXZlbnQuICBPbmNlLCBhbiBldmVu
dCBoYXMgYmVlbiAidHJpZ2dlcmVkLCIgc3RhbmRhcmQgRE9NIGV2ZW50IGNhcHR1cmUgYW5kIGJ1
YmJsaW5nIHRvIHRoZSAidGFyZ2V0IiB0aGF0ICJ0cmlnZ2VyZWQiIHRoZSBldmVudCB3aWxsIHBy
b2NlZWQgYXMgbm9ybWFsIHRocm91Z2ggdGhlIERPTSB0cmVlLg0KPHRleHRhcmVhIGlkPSJyZXN1
bHQiIHJvd3M9IjMwIiBjb2xzPSIxNTAiPjwvdGV4dGFyZWE+DQo8L2Rpdj4NCg0KPC9ib2R5Pg0K
PC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>94299</attachid>
            <date>2011-05-20 17:21:46 -0700</date>
            <delta_ts>2011-05-21 18:58:20 -0700</delta_ts>
            <desc>Updated SVG-HTML integration testcases</desc>
            <filename>browser_tests - Copy.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>5721</size>
            <attacher name="Kevin Ar18">kevinar18</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+DQo8IS0tIENyZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDov
L3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8gLS0+DQo8IS0tIENy
ZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvICYg
aHR0cDovL3d3dy53My5vcmcvVFIveG1sLyAmIGh0dHA6Ly93d3cudzMub3JnL1RSL3hsaW5rLw0K
CWh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIvDQotLT4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIj4NCjxoZWFkPg0KDQo8c3R5bGU+DQouZ3JhcGhpY2FsIHsNCgli
YWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMTkwLDE0MCk7DQp9DQouZXZlbnRzIHsNCgkvKiBjYW4g
dHJpZ2dlciBldmVudHMgKi8NCglib3JkZXItd2lkdGg6MHB4IDBweCAycHggMHB4Ow0KCWJvcmRl
ci1zdHlsZTpkYXNoZWQ7DQoJYm9yZGVyLWNvbG9yOnJlZDsNCn0NCg0KDQojdGVzdF9yZXN1bHRz
X3BhbmVsIHsNCglmb250LXNpemU6MTBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQp9DQojdGVzdF9y
ZXN1bHRzX3BhbmVsIC5yb3cgZGl2IHsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgloZWlnaHQ6
MTJweDsNCgltYXJnaW46MXB4Ow0KCWJhY2tncm91bmQtY29sb3I6cmdiKDEwMCwxMDAsMTAwKTsN
Cn0NCiN0ZXN0X3Jlc3VsdHNfcGFuZWwgLnJvdyAubGFiZWwgew0KCXdpZHRoOjUwcHg7DQp9DQoj
dGVzdF9yZXN1bHRzX3BhbmVsIC5yb3cgLnRlc3RfZW50cnkgew0KCXdpZHRoOjEycHg7DQoJdGV4
dC1hbGlnbjpjZW50ZXI7DQp9DQo8L3N0eWxlPg0KDQo8c2NyaXB0IHNyYz0iYXR0YWNobWVudC5j
Z2k/aWQ9OTQyOTMiPjwvc2NyaXB0Pg0KPHNjcmlwdD4NCjwvc2NyaXB0Pg0KDQoNCjwvaGVhZD4N
Cjxib2R5IG9ubG9hZD0ic2V0dXAoKSI+DQoNCjxkaXYgY2xhc3M9Im5vbl90YXJnZXQiIHN0eWxl
PSJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjBweDsgbGVmdDoxMDBweDsgd2lkdGg6ODAlOyBiYWNr
Z3JvdW5kLWNvbG9yOndoaXRlOyB6LWluZGV4OjEwMDA7Ij5SdWxlczoNCjxvbD4NCgk8bGk+RG91
YmxlLWNsaWNrIGluc2lkZSBlYWNoIGdyZXkgImNpcmNsZSIuPC9saT4NCgk8bGk+U2Nyb2xsIHRo
ZSBtb3VzZS13aGVlbCBvdmVyIGVhY2ggZ3JleSAiY2lyY2xlIi48L2xpPg0KPC9vbD4NClJlc3Vs
dDoNCjxwPiBUaGlzIHNob3VsZCByZXN1bHQgaW4gZ3JlZW4gb3IgcmVkIGluZGljYXRvcnMgYmVz
aWRlIGFsbCBvZiB0aGUgdGVzdHMuIEdyZWVuID0gYSBwYXNzZWQgdGVzdC4gUmVkID0gYSBmYWls
ZWQgdGVzdC48L3A+DQpUaGUgdGVzdCBjaGVja3Mgc2V2ZXJhbCBpdGVtczoNCjx1bD4NCgk8bGk+
RG9lcyB0aGUgY29ycmVjdCBlbG1lbnQgImRpc3BhdGNoIiB0aGUgZXZlbnQ/PC9saT4NCgk8bGk+
RG9lcyB0aGUgY2FwdHVyZSwgdGFyZ2V0LCBhbmQgYnViYmxlIHBoYXNlIGZsb3cgdG8gYWxsIGVs
ZW1lbnRzIGluIHRoZSBjb3JyZWN0IG9yZGVyPzwvbGk+DQoJPGxpPkRvZXMgdGhlIGJyb3dzZXIg
c3VwcG9ydCB0aGUgc3BlY2lmaWMgZXZlbnQgdHlwZT88L2xpPg0KPC91bD4NCjwvZGl2Pg0KDQo8
ZGl2IGlkPSJ0ZXN0MV9kaXYxIj4NCjxkaXYgaWQ9InRlc3QxX2RpdjIiIHN0eWxlPSJwb3NpdGlv
bjphYnNvbHV0ZTsgdG9wOjBweDsgbGVmdDowcHg7IHdpZHRoOjUwcHg7IGhlaWdodDo1MHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOmdyZXk7IHotaW5kZXg6MTA7Ij4uPC9kaXY+CQkJCQkJPCEtLSBEZXNp
cmVkIFRhcmdldCAtLT4NCjxzdmcgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6MHB4OyBs
ZWZ0OjBweDsgd2lkdGg6NTBweDsgaGVpZ2h0OjUwcHg7IHotaW5kZXg6MjA7IiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHBvaW50ZXItZXZlbnRzPSJub25lIj48ZyBwb2ludGVy
LWV2ZW50cz0idmlzaWJsZSI+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwg
MjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgLz4NCgk8cGF0aCBjbGFz
cz0ibm9uX3RhcmdldCIgZD0iTSAwLDAgbCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoiIGZp
bGw9ImJsYWNrIiB0cmFuc2Zvcm09InJvdGF0ZSg5MCwyNSwyNSkiLz4NCgk8cGF0aCBjbGFzcz0i
bm9uX3RhcmdldCIgZD0iTSAwLDAgbCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoiIGZpbGw9
ImJsYWNrIiB0cmFuc2Zvcm09InJvdGF0ZSgxODAsMjUsMjUpIi8+DQoJPHBhdGggY2xhc3M9Im5v
bl90YXJnZXQiIGQ9Ik0gMCwwIGwgMjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJi
bGFjayIgdHJhbnNmb3JtPSJyb3RhdGUoMjcwLDI1LDI1KSIvPg0KPC9nPjwvc3ZnPg0KPC9kaXY+
DQoNCjxkaXYgaWQ9InRlc3QyX2RpdjEiPg0KPGRpdiBpZD0idGVzdDJfZGl2MiIgc3R5bGU9InBv
c2l0aW9uOmFic29sdXRlOyB0b3A6NTBweDsgbGVmdDowcHg7IHdpZHRoOjUwcHg7IGhlaWdodDo1
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmdyZXk7IHotaW5kZXg6MTA7Ij4uPC9kaXY+DQo8c3ZnIGlk
PSJ0ZXN0Ml9zdmciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjUwcHg7IGxlZnQ6MHB4
OyB3aWR0aDo1MHB4OyBoZWlnaHQ6NTBweDsgei1pbmRleDoyMDsiIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgcG9pbnRlci1ldmVudHM9Im5vbmUiPjxnIHBvaW50ZXItZXZlbnRz
PSJ2aXNpYmxlIj4NCgk8cmVjdCBpZD0idGVzdDJfcmVjdCIgeD0iMCIgeT0iMCIgd2lkdGg9IjUw
IiBoZWlnaHQ9IjUwIiBmaWxsPSJncmV5Ii8+CQkJCQkJCQkJCQkJCQkJCTwhLS0gRGVzaXJlZCBU
YXJnZXQgLS0+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwgMjUsMCAwLDgg
LTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgLz4NCgk8cGF0aCBjbGFzcz0ibm9uX3Rh
cmdldCIgZD0iTSAwLDAgbCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoiIGZpbGw9ImJsYWNr
IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCwyNSwyNSkiLz4NCgk8cGF0aCBjbGFzcz0ibm9uX3Rhcmdl
dCIgZD0iTSAwLDAgbCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoiIGZpbGw9ImJsYWNrIiB0
cmFuc2Zvcm09InJvdGF0ZSgxODAsMjUsMjUpIi8+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQi
IGQ9Ik0gMCwwIGwgMjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJh
bnNmb3JtPSJyb3RhdGUoMjcwLDI1LDI1KSIvPg0KPC9nPjwvc3ZnPg0KPC9kaXY+DQoNCjxkaXYg
aWQ9InRlc3QzX2RpdjEiPg0KPGRpdiBpZD0idGVzdDNfZGl2MiIgc3R5bGU9InBvc2l0aW9uOmFi
c29sdXRlOyB0b3A6MTAwcHg7IGxlZnQ6MHB4OyB3aWR0aDo1MHB4OyBoZWlnaHQ6NTBweDsgYmFj
a2dyb3VuZC1jb2xvcjpncmV5OyB6LWluZGV4OjEwOyI+LjwvZGl2PgkJCQkJCTwhLS0gRGVzaXJl
ZCBUYXJnZXQgLS0+DQo8c3ZnIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjEwMHB4OyBs
ZWZ0OjBweDsgd2lkdGg6NTBweDsgaGVpZ2h0OjUwcHg7IHotaW5kZXg6MjA7IiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHBvaW50ZXItZXZlbnRzPSJub25lIj48ZyBwb2ludGVy
LWV2ZW50cz0idmlzaWJsZSI+DQoJPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjUwIiBoZWlnaHQ9
IjUwIiBmaWxsPSJncmV5IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPg0KCTxwYXRoIGNsYXNzPSJu
b25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1LDAgMCw4IC0xMyw1IC01LDEzIC04LDAgeiIgZmlsbD0i
YmxhY2siIC8+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwgMjUsMCAwLDgg
LTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNmb3JtPSJyb3RhdGUoOTAsMjUs
MjUpIi8+DQoJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwgMjUsMCAwLDggLTEz
LDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNmb3JtPSJyb3RhdGUoMTgwLDI1LDI1
KSIvPg0KCTxwYXRoIGNsYXNzPSJub25fdGFyZ2V0IiBkPSJNIDAsMCBsIDI1LDAgMCw4IC0xMyw1
IC01LDEzIC04LDAgeiIgZmlsbD0iYmxhY2siIHRyYW5zZm9ybT0icm90YXRlKDI3MCwyNSwyNSki
Lz4NCjwvZz48L3N2Zz4NCjwvZGl2Pg0KDQo8ZGl2IGlkPSJ0ZXN0NF9kaXYxIj4NCjxkaXYgaWQ9
InRlc3Q0X2RpdjIiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjE1MHB4OyBsZWZ0OjBw
eDsgd2lkdGg6NTBweDsgaGVpZ2h0OjUwcHg7IGJhY2tncm91bmQtY29sb3I6Z3JleTsgei1pbmRl
eDoxMDsiPgkJCQkJCQk8IS0tIERlc2lyZWQgVGFyZ2V0IC0tPg0KCTxzdmcgc3R5bGU9IndpZHRo
OjUwcHg7IGhlaWdodDo1MHB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBw
b2ludGVyLWV2ZW50cz0ibm9uZSI+PGcgcG9pbnRlci1ldmVudHM9InZpc2libGUiPg0KCQk8cGF0
aCBjbGFzcz0ibm9uX3RhcmdldCIgZD0iTSAwLDAgbCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCww
IHoiIGZpbGw9ImJsYWNrIiAvPg0KCQk8cGF0aCBjbGFzcz0ibm9uX3RhcmdldCIgZD0iTSAwLDAg
bCAyNSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoiIGZpbGw9ImJsYWNrIiB0cmFuc2Zvcm09InJv
dGF0ZSg5MCwyNSwyNSkiLz4NCgkJPHBhdGggY2xhc3M9Im5vbl90YXJnZXQiIGQ9Ik0gMCwwIGwg
MjUsMCAwLDggLTEzLDUgLTUsMTMgLTgsMCB6IiBmaWxsPSJibGFjayIgdHJhbnNmb3JtPSJyb3Rh
dGUoMTgwLDI1LDI1KSIvPg0KCQk8cGF0aCBjbGFzcz0ibm9uX3RhcmdldCIgZD0iTSAwLDAgbCAy
NSwwIDAsOCAtMTMsNSAtNSwxMyAtOCwwIHoiIGZpbGw9ImJsYWNrIiB0cmFuc2Zvcm09InJvdGF0
ZSgyNzAsMjUsMjUpIi8+DQoJPC9nPjwvc3ZnPg0KPC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFz
cz0ibm9uX3RhcmdldCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6MHB4OyBsZWZ0OjBw
eDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjIwMDBweDsgYmFja2dyb3VuZC1jb2xvcjpibGFjazsiPg0K
PGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8
YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxi
ci8+DQo8YnIvPg0KPGJyLz4NCjxici8+DQo8YnIvPg0KPGJyLz4NCjxkaXYgaWQ9InRlc3RfcmVz
dWx0c19wYW5lbCIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyB3aWR0aDoxNTAwcHg7IGhlaWdo
dDozMDBweDsgYmFja2dyb3VuZC1jb2xvcjpncmV5OyB6LWluZGV4OjEwOyI+DQo8L2Rpdj4NCkV2
ZW50IENhcHR1cmUgJmFtcDsgQnViYmxpbmc6DQo8YnIvPg0KVGhlIGRlc2NyaXB0aW9ucyBhYm92
ZSBtZXJlbHkgZGVzY3JpYmUgd2hpY2ggZWxlbWVudCB3aWxsICJ0cmlnZ2VyIiBhbiBldmVudC4g
IE9uY2UsIGFuIGV2ZW50IGhhcyBiZWVuICJ0cmlnZ2VyZWQsIiBzdGFuZGFyZCBET00gZXZlbnQg
Y2FwdHVyZSBhbmQgYnViYmxpbmcgdG8gdGhlICJ0YXJnZXQiIHRoYXQgInRyaWdnZXJlZCIgdGhl
IGV2ZW50IHdpbGwgcHJvY2VlZCBhcyBub3JtYWwgdGhyb3VnaCB0aGUgRE9NIHRyZWUuDQo8dGV4
dGFyZWEgaWQ9InJlc3VsdCIgcm93cz0iMzAiIGNvbHM9IjE1MCI+PC90ZXh0YXJlYT4NCjwvZGl2
Pg0KDQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94328</attachid>
            <date>2011-05-21 14:08:28 -0700</date>
            <delta_ts>2011-05-21 23:58:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45467-20110521230825.patch</filename>
            <type>text/plain</type>
            <size>7384</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MDIxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDUtMjEgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI2NjczMSk6IHBvaW50ZXItZXZlbnRzIGFyZSBi
cm9rZW4gaW4gc29tZSBjYXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDU0NjcKKworICAgICAgICBUaGUgU1ZHU1ZHRWxlbWVudCBzaG91bGRuJ3Qg
YmUgdGhlIHRhcmdldCBvZiBhIG1vdXNlIGV2ZW50LCBpZiBpdHMgcG9pbnRlci1ldmVudHMgYXR0
cmlidXRlIGlzIHNldAorICAgICAgICB0byAnbm9uZScuIFRoaXMgbWF0Y2hlcyB0aGUgYmVoYXZp
b3Igb24gRmlyZWZveCB3aGVyZSBhbiBlbWJlZGRlZCBTVkcgZWxlbWVudCBpcyB0aGUgdGFyZ2V0
IG9mIGFuIGV2ZW50LAorICAgICAgICBpZiBub25lIG9mIGl0cyBjaGlsZHMgY2F1Z2h0IHRoZSBl
dmVudC4gVGhpcyBpcyB0aGUgY2FzZSBmb3IgYWxsIHBvaW50ZXItZXZlbnRzIG90aGVyIHRoYW4g
J25vbmUnLgorCisgICAgICAgIFRlc3RzOiBzdmcvY3VzdG9tL3BvaW50ZXItZXZlbnRzLW9uLXN2
Zy13aXRoLXBvaW50ZXIueGh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9jdXN0b20vcG9pbnRlci1l
dmVudHMtb24tc3ZnLXdpdGhvdXQtcG9pbnRlci54aHRtbAorCisgICAgICAgICogcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6
Om5vZGVBdFBvaW50KToKKwogMjAxMS0wNS0yMSAgR2F2aW4gUGV0ZXJzICA8Z2F2aW5wQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiA4
Njk3MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM0MCw3ICszNDAsNyBAQCBib29sIFJlbmRlclNWR1Jvb3Q6Om5v
ZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgfQogCiAgICAgLy8gSWYgd2UgZGlkbid0IGVhcmx5IGV4
aXQgYWJvdmUsIHdlJ3ZlIGp1c3QgaGl0IHRoZSBjb250YWluZXIgPHN2Zz4gZWxlbWVudC4gVW5s
aWtlIFNWRyAxLjEsIDJuZCBFZGl0aW9uIGFsbG93cyBjb250YWluZXIgZWxlbWVudHMgdG8gYmUg
aGl0LgotICAgIGlmIChoaXRUZXN0QWN0aW9uID09IEhpdFRlc3RCbG9ja0JhY2tncm91bmQpIHsK
KyAgICBpZiAoaGl0VGVzdEFjdGlvbiA9PSBIaXRUZXN0QmxvY2tCYWNrZ3JvdW5kICYmIHN0eWxl
KCktPnBvaW50ZXJFdmVudHMoKSAhPSBQRV9OT05FKSB7CiAgICAgICAgIC8vIE9ubHkgcmV0dXJu
IHRydWUgaGVyZSwgaWYgdGhlIGxhc3QgaGl0IHRlc3RpbmcgcGhhc2UgJ0Jsb2NrQmFja2dyb3Vu
ZCcgaXMgZXhlY3V0ZWQuIElmIHdlJ2QgcmV0dXJuIHRydWUgaW4gdGhlICdGb3JlZ3JvdW5kJyBw
aGFzZSwKICAgICAgICAgLy8gaGl0IHRlc3Rpbmcgd291bGQgc3RvcCBpbW1lZGlhdGVseS4gRm9y
IFNWRyBvbmx5IHRyZWVzIHRoaXMgZG9lc24ndCBtYXR0ZXIuIFRob3VnaCB3aGVuIHdlIGhhdmUg
YSA8Zm9yZWlnbk9iamVjdD4gc3VidHJlZSB3ZSBuZWVkCiAgICAgICAgIC8vIHRvIGJlIGFibGUg
dG8gZGV0ZWN0IGhpdHMgb24gdGhlIGJhY2tncm91bmQgb2YgYSA8ZGl2PiBlbGVtZW50LiBJZiB3
ZSdkIHJldHVybiB0cnVlIGhlcmUgaW4gdGhlICdGb3JlZ3JvdW5kJyBwaGFzZSwgd2UgYXJlIG5v
dCBhYmxlIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODcwMjEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNS0yMSAgRGlyayBTY2h1
bHplICA8a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJFR1JFU1NJT04ocjY2NzMxKTogcG9pbnRlci1ldmVudHMgYXJlIGJy
b2tlbiBpbiBzb21lIGNhc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NTQ2NworCisgICAgICAgIENoZWNrIHRoYXQgYW4gZW1iZWRkZWQgU1ZHIGVs
ZW1lbnQgZG9lc24ndCBoYXZlIGEgcG9pbnRlciwgaWYgcG9pbnRlci1ldmVudHMgaXMgc2V0IHRv
ICdub25lJy4KKworICAgICAgICAqIHN2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtb24tc3ZnLXdp
dGgtcG9pbnRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vcG9p
bnRlci1ldmVudHMtb24tc3ZnLXdpdGgtcG9pbnRlci54aHRtbDogQWRkZWQuCisgICAgICAgICog
c3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aG91dC1wb2ludGVyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmct
d2l0aG91dC1wb2ludGVyLnhodG1sOiBBZGRlZC4KKwogMjAxMS0wNS0yMSAgSnVzdGluIFNjaHVo
ICA8anNjaHVoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aC1wb2ludGVyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50ZXIt
ZXZlbnRzLW9uLXN2Zy13aXRoLXBvaW50ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aC1wb2ludGVy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitQQVNTRUQ6IFNWR1NW
R0VsZW1lbnQgaGFkIHBvaW50ZXIKKworCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Bv
aW50ZXItZXZlbnRzLW9uLXN2Zy13aXRoLXBvaW50ZXIueGh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aC1wb2ludGVyLnho
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50
cy1vbi1zdmctd2l0aC1wb2ludGVyLnhodG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBA
Cis8aHRtbCB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc+Cis8Ym9keSBzdHls
ZT0ibWFyZ2luOiAwcHg7IHBhZGRpbmc6IDBweCI+Cis8cD48L3A+Cis8ZGl2IHN0eWxlPSJwb3Np
dGlvbjphYnNvbHV0ZTsgdG9wOjUwcHg7IGxlZnQ6MHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOmJsdWU7Ij48L2Rpdj4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDo1MHB4OyBs
ZWZ0OjBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsiPgorICAgIDxyZWN0IHdpZHRoPSIx
MDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz4KKzwv
c3ZnPgorPHNjcmlwdD4KKyAgICB2YXIgc3ZnID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoInN2ZyIpWzBdOworICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiZGl2IilbMF07CisgICAgdmFyIHAgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgicCIpWzBdOworCisgICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93
biIsIGZhaWxlZCwgZmFsc2UpOworICAgIHN2Zy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24i
LCBwYXNzZWQsIGZhbHNlKTsKKworICAgIGZ1bmN0aW9uIHN0b3AoKSB7CisgICAgICAgIGNvbnRh
aW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBwYXNzZWQsIGZhbHNlKTsKKyAg
ICAgICAgc3ZnLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGZhaWxlZCwgZmFsc2Up
OworCisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorICAgICAgICAKKyAg
ICBmdW5jdGlvbiBmYWlsZWQoKSB7CisgICAgICAgIHAuaW5uZXJIVE1MID0gJ0ZBSUxFRDogSFRN
TERpdkVsZW1lbnQgaGFkIHBvaW50ZXInOworICAgICAgICBzdG9wKCk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gcGFzc2VkKCkgeworICAgICAgICBwLmlubmVySFRNTCA9ICdQQVNTRUQ6IFNWR1NW
R0VsZW1lbnQgaGFkIHBvaW50ZXInOworICAgICAgICBzdG9wKCk7CisgICAgfQorCisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCA3NSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aG91dC1wb2ludGVy
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvaW50
ZXItZXZlbnRzLW9uLXN2Zy13aXRob3V0LXBvaW50ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aG91
dC1wb2ludGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitQQVNT
RUQ6IEhUTUxEaXZFbGVtZW50IGhhZCBwb2ludGVyCisKKwpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9wb2ludGVyLWV2ZW50cy1vbi1zdmctd2l0aG91dC1wb2ludGVyLnhodG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9pbnRlci1ldmVudHMtb24tc3ZnLXdp
dGhvdXQtcG9pbnRlci54aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0
b20vcG9pbnRlci1ldmVudHMtb24tc3ZnLXdpdGhvdXQtcG9pbnRlci54aHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw0NSBAQAorPGh0bWwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGh0bWwnPgorPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHgiPgorPHA+PC9w
PgorPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDo1MHB4OyBsZWZ0OjBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZC1jb2xvcjpibHVlOyI+PC9kaXY+Cis8
c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFi
c29sdXRlOyB0b3A6NTBweDsgbGVmdDowcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IiBw
b2ludGVyLWV2ZW50cz0ibm9uZSI+CisgICAgPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAi
IGZpbGw9ImdyZWVuIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPgorPC9zdmc+Cis8c2NyaXB0Pgor
ICAgIHZhciBzdmcgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3ZnIilbMF07Cisg
ICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKVsw
XTsKKyAgICB2YXIgcCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIilbMF07CisK
KyAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgcGFzc2VkLCBmYWxz
ZSk7CisgICAgc3ZnLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGZhaWxlZCwgZmFsc2Up
OworCisgICAgZnVuY3Rpb24gc3RvcCgpIHsKKyAgICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50
TGlzdGVuZXIoIm1vdXNlZG93biIsIGZhaWxlZCwgZmFsc2UpOworICAgICAgICBzdmcucmVtb3Zl
RXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgcGFzc2VkLCBmYWxzZSk7CisKKyAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisgICAgICAgIAorICAgIGZ1bmN0aW9uIGZhaWxl
ZCgpIHsKKyAgICAgICAgcC5pbm5lckhUTUwgPSAnRkFJTEVEOiBTVkdTVkdFbGVtZW50IGhhZCBw
b2ludGVyJzsKKyAgICAgICAgc3RvcCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBhc3NlZCgp
IHsKKyAgICAgICAgcC5pbm5lckhUTUwgPSAnUEFTU0VEOiBIVE1MRGl2RWxlbWVudCBoYWQgcG9p
bnRlcic7CisgICAgICAgIHN0b3AoKTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0K
KworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oNTAsIDc1KTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAg
fQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>94332</attachid>
            <date>2011-05-21 18:58:20 -0700</date>
            <delta_ts>2011-05-21 18:58:20 -0700</delta_ts>
            <desc>2x Testcases to prove whether this bug is fixed or not</desc>
            <filename>webkit_test.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>2119</size>
            <attacher name="Kevin Ar18">kevinar18</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+DQo8IS0tIENyZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDov
L3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8gLS0+DQo8IS0tIENy
ZWRpdHMvQ29weXJpZ2h0L1JlZmVyZW5jZTogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvICYg
aHR0cDovL3d3dy53My5vcmcvVFIveG1sLyAmIGh0dHA6Ly93d3cudzMub3JnL1RSL3hsaW5rLw0K
CWh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIvDQotLT4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIj4NCjxoZWFkPg0KDQo8c2NyaXB0Pg0KZnVuY3Rpb24gc2V0dXAo
KSB7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QxX2RpdiIpLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIixmdW5jdGlvbigpe2FsZXJ0KCdDb3JyZWN0IEJlaGF2aW9yOlxuXG5UaGUgdGFy
Z2V0IHNob3VsZCBiZSB0aGUgZGl2IGxheWVyIGJlbmVhdGggdGhlIHN2ZyBvYmplY3QuJyl9LGZh
bHNlKQ0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0MV9zdmciKS5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsZnVuY3Rpb24oRXZlbnQpe2FsZXJ0KCdFcnJvcjpcblNWRyBzaG91bGQgbm90
IHRyaWdnZXIgZXZlbnQhXG4gVGFyZ2V0ID0gJytFdmVudC50YXJnZXQpfSxmYWxzZSkNCg0KCWRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Ml9kaXYiKS5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsZnVuY3Rpb24oKXthbGVydCgnQ29ycmVjdCBCZWhhdmlvcjpcblxuVGhlIHRhcmdldCBzaG91
bGQgYmUgdGhlIGRpdiBsYXllciBiZW5lYXRoIHRoZSBzdmcgb2JqZWN0LicpfSxmYWxzZSkNCglk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdDJfc3ZnIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLGZ1bmN0aW9uKEV2ZW50KXthbGVydCgnRXJyb3I6XG5TVkcgc2hvdWxkIG5vdCB0cmlnZ2Vy
IGV2ZW50IVxuIFRhcmdldCA9ICcrRXZlbnQudGFyZ2V0KX0sZmFsc2UpDQp9DQoNCjwvc2NyaXB0
Pg0KDQo8L2hlYWQ+DQo8Ym9keSBvbmxvYWQ9InNldHVwKCkiPg0KDQoNClRlc3QgMSAoZ3JlZW4p
ID0gZmxvYXRpbmcgKGFic29sdXRlIHBvc2l0aW9uZWQpIHN2Zzxici8+DQpUZXN0IDIgKGJsdWUp
ID0gaW5saW5lIHN2Zzxici8+DQpUZXN0IDE6IENsaWNrIG9uIHRoZSBncmVlbiBhcmVhPGJyLz4N
ClRlc3QgMjogQ2xpY2sgb24gdGhlIGJsdWUgYXJlYTxici8+DQpZb3Ugc2hvdWxkIGdldCBhbiBh
bGVydCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJlaGF2aW9yIGlzIGNvcnJlY3Qgb3Igbm90IGZv
ciBlYWNoIHRlc3QuDQoNCg0KPGRpdiBpZD0idGVzdDFfZGl2IiBzdHlsZT0icG9zaXRpb246YWJz
b2x1dGU7IHRvcDoxNTBweDsgbGVmdDowcHg7IHdpZHRoOjIwMHB4OyBoZWlnaHQ6NTAwcHg7IGJh
Y2tncm91bmQtY29sb3I6cmdiKDAsMTI4LDApOyB6LWluZGV4OjEwOyI+LjwvZGl2Pg0KPHN2ZyBp
ZD0idGVzdDFfc3ZnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDoxNTBweDsgbGVmdDow
cHg7IHdpZHRoOjIwMHB4OyBoZWlnaHQ6NTAwcHg7IHotaW5kZXg6MjA7IiB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHBvaW50ZXItZXZlbnRzPSJub25lIj48ZyBwb2ludGVyLWV2
ZW50cz0ibm9uZSI+DQoJPHJlY3QgeD0iMTAwMCIgeT0iMTAwMCIgd2lkdGg9IjEiIGhlaWdodD0i
MSIgZmlsbD0icmVkIiBwb2ludGVyLWV2ZW50cz0idmlzaWJsZSIgLz4NCjwvZz48L3N2Zz4NCg0K
PGRpdiBpZD0idGVzdDJfZGl2IiBzdHlsZT0ibWFyZ2luLWxlZnQ6MjEwcHg7IGJhY2tncm91bmQt
Y29sb3I6cmdiKDAsMCwxMjgpOyB6LWluZGV4OjEwOyI+DQo8c3ZnIGlkPSJ0ZXN0Ml9zdmciIHN0
eWxlPSJ3aWR0aDo1MHB4OyBoZWlnaHQ6NTBweDsgIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHBvaW50ZXItZXZlbnRzPSJub25lIj48ZyBwb2ludGVyLWV2ZW50cz0ibm9uZSI+
DQoJPHJlY3QgeD0iMTAwMCIgeT0iMTAwMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmVk
IiBwb2ludGVyLWV2ZW50cz0idmlzaWJsZSIgLz4NCjwvZz48L3N2Zz4NCjwvZGl2Pg0KPC9ib2R5
Pg0KPC9odG1sPg==
</data>

          </attachment>
      

    </bug>

</bugzilla>