<?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>6648</bug_id>
          
          <creation_ts>2006-01-18 00:32:51 -0800</creation_ts>
          <short_desc>Safari strips namespace prefix when using setAttribute(), but should treat it as part of name</short_desc>
          <delta_ts>2019-02-06 09:03:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>420+</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>6628</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sjoerd Mulder">sjoerdmulder</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>boris</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>28811</commentid>
    <comment_count>0</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-01-18 00:32:51 -0800</bug_when>
    <thetext>When you try to set the attribute &apos;b:name&apos; using
elm.setAttribute(&apos;b:name&apos;,&apos;myvalue&apos;); Safari strips off the namespace, it set
the attribute &apos;name&apos;. All other browsers (IE6, Moz and Opera) are working
correctly (setting &apos;b:name&apos;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28813</commentid>
    <comment_count>1</comment_count>
      <attachid>5759</attachid>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-01-18 00:33:22 -0800</bug_when>
    <thetext>Created attachment 5759
Testcase to reproduce</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28814</commentid>
    <comment_count>2</comment_count>
      <attachid>5759</attachid>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-01-18 00:37:40 -0800</bug_when>
    <thetext>Comment on attachment 5759
Testcase to reproduce

&gt;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&gt;&lt;HTML xmlns:s=&quot;http://www.backbase.com/s&quot; xmlns:b=&quot;http://www.backbase.com/b&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot;&gt;&lt;HEAD&gt;
&gt;
&gt;
&gt;	
&gt;		&lt;META content=&quot;text/html; utf-8&quot; http-equiv=&quot;Content-Type&quot;/&gt;&lt;TITLE&gt;Safari setAttribute testcase&lt;/TITLE&gt;&lt;/HEAD&gt;&lt;BODY&gt;
&gt;		&lt;SCRIPT type=&quot;text/javascript&quot;&gt;
&gt;			var elm = document.createElement(&apos;div&apos;);
&gt;			elm.setAttribute(&apos;b:name&apos;,&apos;myvalue&apos;);
&gt;			alert(&quot;b:name=&apos;&quot;+elm.getAttribute(&apos;b:name&apos;)+ &quot;&apos; - name=&apos;&quot;+elm.getAttribute(&apos;name&apos;)+&quot;&apos;&quot;);
&gt;		&lt;/SCRIPT&gt;
&gt;	
&gt;&lt;/BODY&gt;&lt;/HTML&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28820</commentid>
    <comment_count>3</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-01-18 03:37:03 -0800</bug_when>
    <thetext>Actually, it seems that problem is in getAttribute/getAttributeNode, because if
you do:

oElm.setAttribute(&apos;b:name&apos;,&apos;myvalue&apos;)
var oAttr = oElm.getAttributeNode(&apos;name&apos;);
alert(oAttr.prefix + &apos;:&apos; + oAttr.localName + &apos; = &apos; + oAttr.nodeValue);

Result message will be &quot;b:name = myvalue&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28873</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-01-18 21:35:55 -0800</bug_when>
    <thetext>A workaround is to use getAttributeNS/setAttributeNS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31228</commentid>
    <comment_count>5</comment_count>
      <attachid>6231</attachid>
    <who name="Boris Daljevi&amp;#263;">boris</who>
    <bug_when>2006-02-03 19:12:15 -0800</bug_when>
    <thetext>Created attachment 6231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31229</commentid>
    <comment_count>6</comment_count>
    <who name="Boris Daljevi&amp;#263;">boris</who>
    <bug_when>2006-02-03 19:13:05 -0800</bug_when>
    <thetext>Problem is in setAttribute function which parses argument &quot;name&quot;, though it shouldn&apos;t according to DOM specification.

Attached is the patch that fixes the problem, LayoutTest and ChangeLog entry.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31230</commentid>
    <comment_count>7</comment_count>
      <attachid>6232</attachid>
    <who name="Boris Daljevi&amp;#263;">boris</who>
    <bug_when>2006-02-03 19:14:48 -0800</bug_when>
    <thetext>Created attachment 6232
ChangeLog entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31231</commentid>
    <comment_count>8</comment_count>
      <attachid>6233</attachid>
    <who name="Boris Daljevi&amp;#263;">boris</who>
    <bug_when>2006-02-03 19:15:43 -0800</bug_when>
    <thetext>Created attachment 6233
Layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31232</commentid>
    <comment_count>9</comment_count>
      <attachid>6234</attachid>
    <who name="Boris Daljevi&amp;#263;">boris</who>
    <bug_when>2006-02-03 19:16:36 -0800</bug_when>
    <thetext>Created attachment 6234
Layout test - expected result</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31235</commentid>
    <comment_count>10</comment_count>
      <attachid>6231</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-03 19:40:18 -0800</bug_when>
    <thetext>Comment on attachment 6231
Patch

I don&apos;t understand this patch.

The getAttribute, setAttribute, and removeAttribute implementations all do the same thing, calling through to get/set/removeAttributeNS with a namespace URI of null.

How can it possibly be correct to change only setAttribute and not the other two?

If you can answer that question, it seems OK to set this to review? again. By the way, it&apos;s best to include the change log entry and the layout test case in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31558</commentid>
    <comment_count>11</comment_count>
    <who name="Boris Daljevi&amp;#263;">boris</who>
    <bug_when>2006-02-06 05:35:09 -0800</bug_when>
    <thetext>Yes, thay all behave simmilar, but in the implementation setAttributeNS there is call to parseQualifiedName, which is fine when the call comes directly from setAttributeNS DOM dunction, but is not OK when it comes from setAttribute DOM function. get/has/removeAttributeNS differ in that.

Maybe you didn&apos;t understand it because there are few overloaded setAtrribute methods of ElementImpl.
Try to follow execution flow for the setAttribute(&apos;bb:dddd&apos;, &apos;whatever&apos;); DOM call.

1. ElementImpl::setAttribute(const DOMString &amp;name, const DOMString &amp;value, int &amp;exception) is called with parametar name that virtualy equals to &quot;bb:dddd&quot;
2. ElementImpl::setAttributeNS(const DOMString &amp;namespaceURI, const DOMString &amp;qualifiedName, const DOMString &amp;value, int &amp;exception) is called with namespaceURI that virtualy equals to empty string and qualifiedName (which is here of type DOMString!) &quot;bb:dddd&quot;
2.a) within the body of method setAttributeNS, method DocumentImpl::parseQualifiedName is called, and this is the place where things go wrong. &quot;bb:dddd&quot; is split into prefix &quot;bb&quot; and localName &quot;dddd&quot;. According to DOM specification that shouldn&apos;t happen, string should be treated just as it is full name (colomn is not considered separator, but just another character that is part of the localName). Implemetation of setAttribute DOM function in other browsers confirm this.
2.b) void ElementImpl::setAttribute(const QualifiedName&amp; name, const DOMString &amp;value) is called with name.prefix = &quot;bb&quot; name.localName = &quot;dddd&quot;...

I am attaching nice test case that you can run in different browsers and see results of their implementation of get/set/has/removeAttribute and get/set/has/removeAttributeNS.

Btw, I tried to include ChangeLog and the layout test case in the patch, but svn-create-patch script from WebKitTools/Scripts didn&apos;t include layout test. I guess because files are new and not yet in svn. Any further suggestion?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31561</commentid>
    <comment_count>12</comment_count>
      <attachid>6286</attachid>
    <who name="Boris Daljevi&amp;#263;">boris</who>
    <bug_when>2006-02-06 05:47:50 -0800</bug_when>
    <thetext>Created attachment 6286
test case to examine behavior of get/set/has/removeAttribute and get/set/has/removeNS

Note that if you set attribute with setAttributeNS (that is if the first radiobutton in attached testcase is checked) according to DOM Level 2 (and 3), using get/has/removeAttribute functions can lead to unpredictable results. (Therefore differences in different browsers)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31564</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-02-06 06:33:01 -0800</bug_when>
    <thetext>(In reply to comment #11)

&gt; Btw, I tried to include ChangeLog and the layout test case in the patch, but
&gt; svn-create-patch script from WebKitTools/Scripts didn&apos;t include layout test. I
&gt; guess because files are new and not yet in svn. Any further suggestion?

With svn, it&apos;s possible to add files locally without having write access to the repository (svn add &lt;filenames&gt;). After this, svn-create-patch can create patches with new files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32010</commentid>
    <comment_count>14</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-02-09 23:51:14 -0800</bug_when>
    <thetext>This bug is not fixed(tested in r12724). See the latest testcase the result, when setAttribute(&apos;bb:dddd&apos;) is that getAttribute(&apos;bb:dddd&apos;) works and not getAttribute(&apos;dddd&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32021</commentid>
    <comment_count>15</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-02-10 04:44:20 -0800</bug_when>
    <thetext>My fault... in current source(r12733) it works correctly!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35532</commentid>
    <comment_count>16</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-03-08 08:50:10 -0800</bug_when>
    <thetext>The getAttribute function still doesnt work probally when using the DOMParser 
&lt;script type=&quot;text/javascript&quot;&gt;
	var sXml = &apos;&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xmlns:b=&quot;http://www.backbase.com/b&quot; b:name=&quot;stylesheet&quot; /&gt;&apos;;
	if(document.all){
		var oXml = new ActiveXObject(&apos;Microsoft.XMLDOM&apos;);
		oXml.loadXML(sXml);
		var oRes = oXml.documentElement;
	}else
		var oRes = new DOMParser().parseFromString(sXml, &apos;text/xml&apos;).documentElement;
	alert(&apos;attributes[2].name: &apos;+oRes.attributes[2].name+&apos; == attributes[2].value: &apos;+oRes.attributes[2].value);
	alert(&apos;getAttribute(\&apos;name\&apos;): &apos;+oRes.getAttribute(&apos;name&apos;)+&apos; == getAttribute(\&apos;b:name\&apos;): &apos;+oRes.getAttribute(&apos;b:name&apos;));
&lt;/script&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35534</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-08 09:01:39 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; The getAttribute function still doesnt work probally when using the DOMParser 
&gt; &lt;script type=&quot;text/javascript&quot;&gt;
&gt;         var sXml = &apos;&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;
&gt; xmlns:b=&quot;http://www.backbase.com/b&quot; b:name=&quot;stylesheet&quot; /&gt;&apos;;
&gt;         if(document.all){
&gt;                 var oXml = new ActiveXObject(&apos;Microsoft.XMLDOM&apos;);
&gt;                 oXml.loadXML(sXml);
&gt;                 var oRes = oXml.documentElement;
&gt;         }else
&gt;                 var oRes = new DOMParser().parseFromString(sXml,
&gt; &apos;text/xml&apos;).documentElement;
&gt;         alert(&apos;attributes[2].name: &apos;+oRes.attributes[2].name+&apos; ==
&gt; attributes[2].value: &apos;+oRes.attributes[2].value);
&gt;         alert(&apos;getAttribute(\&apos;name\&apos;): &apos;+oRes.getAttribute(&apos;name&apos;)+&apos; ==
&gt; getAttribute(\&apos;b:name\&apos;): &apos;+oRes.getAttribute(&apos;b:name&apos;));
&gt; &lt;/script&gt;

OK. Then please file a new bug with a suitable test case. Don&apos;t reopen this one. This one is something we already fixed, and landed with a regression test. It would be fine to reopen this one if this fix didn&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35536</commentid>
    <comment_count>18</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-03-08 09:07:12 -0800</bug_when>
    <thetext>Well apearantly this fix did work in certain circumstances, but when you transform a string to &apos;xml document&apos; with the DOMParser and then request certain attributes the fix doesnt work, that&apos;s why i reopened this bug.

This bug is now also In Radar &lt;rdar://4470844&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35547</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-08 10:40:54 -0800</bug_when>
    <thetext>Reopening the same bug over and over again makes it much harder to keep track of it.

The original bug didn&apos;t mention DOMParser at all. I think it makes it harder for people working to investigate and fix the bugs to keep things clear if you now add this DOMParser issue to the same bug report, even though it&apos;s a similar problem.

For example, this shows up in the &quot;bug with an approved patch&quot; list. And the test cases attached to the bug all work, there&apos;s no test case for the new problem. It&apos;s *much*, *much* easier to fix the bug with a new bug report.

Is there a reason you prefer reopening this one to writing a new one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35601</commentid>
    <comment_count>20</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-03-09 00:36:28 -0800</bug_when>
    <thetext>Added: Bug 7677: getAttribute cant get attribute with a prefix when using the DOMParser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502985</commentid>
    <comment_count>21</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:32 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>5759</attachid>
            <date>2006-01-18 00:33:22 -0800</date>
            <delta_ts>2006-01-18 00:33:22 -0800</delta_ts>
            <desc>Testcase to reproduce</desc>
            <filename>safari_setAttribute.html</filename>
            <type>text/html</type>
            <size>630</size>
            <attacher name="Sjoerd Mulder">sjoerdmulder</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIGh0bWwgUFVC
TElDICItLy9XM0MvL0RURCBYSFRNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0
bWwxMS9EVEQveGh0bWwxMS5kdGQiPgo8aHRtbCB4bWw6bGFuZz0iZW4iIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWxuczpiPSJodHRwOi8vd3d3LmJhY2tiYXNlLmNvbS9i
IiB4bWxuczpzPSJodHRwOi8vd3d3LmJhY2tiYXNlLmNvbS9zIj4KCTxoZWFkPgoJCTxtZXRhIGh0
dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyB1dGYtOCIgLz4KCQk8
dGl0bGU+U2FmYXJpIHNldEF0dHJpYnV0ZSB0ZXN0Y2FzZTwvdGl0bGU+Cgk8L2hlYWQ+Cgk8Ym9k
eT4KCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJCXZhciBlbG0gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKCQkJZWxtLnNldEF0dHJpYnV0ZSgnYjpuYW1lJywnbXl2
YWx1ZScpOwoJCQlhbGVydCgiJyIrZWxtLmdldEF0dHJpYnV0ZSgnYjpuYW1lJykrICInIC0gJyIr
ZWxtLmdldEF0dHJpYnV0ZSgnbmFtZScpKyInIik7CgkJPC9zY3JpcHQ+Cgk8L2JvZHk+CjwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6231</attachid>
            <date>2006-02-03 19:12:15 -0800</date>
            <delta_ts>2006-02-06 18:20:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch6648.txt</filename>
            <type>text/plain</type>
            <size>1886</size>
            <attacher name="Boris Daljevi&amp;#263;">boris</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva2h0bWwveG1sL2RvbV9lbGVtZW50aW1wbC5oDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViQ29yZS9raHRtbC94bWwvZG9tX2VsZW1lbnRpbXBsLmgJKHJldmlzaW9uIDEyNTUxKQ0K
KysrIFdlYkNvcmUva2h0bWwveG1sL2RvbV9lbGVtZW50aW1wbC5oCSh3b3JraW5nIGNvcHkpDQpA
QCAtMTkwLDcgKzE5MCw3IEBAIHB1YmxpYzoNCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRB
dHRyaWJ1dGUoY29uc3QgRE9NU3RyaW5nJiBuYW1lKSBjb25zdCB7IHJldHVybiBnZXRBdHRyaWJ1
dGVOUyhET01TdHJpbmcoKSwgbmFtZSk7IH0NCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRB
dHRyaWJ1dGVOUyhjb25zdCBET01TdHJpbmcgJm5hbWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5n
ICZsb2NhbE5hbWUpIGNvbnN0Ow0KIA0KLSAgICB2b2lkIHNldEF0dHJpYnV0ZShjb25zdCBET01T
dHJpbmcgJm5hbWUsIGNvbnN0IERPTVN0cmluZyAmdmFsdWUsIGludCAmZXhjZXB0aW9uKSB7IHNl
dEF0dHJpYnV0ZU5TKERPTVN0cmluZygpLCBuYW1lLCB2YWx1ZSwgZXhjZXB0aW9uKTsgfQ0KKyAg
ICB2b2lkIHNldEF0dHJpYnV0ZShjb25zdCBET01TdHJpbmcgJm5hbWUsIGNvbnN0IERPTVN0cmlu
ZyAmdmFsdWUsIGludCAmZXhjZXB0aW9uKTsNCiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVOUyhjb25z
dCBET01TdHJpbmcgJm5hbWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZxdWFsaWZpZWROYW1l
LCBjb25zdCBET01TdHJpbmcgJnZhbHVlLCBpbnQgJmV4Y2VwdGlvbik7DQogDQogICAgIHZvaWQg
c2Nyb2xsSW50b1ZpZXcgKGJvb2wgYWxpZ25Ub1RvcCk7DQpJbmRleDogV2ViQ29yZS9raHRtbC94
bWwvZG9tX2VsZW1lbnRpbXBsLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUva2h0bWwveG1s
L2RvbV9lbGVtZW50aW1wbC5jcHAJKHJldmlzaW9uIDEyNTUxKQ0KKysrIFdlYkNvcmUva2h0bWwv
eG1sL2RvbV9lbGVtZW50aW1wbC5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC00MDYsNiArNDA2LDIx
IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudEltcGw6OmdldEF0dHINCiAgICAgcmV0dXJu
IGdldEF0dHJpYnV0ZShuYW1lKTsNCiB9DQogDQordm9pZCBFbGVtZW50SW1wbDo6c2V0QXR0cmli
dXRlKGNvbnN0IERPTVN0cmluZyAmbmFtZSwgY29uc3QgRE9NU3RyaW5nICZ2YWx1ZSwgaW50ICZl
eGNlcHRpb24pDQorew0KKyAgICBET01TdHJpbmcgbG4obmFtZSk7DQorICAgIGlmIChnZXREb2N1
bWVudCgpICYmIGdldERvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpDQorICAgICAgICBsbiA9
IG5hbWUubG93ZXIoKTsNCisNCisgICAgRE9NU3RyaW5nIHByZWZpeCwgbG9jYWxOYW1lOw0KKyAg
ICBpZiAoIURvY3VtZW50SW1wbDo6cGFyc2VRdWFsaWZpZWROYW1lKGxuLCBwcmVmaXgsIGxvY2Fs
TmFtZSkpIHsNCisgICAgICAgIGV4Y2VwdGlvbiA9IERPTUV4Y2VwdGlvbjo6SU5WQUxJRF9DSEFS
QUNURVJfRVJSOw0KKyAgICAgICAgcmV0dXJuOw0KKyAgICB9DQorDQorICAgIHNldEF0dHJpYnV0
ZShRdWFsaWZpZWROYW1lKERPTVN0cmluZygpLmltcGwoKSwgbG4uaW1wbCgpLCBET01TdHJpbmco
KS5pbXBsKCkpLCB2YWx1ZS5pbXBsKCksIGV4Y2VwdGlvbik7DQorfQ0KKw0KIHZvaWQgRWxlbWVu
dEltcGw6OnNldEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBET01TdHJpbmdJ
bXBsKiB2YWx1ZSwgaW50ICZleGNlcHRpb25jb2RlICkNCiB7DQogICAgIGlmIChpbkRvY3VtZW50
KCkpDQo=
</data>
<flag name="review"
          id="1502"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6232</attachid>
            <date>2006-02-03 19:14:48 -0800</date>
            <delta_ts>2006-02-03 19:14:48 -0800</delta_ts>
            <desc>ChangeLog entry</desc>
            <filename>ChangeLog</filename>
            <type>text/plain</type>
            <size>365</size>
            <attacher name="Boris Daljevi&amp;#263;">boris</attacher>
            
              <data encoding="base64">MjAwNi0wMi0wNCAgQm9yaXMgRGFsamV2aWMgIDxib3Jpc0BiYWNrYmFzZS5jb20+DQoNCiAgICAg
ICAgPGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0OD4N
CiAgICAgICAgRG8gbm90IHBhcnNlIGF0dHJpYnV0ZSBuYW1lIGFzIGl0IGlzIGJlaW5nIHNldC4N
Cg0KICAgICAgICAqIGtodG1sL3htbC9kb21fZWxlbWVudGltcGwuaDoNCiAgICAgICAgKEVsZW1l
bnRJbXBsOjpzZXRBdHRyaWJ1dGUpOiBSZW1vdmVkIGJvZHkNCiAgICAgICAgKiBraHRtbC94bWwv
ZG9tX2VsZW1lbnRpbXBsLmNwcDoNCiAgICAgICAgKEVsZW1lbnRJbXBsOjpzZXRBdHRyaWJ1dGUp
OiBBZGRlZCBtb2RpZmllZCBib2R5DQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6233</attachid>
            <date>2006-02-03 19:15:43 -0800</date>
            <delta_ts>2006-02-03 19:15:43 -0800</delta_ts>
            <desc>Layout test</desc>
            <filename>setAttribute.html</filename>
            <type>text/html</type>
            <size>961</size>
            <attacher name="Boris Daljevi&amp;#263;">boris</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiINCiAgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8
aHRtbD4NCjxoZWFkPg0KPHNjcmlwdD4NCmZ1bmN0aW9uIGRlYnVnKHN0cikgew0KICAgIHByZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7DQogICAgdGV4dCA9IGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKHN0ciArICdcbicpOw0KICAgIHByZS5hcHBlbmRDaGlsZCh0ZXh0KTsN
Cn0NCg0KZnVuY3Rpb24gcnVuVGVzdHMoKSB7DQogICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikNCiAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KDQog
ICAgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy5leGFtcGxlLm9y
ZycsICd0ZXN0Jyk7DQogICAgYXR0ciA9IGVsZW0uc2V0QXR0cmlidXRlKCdiYjpkZGRkJywgJ2F0
dHJfdmFsdWUnKTsNCiAgICBhdHRyTm9kZSA9IGVsZW0uYXR0cmlidXRlc1swXTsNCg0KICAgIGlm
IChhdHRyTm9kZS5uYW1lc3BhY2VVUkkgPT0gbnVsbCAmJiBhdHRyTm9kZS5wcmVmaXggPT0gbnVs
bCAmJiBhdHRyTm9kZS5sb2NhbE5hbWUgPT0gJ2JiOmRkZGQnKQ0KICAgICAgICBkZWJ1ZygnU1VD
Q0VTUycpDQogICAgZWxzZQ0KICAgICAgICBkZWJ1ZygnRkFJTFVSRScpDQp9DQoNCjwvc2NyaXB0
Pg0KPC9oZWFkPg0KPGJvZHkgb25sb2FkPSJydW5UZXN0cygpOyI+DQpUaGlzIHRlc3RzIGNoZWNr
cyB3aGV0aGVyIHNldEF0dHJpYnV0ZSBwYXJzZXMgbmFtZSBwcmFtZXRhci4gSWYgZG9lcyBub3Qg
dGVzdCBpcyBzdWNlc3NmdWwgYW5kIHRoZSB0ZXh0IGJlbG93IHNob3VsZCBzYXkgIlNVQ0NFU1Mi
Lg0KPHByZSBpZD0iY29uc29sZSI+DQo8L3ByZT4NCjwvYm9keT4NCjwvaHRtbD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6234</attachid>
            <date>2006-02-03 19:16:36 -0800</date>
            <delta_ts>2006-02-03 19:16:36 -0800</delta_ts>
            <desc>Layout test - expected result</desc>
            <filename>setAttribute-expected.txt</filename>
            <type>text/plain</type>
            <size>144</size>
            <attacher name="Boris Daljevi&amp;#263;">boris</attacher>
            
              <data encoding="base64">VGhpcyB0ZXN0cyBjaGVja3Mgd2hldGhlciBzZXRBdHRyaWJ1dGUgcGFyc2VzIG5hbWUgcHJhbWV0
YXIuIElmIGRvZXMgbm90IHRlc3QgaXMgc3VjZXNzZnVsIGFuZCB0aGUgdGV4dCBiZWxvdyBzaG91
bGQgc2F5ICJTVUNDRVNTIi4NClNVQ0NFU1MNCg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6286</attachid>
            <date>2006-02-06 05:47:50 -0800</date>
            <delta_ts>2006-02-06 05:47:50 -0800</delta_ts>
            <desc>test case to examine behavior of get/set/has/removeAttribute and get/set/has/removeNS</desc>
            <filename>attributes_namespace.html</filename>
            <type>text/html</type>
            <size>5938</size>
            <attacher name="Boris Daljevi&amp;#263;">boris</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBodG1sIFBV
QkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3ho
dG1sMTEvRFREL3hodG1sMTEuZHRkIj4NCjxodG1sIHhtbDpsYW5nPSJlbiIgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbG5zOmJiPSJodHRwOi8vd3d3LmJhY2tiYXNlLmNv
bS9iYiI+DQoJPGhlYWQ+DQoJCTx0aXRsZT5UZXN0IGZvciByZXRyZWl2YWwgYW5kIHJlbW92YWwg
b2YgYXR0cmlidXRlcyB0aGF0IGhhdmUgbmFtZXNwYWNlIHByZWZpeDwvdGl0bGU+DQoJCTxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+DQoJCQkucmVkew0KCQkJCWJvcmRlcjog
MnB4IHNvbGlkIHJlZDsNCgkJCQltYXJnaW46IDVweDsNCgkJCQlwYWRkaW5nOiA1cHg7DQoJCQl9
DQoNCgkJCS5ncmVlbnsNCgkJCQlib3JkZXI6IDJweCBzb2xpZCBncmVlbjsNCgkJCQltYXJnaW46
IDVweDsNCgkJCQlwYWRkaW5nOiA1cHg7DQoJCQl9DQoNCgkJPC9zdHlsZT4NCg0KCQk8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJCQl2YXINCgkJCQlvRWxlbWVudCwNCgkJCQlzU2V0
QXR0cmlidXRlRXhwcmVzc2lvbiwNCgkJCQlpVGVzdENudCA9IDA7DQoNCgkJCS8vLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkJCWZ1bmN0aW9uIGluaXQoKSB7DQoJCQkvLy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJCQkJb0VsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgneHh4Jyk7DQoJCQl9DQoNCg0KCQkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQ0KCQkJZnVuY3Rpb24gc2V0QXR0KCkgew0KCQkJLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQ0KCQkJCWV2YWwoc1NldEF0dHJpYnV0ZUV4cHJlc3Npb24pOw0KDQoJ
CQkJdmFyDQoJCQkJCW9BdHRyLA0KCQkJCQlzUHJlZml4LA0KCQkJCQlzTG9jYWxOYW1lLA0KCQkJ
CQlzTmFtZXBhY2VVUkksDQoJCQkJCW9FbG0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXR0
cl9kZXNjJyk7DQoNCgkJCQkJdHJ5IHsNCgkJCQkJCW9BdHRyID0gb0VsZW1lbnQuZ2V0QXR0cmli
dXRlTm9kZU5TKCdodHRwOi8vd3d3LmJhY2tiYXNlLmNvbS9iYicsICdkZGRkJyk7DQoJCQkJCX0N
CgkJCQkJY2F0Y2gob0Vycm9yKSB7DQoJCQkJCX0NCg0KCQkJCQlpZiAoIW9BdHRyKQ0KCQkJCQkJ
b0F0dHIgPSBvRWxlbWVudC5nZXRBdHRyaWJ1dGVOb2RlKCdiYjpkZGRkJyk7DQoNCg0KCQkJCQlp
ZiAob0F0dHIpIHsNCgkJCQkJCXNQcmVmaXggPSBvQXR0ci5wcmVmaXg7DQoJCQkJCQlzTG9jYWxO
YW1lID0gb0F0dHIubG9jYWxOYW1lOw0KCQkJCQkJaWYgKCFoYXNWYWx1ZShzTG9jYWxOYW1lKSkN
CgkJCQkJCQlzTG9jYWxOYW1lID0gb0F0dHIuYmFzZU5hbWU7DQoJCQkJCQlzTmFtZXBhY2VVUkkg
PSBvQXR0ci5uYW1lc3BhY2VVUkk7DQoNCgkJCQkJCW9FbG0uaW5uZXJIVE1MID0gJzxzdHJvbmc+
cHJlZml4ID0gJyArIHNQcmVmaXggKyAnPGJyIC8+bG9jYWxOYW1lID0gJyArIHNMb2NhbE5hbWUg
KyAnPGJyIC8+bmFtZXNwYWNlVVJJID0gJyArIHNOYW1lcGFjZVVSSSAgKyAnPC9zdHJvbmc+JzsN
CgkJCQkJfQ0KCQkJCQllbHNlDQoJCQkJCQlvRWxtLmlubmVySFRNTCA9ICc8c3Ryb25nPkNvdWxk
IG5vdCByZXRyZWl2ZSBhdHRyaWJ1dGUgbm9kZS4gVGhpcyBicm93c2VyIGhhcyBidWcgaW4gZ2V0
QXR0cmlidXRlTm9kZU5TIG9yIGdldEF0dHJpYnV0ZU5vZGU8L3N0cm9uZz4nOw0KCQkJfQ0KDQoN
CgkJCWZ1bmN0aW9uIGhhc1ZhbHVlKHZWYXJpYWJsZSkgew0KCQkJCXZhciB1bmRlZjsNCg0KCQkJ
CXJldHVybiAodlZhcmlhYmxlICE9PSB1bmRlZiAmJiB2VmFyaWFibGUgIT09IG51bGwgJiYgdlZh
cmlhYmxlICE9PSAwICYmIHZWYXJpYWJsZSAhPT0gZmFsc2UgJiYgdlZhcmlhYmxlICE9PSAnJyk7
DQoJCQl9DQoNCgkJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkJCWZ1bmN0
aW9uIGV2YWx1YXRlRXhwcmVzc2lvbihvRGl2KSB7DQoJCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tDQoJCQkJdmFyDQoJCQkJCW9EaXYsDQoJCQkJCXNFeHByZXNzaW9uLA0KCQkJ
CQliUmVzOw0KDQoJCQkJc0V4cHJlc3Npb24gPSAnYlJlcyA9ICcgKyBvRGl2LmlubmVySFRNTDsN
CgkJCQl0cnkgew0KCQkJCQlldmFsKHNFeHByZXNzaW9uKTsNCgkJCQkJcmV0dXJuIGhhc1ZhbHVl
KGJSZXMpOw0KCQkJCX0NCgkJCQljYXRjaChvRXJyb3IpIHsNCgkJCQkJcmV0dXJuIGZhbHNlOw0K
CQkJCX0NCgkJCX0NCg0KDQoJCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJ
CQlmdW5jdGlvbiB0ZXN0KCkgew0KCQkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KCQkJCXZhcg0KCQkJCQlhUmV0cmlldmFsVGVzdElkcyA9IFsnYTAnLCAnYjAnLCAnYTInLCAn
YjInLCAnYTMnLCAnYjMnLCAnYTUnLCAnYjUnLCAnYTYnLCAnYjYnLCAnYTcnLCAnYjcnXSwNCgkJ
CQkJYVJlbW92YWxUZXN0SWRzID0gWydhMScsICdiMScsICdhNCcsICdiNCcsICdhOCcsICdiOCdd
LA0KCQkJCQlpLA0KCQkJCQlvRGl2LA0KCQkJCQliUmVzOw0KDQoJCQkJaWYgKGlUZXN0Q250KSB7
DQoJCQkJCWFsZXJ0KCJUbyBzdGFydCB0ZXN0IGFnYWluLCBwbGVhc2UgcmVsb2FkIHRoZSBwYWdl
ISIpOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCWlUZXN0Q250Kys7DQoNCg0KCQkJCWlmIChk
b2N1bWVudC5mb3Jtc1swXS5zZXRbMF0uY2hlY2tlZCkNCgkJCQkJc1NldEF0dHJpYnV0ZUV4cHJl
c3Npb24gPSBkb2N1bWVudC5mb3Jtc1swXS5zZXRbMF0udmFsdWU7DQoJCQkJZWxzZQ0KCQkJCQlz
U2V0QXR0cmlidXRlRXhwcmVzc2lvbiA9IGRvY3VtZW50LmZvcm1zWzBdLnNldFsxXS52YWx1ZTsN
Cg0KCQkJCS8vIHNldHRpbmcgYXR0cmlidXRlDQoJCQkJc2V0QXR0KCk7DQoNCg0KDQoJCQkJLy8g
cmV0cmVpdmFsIHRlc3RzDQoJCQkJZm9yKGkgPSAwOyBpIDwgYVJldHJpZXZhbFRlc3RJZHMubGVu
Z3RoOyArK2kpIHsNCgkJCQkJb0RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFSZXRyaWV2
YWxUZXN0SWRzW2ldKTsNCgkJCQkJYlJlcyA9IGV2YWx1YXRlRXhwcmVzc2lvbihvRGl2KTsNCgkJ
CQkJaWYgKGJSZXMpDQoJCQkJCQlvRGl2LnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnZ3JlZW4nKTsN
CgkJCQl9DQoNCgkJCQkvLyByZW1vdmFsIHRlc3RzDQoJCQkJZm9yKGkgPSAwOyBpIDwgYVJlbW92
YWxUZXN0SWRzLmxlbmd0aDsgKytpKSB7DQoJCQkJCW9EaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChhUmVtb3ZhbFRlc3RJZHNbaV0pOw0KCQkJCQlldmFsdWF0ZUV4cHJlc3Npb24ob0Rpdik7
DQoJCQkJCWJSZXMgPSBvRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2JiOmRkZGQnKTsNCgkJCQkJaWYg
KCFoYXNWYWx1ZShiUmVzKSkNCgkJCQkJCW9EaXYuc2V0QXR0cmlidXRlKCdjbGFzcycsICdncmVl
bicpOw0KDQoJCQkJCXNldEF0dCgpOyAvLyBzZXQgYXR0cmlidXRlIGFnYWluIHRvIGJlIHJlYWR5
IGZvciB0aGUgbmV4dCB0ZXN0DQoJCQkJfQ0KCQkJfQ0KCQk8L3NjcmlwdD4NCgk8L2hlYWQ+DQoJ
PGJvZHkgb25sb2FkPSJpbml0KCkiPg0KDQoJCQlBdHRyaWJ1dGUgaXMgc2V0IHdpdGg6PGJyIC8+
DQoJCQk8Zm9ybT4NCiAgICAJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic2V0IiB2YWx1ZT0i
b0VsZW1lbnQuc2V0QXR0cmlidXRlTlMoJ2h0dHA6Ly93d3cuYmFja2Jhc2UuY29tL2JiJywgJ2Ji
OmRkZGQnLCAnc29tZV92YWx1ZScpIiAvPjxjb2RlPm9FbGVtZW50LnNldEF0dHJpYnV0ZU5TKCdo
dHRwOi8vd3d3LmJhY2tiYXNlLmNvbS9iYicsICdiYjpkZGRkJywgJ3NvbWVfdmFsdWUnKTwvY29k
ZT48YnIgLz4NCiAgICAJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ic2V0IiB2YWx1ZT0ib0Vs
ZW1lbnQuc2V0QXR0cmlidXRlKCdiYjpkZGRkJywgJ3NvbWVfdmFsdWUnKSIgY2hlY2tlZD0ib24i
IC8+PGNvZGU+b0VsZW1lbnQuc2V0QXR0cmlidXRlKCdiYjpkZGRkJywgJ3NvbWVfdmFsdWUnKTwv
Y29kZT48YnIgLz4NCiAgICAJPC9mb3JtPg0KCQkJPGJyIC8+DQoJCQk8YnIgLz4NCgkJCW5vdGU6
IGlmIGRpdiBpcyBncmVlbiBhdHRyaWJ1dGUgaGFzIGJlZW4gcmV0cmlldmVkIG9yIHJlbW92ZWQ8
YnIgLz4NCgkJCTxiciAvPg0KDQoJCTxkaXYgaWQ9Inh4eCI+DQoJCQlDbGljayB0aGUgYnV0dG9u
IHRvIHN0YXJ0IHRoZSB0ZXN0PGJyIC8+DQoJCQk8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i
U3RhcnQiIG9uY2xpY2s9InRlc3QoKSIgLz48YnIgLz4NCgkJCTxkaXYgaWQ9ImF0dHJfZGVzYyI+
DQoJCQk8L2Rpdj4NCgkJPC9kaXY+DQoJCTxiciAvPg0KDQoJCTxkaXYgY2xhc3M9InJlZCIgaWQ9
ImEwIj5vRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2JiOmRkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNz
PSJyZWQiIGlkPSJiMCI+b0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdkZGRkJyk8L2Rpdj4NCgkJPGRp
diBjbGFzcz0icmVkIiBpZD0iYTEiPm9FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYmI6ZGRkZCcp
PC9kaXY+DQoJCTxkaXYgY2xhc3M9InJlZCIgaWQ9ImIxIj5vRWxlbWVudC5yZW1vdmVBdHRyaWJ1
dGUoJ2RkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyZWQiIGlkPSJhMiI+b0VsZW1lbnQuaGFz
QXR0cmlidXRlKCdiYjpkZGRkJyk8L2Rpdj4NCgkJPGRpdiBjbGFzcz0icmVkIiBpZD0iYjIiPm9F
bGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGRkZCcpPC9kaXY+DQoJCTxiciAvPg0KCQk8ZGl2IGNsYXNz
PSJyZWQiIGlkPSJhMyI+b0VsZW1lbnQuZ2V0QXR0cmlidXRlTlMoJ2h0dHA6Ly93d3cuYmFja2Jh
c2UuY29tL2JiJywgJ2JiOmRkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyZWQiIGlkPSJiMyI+
b0VsZW1lbnQuZ2V0QXR0cmlidXRlTlMoJ2h0dHA6Ly93d3cuYmFja2Jhc2UuY29tL2JiJywgJ2Rk
ZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyZWQiIGlkPSJhNCI+b0VsZW1lbnQucmVtb3ZlQXR0
cmlidXRlTlMoJ2h0dHA6Ly93d3cuYmFja2Jhc2UuY29tL2JiJywgJ2JiOmRkZGQnKTwvZGl2Pg0K
CQk8ZGl2IGNsYXNzPSJyZWQiIGlkPSJiNCI+b0VsZW1lbnQucmVtb3ZlQXR0cmlidXRlTlMoJ2h0
dHA6Ly93d3cuYmFja2Jhc2UuY29tL2JiJywgJ2RkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJy
ZWQiIGlkPSJhNSI+b0VsZW1lbnQuaGFzQXR0cmlidXRlTlMoJ2h0dHA6Ly93d3cuYmFja2Jhc2Uu
Y29tL2JiJywgJ2JiOmRkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyZWQiIGlkPSJiNSI+b0Vs
ZW1lbnQuaGFzQXR0cmlidXRlTlMoJ2h0dHA6Ly93d3cuYmFja2Jhc2UuY29tL2JiJywgJ2RkZGQn
KTwvZGl2Pg0KCQk8YnIgLz4NCgkJPGRpdiBjbGFzcz0icmVkIiBpZD0iYTYiPm9FbGVtZW50Lmdl
dEF0dHJpYnV0ZU5vZGUoJ2JiOmRkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyZWQiIGlkPSJi
NiI+b0VsZW1lbnQuZ2V0QXR0cmlidXRlTm9kZSgnZGRkZCcpPC9kaXY+DQoJCTxkaXYgY2xhc3M9
InJlZCIgaWQ9ImE3Ij5vRWxlbWVudC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ2h0dHA6Ly93d3cuYmFj
a2Jhc2UuY29tL2JiJywgJ2JiOmRkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyZWQiIGlkPSJi
NyI+b0VsZW1lbnQuZ2V0QXR0cmlidXRlTm9kZU5TKCdodHRwOi8vd3d3LmJhY2tiYXNlLmNvbS9i
YicsICdkZGRkJyk8L2Rpdj4NCgkJPGRpdiBjbGFzcz0icmVkIiBpZD0iYTgiPm9FbGVtZW50LnJl
bW92ZUF0dHJpYnV0ZU5vZGUoJ2JiOmRkZGQnKTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJyZWQiIGlk
PSJiOCI+b0VsZW1lbnQucmVtb3ZlQXR0cmlidXRlTm9kZSgnZGRkZCcpPC9kaXY+DQoJPC9ib2R5
Pg0KPC9odG1sPg==
</data>

          </attachment>
      

    </bug>

</bugzilla>