<?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>8563</bug_id>
          
          <creation_ts>2006-04-24 01:47:14 -0700</creation_ts>
          <short_desc>[DOMHTMLDocument doctype] always returning nil.</short_desc>
          <delta_ts>2006-05-05 12:31:46 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Matt Gough">matt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>40315</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-24 01:47:14 -0700</bug_when>
    <thetext>Sometime since 418, the implementation of HTMLDocument::doctype was changed to:

DocumentType *HTMLDocument::doctype() const
{
    // According to a comment in dom_doc.cpp, doctype is null for HTML documents.
    return 0;
}


Firstly, where is dom_doc.cpp? It doesn&apos;t seem a part of WebKit/Core.

What is the comment and why is it deemed correct that doctype should be null for HTML documents?

Why do I care:

Well, I am writing some code to take a DOM (or portions thereof) and convert it back into a fairly self-contained HTML file. Without being able to reconstitute the correct &lt;!DOCTYPE ...&gt; I have no way of ensuring that quirks mode is set correctly when displaying the resulting html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40321</commentid>
    <comment_count>1</comment_count>
      <attachid>7938</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-24 03:02:49 -0700</bug_when>
    <thetext>Created attachment 7938
Accessing the doctype when there is one declared

The following Mac browsers &apos;pass&apos; this test -Firefox 1.5.0.1, Opera 8.54.2200 and Internet Explorer 5.2.3.
WebKit-based ones fail it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40322</commentid>
    <comment_count>2</comment_count>
      <attachid>7939</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-24 03:05:00 -0700</bug_when>
    <thetext>Created attachment 7939
Accessing the doctype when there is not one declared

All browser passed this test, including WebKit-based ones</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40323</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-24 03:14:59 -0700</bug_when>
    <thetext>My original assertion that this bug did not affect released versions of WebKit is wrong. It fails in 417.9.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40324</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-24 03:21:07 -0700</bug_when>
    <thetext>Ignore the 417.9.2 version mentioned above. It should have been 418.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40330</commentid>
    <comment_count>5</comment_count>
      <attachid>7940</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-24 07:14:13 -0700</bug_when>
    <thetext>Created attachment 7940
Patch for this bug

This patch:
1. Removes DocumentType *HTMLDocument::doctype() const from HTMLDocument.h and cpp.
2. Changes the comment in Document.h to say that docType() may return 0.
3. Changes LayoutTests/dom/html/level1/core/hc_documentgetdoctype.js to do a case insensitive compare of docTypeName against &apos;html&apos; (Since HTML is the name specified in HTMLDocument::determineParseMode when creating the docType for HTML.) Not sure whether this is the correct approach, or to just make HTMLDocument::determineParseMode use &apos;html&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40345</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-24 10:50:08 -0700</bug_when>
    <thetext>WinIE 6 fails the test :-(

&quot;FAILED - doctype is null even though there is a &lt;!DOCTYPE ...&gt; declaration </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40378</commentid>
    <comment_count>7</comment_count>
      <attachid>7940</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-24 20:39:20 -0700</bug_when>
    <thetext>Comment on attachment 7940
Patch for this bug

We normally do not make changes to tests from the DOM working group without making comments describing what the change is and why we made it, and also reporting the bug in the W3C Bugzilla. So I&apos;m a bit uncomfortable with the change in hc_documentgetdoctype.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40392</commentid>
    <comment_count>8</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-25 01:36:56 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; So I&apos;m a bit uncomfortable with the change in hc_documentgetdoctype.js.
&gt; 

As it stood before my patch that code (in the test) would never have been called anyway (in WebKit)

The problem is caused by the test html file using &apos;html&apos; but WebKit hard-coding a &apos;HTML&apos; for the docType. Conceptually, the test is consistent with itself and so should probably not have been changed.

Do you have any objections to passing in a lowercase &apos;html&apos; to new DocumentType in HTMLDocument::determineParseMode instead:
     setDocType(new DocumentType(this, &quot;html&quot;, publicID, systemID));

An even better fix, but one which is far more trouble than it is worth, would be to pass the same version of the name as read in from the &lt;!Doctype ...&gt;, but WebKit has already lost that information by the time the setDocType call is made.

Since html is inherently case-insensitive anyway I see no issue with using &apos;html&apos; instead and not changing the test.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40409</commentid>
    <comment_count>9</comment_count>
      <attachid>7940</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-25 08:03:14 -0700</bug_when>
    <thetext>Comment on attachment 7940
Patch for this bug

(In reply to comment #8)
&gt; Do you have any objections to passing in a lowercase &apos;html&apos; to new DocumentType
&gt; in HTMLDocument::determineParseMode instead:
&gt;      setDocType(new DocumentType(this, &quot;html&quot;, publicID, systemID));

Sounds fine. We should do this.

&gt; An even better fix, but one which is far more trouble than it is worth, would
&gt; be to pass the same version of the name as read in from the &lt;!Doctype ...&gt;, but
&gt; WebKit has already lost that information by the time the setDocType call is
&gt; made.

I&apos;m not sure why you say this is more trouble than it&apos;s worth, though.

We could easily add a fourth return value to the function &quot;parseDocTypeDeclaration&quot; in HTMLDocument.cpp to complement the resultFlags, publicID, and systemID return values.

I think the real issue is not the difficulty of implementation, but the behavior of other browsers. Do those browsers always return the &quot;html&quot; in the same case it was in the &lt;!doctype&gt; or do they always return lowercase &quot;html&quot;? We should match them. If they always return lowercase &quot;html&quot;, then this is not a better fix after all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40484</commentid>
    <comment_count>10</comment_count>
      <attachid>7981</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-26 09:21:40 -0700</bug_when>
    <thetext>Created attachment 7981
Improved Patch

FireFox and Opera both return the docType.name it as it is in the source (i,e HTML, html, Html, hTMl etc). As such this new patch incorporates Darin&apos;s suggestion of returning the name out of parseDocTypeDeclaration. This name is then passed in when creating the DocumentType in determineParseMode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40542</commentid>
    <comment_count>11</comment_count>
      <attachid>7981</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-26 15:49:23 -0700</bug_when>
    <thetext>Comment on attachment 7981
Improved Patch

Looks great! Just needs a change log and a test case, and then it&apos;s ready to land.

Marking review- because of the lack of change log and test case, otherwise would be review+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40584</commentid>
    <comment_count>12</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-27 02:24:58 -0700</bug_when>
    <thetext>&gt; Marking review- because of the lack of change log and test case, otherwise
&gt; would be review+.

I couldn&apos;t decide if the existing doctype test (hc_documentgetdoctype.html) was enough or not. Should I do one along the lines of the first attachment above?

Dumb as it sounds, but how do I provide a change log? Am I supposed to actually edit the Changelog file and create a patch from that, or just add a comment here? Unfortunately http://webkit.opendarwin.org/coding/contributing.html is a little ambiguous: &apos;Make sure that your patch includes a ChangeLog entry&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40586</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-27 03:26:44 -0700</bug_when>
    <thetext>When the behavior changes, some test should change from failure to success - if I understood correctly, hc_documentgetdoctype.html doesn&apos;t catch this change? I think it would also be useful to test for different capitalizations that you have mentioned (hTMl etc).

Yes, ideally, a patch to ChangeLog should be included in the patch itself. There&apos;s a prepare-Changelog script that creates a template (automatically mentioning all modified files and functions!). I run it once in each modified top-level subdirectory, that is, WebCore, LayoutTests etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40830</commentid>
    <comment_count>14</comment_count>
      <attachid>8063</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-05-02 02:56:29 -0700</bug_when>
    <thetext>Created attachment 8063
Patch

Now with ChangeLog entries.

Test files to appear shorty
(Note - I would have though that svn-create-patch would also add my tests to the patch but it didn&apos;t. Is it supposed to?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40831</commentid>
    <comment_count>15</comment_count>
      <attachid>8064</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-05-02 02:57:55 -0700</bug_when>
    <thetext>Created attachment 8064
Layout test

into fast/doctypes/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40832</commentid>
    <comment_count>16</comment_count>
      <attachid>8065</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-05-02 02:58:29 -0700</bug_when>
    <thetext>Created attachment 8065
Layout test expected result

into fast/doctypes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40833</commentid>
    <comment_count>17</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-05-02 02:59:35 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (Note - I would have though that svn-create-patch would also add my tests to
&gt; the patch but it didn&apos;t. Is it supposed to?)

Yes, but you have to &quot;svn add&quot; them.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40834</commentid>
    <comment_count>18</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-05-02 03:08:00 -0700</bug_when>
    <thetext>&gt; &gt; (Note - I would have though that svn-create-patch would also add my tests to
&gt; &gt; the patch but it didn&apos;t. Is it supposed to?)
&gt; 
&gt; Yes, but you have to &quot;svn add&quot; them.

I was assuming that since I am not a committer that I would not be allowed to touch svn.

http://webkit.opendarwin.org/coding/contributing.html doesn&apos;t mention what to do with new files.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40858</commentid>
    <comment_count>19</comment_count>
      <attachid>8063</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-02 08:44:35 -0700</bug_when>
    <thetext>Comment on attachment 8063
Patch

r=me.

Note that the new test case is not in the patch and must be &quot;svn add&quot;-ed separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40874</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-02 11:05:39 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; http://webkit.opendarwin.org/coding/contributing.html doesn&apos;t mention what to
&gt; do with new files.

A patch for the website to correct this would be great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40936</commentid>
    <comment_count>21</comment_count>
      <attachid>8090</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-05-03 01:01:59 -0700</bug_when>
    <thetext>Created attachment 8090
Patch including test files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40937</commentid>
    <comment_count>22</comment_count>
      <attachid>8090</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-05-03 01:05:56 -0700</bug_when>
    <thetext>Comment on attachment 8090
Patch including test files

This looks great.  I don&apos;t know why the old code worked that way.  Assuming you tested in FireFox and IE to make sure that our behavior agrees with theirs, r=me.

Also, we would need to clean up the changelog conflict markers before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40981</commentid>
    <comment_count>23</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-05-03 01:42:33 -0700</bug_when>
    <thetext>&gt; Assuming you
&gt; tested in FireFox and IE to make sure that our behavior agrees with theirs,
&gt; r=me.

I tested on Opera and Firefox on Mac. No PC so can&apos;t check IE

&gt; Also, we would need to clean up the changelog conflict markers before landing.

Does &apos;we&apos; mean someone else, or do I have to go through the whole patch making rigmarole again :(

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40985</commentid>
    <comment_count>24</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-05-03 03:42:04 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; &gt; Assuming you
&gt; &gt; tested in FireFox and IE to make sure that our behavior agrees with theirs,
&gt; &gt; r=me.

  To reiterate comment 6, WinIE behavior is different. Not sure if this can be considered already OK&apos;d by Darin.

&gt; &gt; Also, we would need to clean up the changelog conflict markers before landing.
&gt; 
&gt; Does &apos;we&apos; mean someone else, or do I have to go through the whole patch making
&gt; rigmarole again :(

  I&apos;m pretty sure &quot;we&quot; means &quot;the committer&quot; :)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41178</commentid>
    <comment_count>25</comment_count>
      <attachid>8090</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-05-03 10:56:46 -0700</bug_when>
    <thetext>Comment on attachment 8090
Patch including test files

I didn&apos;t read the whole history, sorry.  I&apos;m going to leave this one to darin, since he&apos;s been working with you on this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41179</commentid>
    <comment_count>26</comment_count>
      <attachid>8090</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-03 11:17:35 -0700</bug_when>
    <thetext>Comment on attachment 8090
Patch including test files

Patch looks fine. Yes the committer will have to remove the conflict marker from LayoutTests/ChangeLog.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41323</commentid>
    <comment_count>27</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-05-05 08:24:03 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #14)
&gt; &gt; (Note - I would have though that svn-create-patch would also add my tests to
&gt; &gt; the patch but it didn&apos;t. Is it supposed to?)
&gt; 
&gt; Yes, but you have to &quot;svn add&quot; them.
&gt; 
OK, so now that my patch has landed update-webkit failed with:
svn: Failed to add file &apos;LayoutTests/fast/doctypes/005-case-preserving.html&apos;: object of the same name already exists

so I removed it and I get:

svn: Failed to add file &apos;LayoutTests/fast/doctypes/005-case-preserving.html&apos;: object of the same name is already scheduled for addition

Once I know what to do I&apos;ll be able to update the &apos;Contributing Code&apos; part of the Website with all the info that I wished I&apos;d known at the start.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41349</commentid>
    <comment_count>28</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-05-05 12:31:46 -0700</bug_when>
    <thetext>(In reply to comment #27)

You can either use the svn-unapply script to rollback your patch locally before updating, or just revert to the base revision (if you have no other local modifications):

svn revert LayoutTests -R</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>7938</attachid>
            <date>2006-04-24 03:02:49 -0700</date>
            <delta_ts>2006-04-24 03:02:49 -0700</delta_ts>
            <desc>Accessing the doctype when there is one declared</desc>
            <filename>YesDocType.html</filename>
            <type>text/html</type>
            <size>733</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KPGh0
bWw+CjxoZWFkPgoJPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgoJPHRpdGxlPlRoaXMgcGFnZSBoYXMgYSBET0NUWVBFIGRl
Y2xhcmF0aW9uPC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KPCEtLQoKaWYgKGRvY3VtZW50LmRvY3R5cGUp
Cgl7Cglkb2N1bWVudC53cml0ZSgiU1VDQ0VTUyAtIFRoaXMgZG9jdW1lbnQgaGFzIGEgZG9jdHlw
ZSBhcyBpdCBoYXMgYSAmbHQ7IURPQ1RZUEUgLi4uJmd0OyBkZWNsYXJhdGlvbjxicj48YnI+Iik7
Cglkb2N1bWVudC53cml0ZSgicHVibGljSWQgPSAiICsgZG9jdW1lbnQuZG9jdHlwZS5wdWJsaWNJ
ZCArICI8YnI+Iik7Cglkb2N1bWVudC53cml0ZSgic3lzdGVtSWQgPSAiICsgZG9jdW1lbnQuZG9j
dHlwZS5zeXN0ZW1JZCk7Cgl9CmVsc2UKCXsKCWRvY3VtZW50LndyaXRlKCJGQUlMRUQgLSBkb2N0
eXBlIGlzIG51bGwgZXZlbiB0aG91Z2ggdGhlcmUgaXMgYSAmbHQ7IURPQ1RZUEUgLi4uJmd0OyBk
ZWNsYXJhdGlvbiIpOwoJfQovLy0tPgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>7939</attachid>
            <date>2006-04-24 03:05:00 -0700</date>
            <delta_ts>2006-04-24 03:05:00 -0700</delta_ts>
            <desc>Accessing the doctype when there is not one declared</desc>
            <filename>NoDocType.html</filename>
            <type>text/html</type>
            <size>662</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgoJPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgoJPHRpdGxlPlRoaXMgcGFnZSBoYXMgbm8gRE9DVFlQ
RSBkZWNsYXJhdGlvbjwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+CjxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBsYW5ndWFnZT0iamF2YXNjcmlwdCI+CjwhLS0KCmlmIChkb2N1bWVudC5kb2N0
eXBlKQoJewoJZG9jdW1lbnQud3JpdGUoIkZBSUxFRCAtIFRocyBkb2N1bWVudCBzYXlzIGl0IGhh
cyBhIGRvY3R5cGUgZXZlbiB0aG91Z2ggaXQgZG9lcyBub3QgaGF2ZSBhICZsdDshRE9DVFlQRSAu
Li4mZ3Q7IGRlY2xhcmF0aW9uPGJyPjxicj4iKTsKCWRvY3VtZW50LndyaXRlKCJwdWJsaWNJZCA9
ICIgKyBkb2N1bWVudC5kb2N0eXBlLnB1YmxpY0lkICsiPGJyPiIpOwoJZG9jdW1lbnQud3JpdGUo
InN5c3RlbUlkID0gIiArIGRvY3VtZW50LmRvY3R5cGUuc3lzdGVtSWQgKyAiXG4iKTsKCX0KZWxz
ZQoJewoJZG9jdW1lbnQud3JpdGUoIlNVQ0NFU1MgLSBUaGlzIGRvY3VtZW50IGhhcyBhIG51bGwg
ZG9jdHlwZSBhcyBpdCBoYXMgbm8gJmx0OyFET0NUWVBFIC4uLiZndDsgZGVjbGFyYXRpb24iKTsK
CX0KLy8tLT4KPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7940</attachid>
            <date>2006-04-24 07:14:13 -0700</date>
            <delta_ts>2006-04-26 09:21:40 -0700</delta_ts>
            <desc>Patch for this bug</desc>
            <filename>HTMLDocTypePatch.txt</filename>
            <type>text/plain</type>
            <size>1849</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2RvY3VtZW50Z2V0ZG9j
dHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9o
Y19kb2N1bWVudGdldGRvY3R5cGUuanMJKHJldmlzaW9uIDE0MDMyKQorKysgTGF5b3V0VGVzdHMv
ZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfZG9jdW1lbnRnZXRkb2N0eXBlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjcsNyArMTI3LDcgQEAgZnVuY3Rpb24gaGNfZG9jdW1lbnRnZXRkb2N0eXBlKCkg
ewogCX0KIAkKIAkJZWxzZSB7Ci0JCQlhc3NlcnRFcXVhbHMoIm5vZGVOYW1lIiwiaHRtbCIsZG9j
VHlwZU5hbWUpOworCQkJYXNzZXJ0RXF1YWxzKCJub2RlTmFtZSIsImh0bWwiLGRvY1R5cGVOYW1l
LnRvTG93ZXJDYXNlKCkpOwogICAgICAgIAogCQl9CiAJbm9kZVZhbHVlID0gZG9jVHlwZS5ub2Rl
VmFsdWU7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAkocmV2aXNpb24gMTQwMzIpCisrKyBXZWJD
b3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI5LDEwICs0Mjks
NCBAQCB2b2lkIEhUTUxEb2N1bWVudDo6ZGV0ZXJtaW5lUGFyc2VNb2RlKCBjCiAgCiB9CiAKLURv
Y3VtZW50VHlwZSAqSFRNTERvY3VtZW50Ojpkb2N0eXBlKCkgY29uc3QKLXsKLSAgICAvLyBBY2Nv
cmRpbmcgdG8gYSBjb21tZW50IGluIGRvbV9kb2MuY3BwLCBkb2N0eXBlIGlzIG51bGwgZm9yIEhU
TUwgZG9jdW1lbnRzLgotICAgIHJldHVybiAwOwotfQotCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTERvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5o
CShyZXZpc2lvbiAxNDAzMikKKysrIFdlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNzQsOCArNzQsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KIAotICAgIHZpcnR1YWwgRG9jdW1lbnRUeXBlKiBkb2N0eXBlKCkgY29uc3Q7Ci0KICAgICB0
eXBlZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCosIGludD4gTmFtZUNvdW50TWFwOwogCiBwcm90ZWN0
ZWQ6CkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE0MDMyKQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIERP
TSBtZXRob2RzICYgYXR0cmlidXRlcyBmb3IgRG9jdW1lbnQKIAotICAgIHZpcnR1YWwgRG9jdW1l
bnRUeXBlKiBkb2N0eXBlKCkgY29uc3Q7IC8vIHJldHVybnMgMCBmb3IgSFRNTCBkb2N1bWVudHMK
KyAgICB2aXJ0dWFsIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0OyAvLyBNYXkgcmV0dXJu
IDAgZm9yIEhUTUwgZG9jdW1lbnRzCiAgICAgRG9jdW1lbnRUeXBlKiByZWFsRG9jVHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9jVHlwZS5nZXQoKTsgfQogCiAgICAgRE9NSW1wbGVtZW50YXRpb24q
IGltcGxlbWVudGF0aW9uKCkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="2197"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7981</attachid>
            <date>2006-04-26 09:21:40 -0700</date>
            <delta_ts>2006-05-02 02:56:29 -0700</delta_ts>
            <desc>Improved Patch</desc>
            <filename>NewPatch.txt</filename>
            <type>text/plain</type>
            <size>2814</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNDA3MSkKKysrIFdlYkNvcmUvaHRt
bC9IVE1MRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDcgQEAgc3Rh
dGljIGJvb2wgY29udGFpbnNTdHJpbmcoY29uc3QgY2hhciogcwogCiBzdGF0aWMgYm9vbCBwYXJz
ZURvY1R5cGVEZWNsYXJhdGlvbihjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBidWZmZXIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHJlc3VsdEZsYWdzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZFN0cmluZyYgbmFtZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcmIHB1Ymxp
Y0lELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZFN0cmlu
ZyYgc3lzdGVtSUQpCiB7CkBAIC0yNzksNiArMjgwLDcgQEAgc3RhdGljIGJvb2wgcGFyc2VEb2NU
eXBlRGVjbGFyYXRpb24oY29ucwogICAgIGlmICghY29udGFpbnNTdHJpbmcoImh0bWwiLCBidWZm
ZXIsIGluZGV4KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAorICAgIG5hbWUgPSBidWZm
ZXIubWlkKGluZGV4LCA0KTsKICAgICBpbmRleCA9IHBhcnNlRG9jVHlwZVBhcnQoYnVmZmVyLCBp
bmRleCs0KTsKICAgICBib29sIGhhc1B1YmxpYyA9IGNvbnRhaW5zU3RyaW5nKCJwdWJsaWMiLCBi
dWZmZXIsIGluZGV4KTsKICAgICBpZiAoaGFzUHVibGljKSB7CkBAIC0zNjYsMTEgKzM2OCwxMSBA
QCB2b2lkIEhUTUxEb2N1bWVudDo6ZGV0ZXJtaW5lUGFyc2VNb2RlKCBjCiAgICAgLy8gU1RSSUNU
IC0gbm8gcXVpcmtzIGFwcGx5LiAgV2ViIHBhZ2VzIHdpbGwgb2JleSB0aGUgc3BlY2lmaWNhdGlv
bnMgdG8KICAgICAvLyB0aGUgbGV0dGVyLgogCi0gICAgRGVwcmVjYXRlZFN0cmluZyBzeXN0ZW1J
RCwgcHVibGljSUQ7CisgICAgRGVwcmVjYXRlZFN0cmluZyBuYW1lLCBzeXN0ZW1JRCwgcHVibGlj
SUQ7CiAgICAgaW50IHJlc3VsdEZsYWdzID0gMDsKLSAgICBpZiAocGFyc2VEb2NUeXBlRGVjbGFy
YXRpb24oc3RyLCAmcmVzdWx0RmxhZ3MsIHB1YmxpY0lELCBzeXN0ZW1JRCkpIHsKKyAgICBpZiAo
cGFyc2VEb2NUeXBlRGVjbGFyYXRpb24oc3RyLCAmcmVzdWx0RmxhZ3MsIG5hbWUsIHB1YmxpY0lE
LCBzeXN0ZW1JRCkpIHsKICAgICAgICAgaWYgKHJlc3VsdEZsYWdzICYgUEFSU0VNT0RFX0hBVkVf
RE9DVFlQRSkKLSAgICAgICAgICAgIHNldERvY1R5cGUobmV3IERvY3VtZW50VHlwZSh0aGlzLCAi
SFRNTCIsIHB1YmxpY0lELCBzeXN0ZW1JRCkpOworICAgICAgICAgICAgc2V0RG9jVHlwZShuZXcg
RG9jdW1lbnRUeXBlKHRoaXMsIG5hbWUsIHB1YmxpY0lELCBzeXN0ZW1JRCkpOwogICAgICAgICBp
ZiAoIShyZXN1bHRGbGFncyAmIFBBUlNFTU9ERV9IQVZFX0RPQ1RZUEUpKSB7CiAgICAgICAgICAg
ICAvLyBObyBkb2N0eXBlIGZvdW5kIGF0IGFsbC4gIERlZmF1bHQgdG8gcXVpcmtzIG1vZGUgYW5k
IEh0bWw0LgogICAgICAgICAgICAgcE1vZGUgPSBDb21wYXQ7CkBAIC00MjksMTAgKzQzMSw0IEBA
IHZvaWQgSFRNTERvY3VtZW50OjpkZXRlcm1pbmVQYXJzZU1vZGUoIGMKICAKIH0KIAotRG9jdW1l
bnRUeXBlICpIVE1MRG9jdW1lbnQ6OmRvY3R5cGUoKSBjb25zdAotewotICAgIC8vIEFjY29yZGlu
ZyB0byBhIGNvbW1lbnQgaW4gZG9tX2RvYy5jcHAsIGRvY3R5cGUgaXMgbnVsbCBmb3IgSFRNTCBk
b2N1bWVudHMuCi0gICAgcmV0dXJuIDA7Ci19Ci0KIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1M
RG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmgJKHJl
dmlzaW9uIDE0MDcxKQorKysgV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC03NCw4ICs3NCw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQog
Ci0gICAgdmlydHVhbCBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsKLQogICAgIHR5cGVk
ZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgaW50PiBOYW1lQ291bnRNYXA7CiAKIHByb3RlY3RlZDoK
SW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAkocmV2aXNpb24gMTQwNzEpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogCiAgICAgLy8gRE9NIG1l
dGhvZHMgJiBhdHRyaWJ1dGVzIGZvciBEb2N1bWVudAogCi0gICAgdmlydHVhbCBEb2N1bWVudFR5
cGUqIGRvY3R5cGUoKSBjb25zdDsgLy8gcmV0dXJucyAwIGZvciBIVE1MIGRvY3VtZW50cworICAg
IHZpcnR1YWwgRG9jdW1lbnRUeXBlKiBkb2N0eXBlKCkgY29uc3Q7IC8vIE1heSByZXR1cm4gMCBm
b3IgSFRNTCBkb2N1bWVudHMKICAgICBEb2N1bWVudFR5cGUqIHJlYWxEb2NUeXBlKCkgY29uc3Qg
eyByZXR1cm4gbV9kb2NUeXBlLmdldCgpOyB9CiAKICAgICBET01JbXBsZW1lbnRhdGlvbiogaW1w
bGVtZW50YXRpb24oKSBjb25zdDsK
</data>
<flag name="review"
          id="2208"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8063</attachid>
            <date>2006-05-02 02:56:29 -0700</date>
            <delta_ts>2006-05-03 01:01:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>MyExcellentPatch.txt</filename>
            <type>text/plain</type>
            <size>4661</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0MDcxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtMDEtMDIgIE1hdHQgR291Z2ggIDxtYXR0
QHNvZnRjaGFvcy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZCisgICAgICAgIAor
ICAgICAgICA8aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04
NTYzPgorCisgICAgICAgIFRlc3RzIHRoYXQgdGhlIG5hbWUsIHB1YmxpY0lEIGFuZCBzeXN0ZW1J
RCBhcmUgYWxsIHJlYWQgY29ycmVjdGx5CisgICAgICAgIGFuZCB0aGF0IHRoZSBkb2N0eXBlIG9i
amVjdCBwcmVzZXJ2ZXMgdGhlIGNhc2Ugb2YgdGhlCisgICAgICAgIGNvbXBvbmVudHMgZnJvbSB0
aGUgc291cmNlIGh0bWw6CisgICAgICAgICogZmFzdC9kb2N0eXBlcy8wMDUtY2FzZS1pbnNlbnNp
dGl2aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9jdHlwZXMvMDA1LWNhc2UtaW5z
ZW5zaXRpdml0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDA2LTA0LTI1ICBKdXN0aW4gR2Fy
Y2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgaGFy
cmlzb24KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNDA3MSkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDcg
QEAgc3RhdGljIGJvb2wgY29udGFpbnNTdHJpbmcoY29uc3QgY2hhciogcwogCiBzdGF0aWMgYm9v
bCBwYXJzZURvY1R5cGVEZWNsYXJhdGlvbihjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBidWZmZXIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHJlc3VsdEZsYWdzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZFN0cmluZyYgbmFt
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcm
IHB1YmxpY0lELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRl
ZFN0cmluZyYgc3lzdGVtSUQpCiB7CkBAIC0yNzksNiArMjgwLDcgQEAgc3RhdGljIGJvb2wgcGFy
c2VEb2NUeXBlRGVjbGFyYXRpb24oY29ucwogICAgIGlmICghY29udGFpbnNTdHJpbmcoImh0bWwi
LCBidWZmZXIsIGluZGV4KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAorICAgIG5hbWUg
PSBidWZmZXIubWlkKGluZGV4LCA0KTsKICAgICBpbmRleCA9IHBhcnNlRG9jVHlwZVBhcnQoYnVm
ZmVyLCBpbmRleCs0KTsKICAgICBib29sIGhhc1B1YmxpYyA9IGNvbnRhaW5zU3RyaW5nKCJwdWJs
aWMiLCBidWZmZXIsIGluZGV4KTsKICAgICBpZiAoaGFzUHVibGljKSB7CkBAIC0zNjYsMTEgKzM2
OCwxMSBAQCB2b2lkIEhUTUxEb2N1bWVudDo6ZGV0ZXJtaW5lUGFyc2VNb2RlKCBjCiAgICAgLy8g
U1RSSUNUIC0gbm8gcXVpcmtzIGFwcGx5LiAgV2ViIHBhZ2VzIHdpbGwgb2JleSB0aGUgc3BlY2lm
aWNhdGlvbnMgdG8KICAgICAvLyB0aGUgbGV0dGVyLgogCi0gICAgRGVwcmVjYXRlZFN0cmluZyBz
eXN0ZW1JRCwgcHVibGljSUQ7CisgICAgRGVwcmVjYXRlZFN0cmluZyBuYW1lLCBzeXN0ZW1JRCwg
cHVibGljSUQ7CiAgICAgaW50IHJlc3VsdEZsYWdzID0gMDsKLSAgICBpZiAocGFyc2VEb2NUeXBl
RGVjbGFyYXRpb24oc3RyLCAmcmVzdWx0RmxhZ3MsIHB1YmxpY0lELCBzeXN0ZW1JRCkpIHsKKyAg
ICBpZiAocGFyc2VEb2NUeXBlRGVjbGFyYXRpb24oc3RyLCAmcmVzdWx0RmxhZ3MsIG5hbWUsIHB1
YmxpY0lELCBzeXN0ZW1JRCkpIHsKICAgICAgICAgaWYgKHJlc3VsdEZsYWdzICYgUEFSU0VNT0RF
X0hBVkVfRE9DVFlQRSkKLSAgICAgICAgICAgIHNldERvY1R5cGUobmV3IERvY3VtZW50VHlwZSh0
aGlzLCAiSFRNTCIsIHB1YmxpY0lELCBzeXN0ZW1JRCkpOworICAgICAgICAgICAgc2V0RG9jVHlw
ZShuZXcgRG9jdW1lbnRUeXBlKHRoaXMsIG5hbWUsIHB1YmxpY0lELCBzeXN0ZW1JRCkpOwogICAg
ICAgICBpZiAoIShyZXN1bHRGbGFncyAmIFBBUlNFTU9ERV9IQVZFX0RPQ1RZUEUpKSB7CiAgICAg
ICAgICAgICAvLyBObyBkb2N0eXBlIGZvdW5kIGF0IGFsbC4gIERlZmF1bHQgdG8gcXVpcmtzIG1v
ZGUgYW5kIEh0bWw0LgogICAgICAgICAgICAgcE1vZGUgPSBDb21wYXQ7CkBAIC00MjksMTAgKzQz
MSw0IEBAIHZvaWQgSFRNTERvY3VtZW50OjpkZXRlcm1pbmVQYXJzZU1vZGUoIGMKICAKIH0KIAot
RG9jdW1lbnRUeXBlICpIVE1MRG9jdW1lbnQ6OmRvY3R5cGUoKSBjb25zdAotewotICAgIC8vIEFj
Y29yZGluZyB0byBhIGNvbW1lbnQgaW4gZG9tX2RvYy5jcHAsIGRvY3R5cGUgaXMgbnVsbCBmb3Ig
SFRNTCBkb2N1bWVudHMuCi0gICAgcmV0dXJuIDA7Ci19Ci0KIH0KSW5kZXg6IFdlYkNvcmUvaHRt
bC9IVE1MRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50
LmgJKHJldmlzaW9uIDE0MDcxKQorKysgV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NCw4ICs3NCw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgdmlydHVhbCBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsKLQogICAg
IHR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgaW50PiBOYW1lQ291bnRNYXA7CiAKIHByb3Rl
Y3RlZDoKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTQwNzEpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogCiAgICAgLy8g
RE9NIG1ldGhvZHMgJiBhdHRyaWJ1dGVzIGZvciBEb2N1bWVudAogCi0gICAgdmlydHVhbCBEb2N1
bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsgLy8gcmV0dXJucyAwIGZvciBIVE1MIGRvY3VtZW50
cworICAgIHZpcnR1YWwgRG9jdW1lbnRUeXBlKiBkb2N0eXBlKCkgY29uc3Q7IC8vIE1heSByZXR1
cm4gMCBmb3IgSFRNTCBkb2N1bWVudHMKICAgICBEb2N1bWVudFR5cGUqIHJlYWxEb2NUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9kb2NUeXBlLmdldCgpOyB9CiAKICAgICBET01JbXBsZW1lbnRhdGlv
biogaW1wbGVtZW50YXRpb24oKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDE1NikKKysrIFdlYkNvcmUv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDYtMDUtMDIgIE1h
dHQgR291Z2ggIDxtYXR0QHNvZnRjaGFvcy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3No
b3dfYnVnLmNnaT9pZD04NTYzCisKKyAgICAgICAgVGhlIGRvY3R5cGUgb2JqZWN0IGluIHRoZSBE
T00gaXMgbm93IHVzYWJsZSBieSBjbGllbnQgY29kZQorICAgICAgICBhcyBvcHBvc2VkIHRvIGFs
d2F5cyBiZWluZyBleHBvc2VkIGFzIG5pbC4gTm93IGFsc28gZW5zdXJlcyB0aGF0CisgICAgICAg
IHRoZSAnbmFtZScgb2YgdGhlIGNvbXBvbmVudCBwcmVzZXJ2ZXMgdGhlIGNhc2Ugb2YgdGhlIG9y
aWdpbmFsIGh0bWwgc291cmNlLgorICAgICAgICAoaS5lIEh0TWwgLT4gSHRNbCBub3QgSFRNTCkK
KworICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICBDaGFuZ2VzIGNvbW1lbnQgYnkg
ZG9jVHlwZSgpIHRvIHNheSBpdCBtYXkgcmV0dXJuIDAgZm9yIGh0bWwKKyAgICAgICAgKiBodG1s
L0hUTUxEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZURvY1R5cGVEZWNsYXJh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQ6OmRldGVybWluZVBhcnNlTW9k
ZSk6CisgICAgICAgIFByZXNlcnZlcyB0aGUgY2FzZSBvZiB0aGUgbmFtZSBjb21wb25lbnQKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6ZG9jdHlwZSk6cmVtb3ZlZAorICAgICAgICAq
IGh0bWwvSFRNTERvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQ6OmRv
Y3R5cGUpOnJlbW92ZWQKKwogMjAwNi0wNS0wMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
bWFjLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZlIEh5YXR0Lgo=
</data>
<flag name="review"
          id="2235"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8064</attachid>
            <date>2006-05-02 02:57:55 -0700</date>
            <delta_ts>2006-05-03 01:01:59 -0700</delta_ts>
            <desc>Layout test</desc>
            <filename>005-case-preserving.html</filename>
            <type>text/html</type>
            <size>1785</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEh0TWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KPGh0
bWw+CjxoZWFkPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgogICAgPHRpdGxlPkRvY1R5cGUgQ2FzZSBJbnNlbnNp
dGl2aXR5PC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KPCEtLQoKaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKCmlmIChkb2N1
bWVudC5kb2N0eXBlKQogICAgewogICAgdmFyIG91dHB1dCA9IGRvY3VtZW50LmRvY3R5cGUubmFt
ZSArICIsICIgKyBkb2N1bWVudC5kb2N0eXBlLnB1YmxpY0lkICsgIiwgIiArIGRvY3VtZW50LmRv
Y3R5cGUuc3lzdGVtSWQ7CiAgICAgICAgICAgICAgICAKICAgIHZhciBleHBlY3RlZCA9ICJIdE1s
LCAtLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiwgaHR0cDovL3d3dy53My5v
cmcvVFIvaHRtbDQvbG9vc2UuZHRkIjsKICAgIAogICAgaWYgKG91dHB1dCA9PSBleHBlY3RlZCkK
ICAgICAgICB7CiAgICAgICAgZG9jdW1lbnQud3JpdGUoIjxzcGFuIHN0eWxlPSdjb2xvcjpncmVl
bic+Iik7CiAgICAgICAgZG9jdW1lbnQud3JpdGUoIlNVQ0NFU1MgLSBUaGlzIGRvY3VtZW50IGhh
cyBhIGRvY3R5cGUgYW5kIGVhY2ggY29tcG9uZW50IGhhcyB0aGUgY29ycmVjdCBjYXNlPGJyPjxi
cj4iKTsKICAgICAgICBkb2N1bWVudC53cml0ZSgibmFtZSA9ICIgKyBkb2N1bWVudC5kb2N0eXBl
Lm5hbWUgKyAiPGJyPiIpOwogICAgICAgIGRvY3VtZW50LndyaXRlKCJwdWJsaWNJZCA9ICIgKyBk
b2N1bWVudC5kb2N0eXBlLnB1YmxpY0lkICsgIjxicj4iKTsKICAgICAgICBkb2N1bWVudC53cml0
ZSgic3lzdGVtSWQgPSAiICsgZG9jdW1lbnQuZG9jdHlwZS5zeXN0ZW1JZCk7CiAgICAgICAgfQog
ICAgZWxzZQogICAgICAgIHsKICAgICAgICBkb2N1bWVudC53cml0ZSgiPHNwYW4gc3R5bGU9J2Nv
bG9yOnJlZCc+Iik7CiAgICAgICAgZG9jdW1lbnQud3JpdGUoIkZBSUxFRCAtIFRoaXMgZG9jdW1l
bnQgaGFzIGEgZG9jdHlwZSwgYnV0IG9uZSBvciBtb3JlIGNvbXBvbmVudHMgaGFzIHRoZSB3cm9u
ZyBjYXNlPGJyPjxicj4iKTsKICAgICAgICBkb2N1bWVudC53cml0ZSgibmFtZSA9ICIgKyBkb2N1
bWVudC5kb2N0eXBlLm5hbWUgKyAiIChzaG91bGQgYmUgSHRNbCkiICsgIjxicj4iKTsKICAgICAg
ICBkb2N1bWVudC53cml0ZSgicHVibGljSWQgPSAiICsgZG9jdW1lbnQuZG9jdHlwZS5wdWJsaWNJ
ZCArICIgKHNob3VsZCBiZSAtLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiki
ICsgIjxicj4iKTsKICAgICAgICBkb2N1bWVudC53cml0ZSgic3lzdGVtSWQgPSAiICsgZG9jdW1l
bnQuZG9jdHlwZS5zeXN0ZW1JZCArICIgKHNob3VsZCBiZSBodHRwOi8vd3d3LnczLm9yZy9UUi9o
dG1sNC9sb29zZS5kdGQpIik7CiAgICAgICAgfQogICAgfQplbHNlCiAgICB7CiAgICBkb2N1bWVu
dC53cml0ZSgiRkFJTEVEIC0gZG9jdHlwZSBpcyBudWxsIGV2ZW4gdGhvdWdoIHRoZXJlIGlzIGEg
Jmx0OyFET0NUWVBFIC4uLiZndDsgZGVjbGFyYXRpb24iKTsKICAgIH0KLy8tLT4KPC9zY3JpcHQ+
Cgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8065</attachid>
            <date>2006-05-02 02:58:29 -0700</date>
            <delta_ts>2006-05-03 01:01:59 -0700</delta_ts>
            <desc>Layout test expected result</desc>
            <filename>005-case-preserving-expected.txt</filename>
            <type>text/plain</type>
            <size>189</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">U1VDQ0VTUyAtIFRoaXMgZG9jdW1lbnQgaGFzIGEgZG9jdHlwZSBhbmQgZWFjaCBjb21wb25lbnQg
aGFzIHRoZSBjb3JyZWN0IGNhc2UKCm5hbWUgPSBIdE1sCnB1YmxpY0lkID0gLS8vVzNDLy9EVEQg
SFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4Kc3lzdGVtSWQgPSBodHRwOi8vd3d3LnczLm9yZy9U
Ui9odG1sNC9sb29zZS5kdGQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8090</attachid>
            <date>2006-05-03 01:01:59 -0700</date>
            <delta_ts>2006-05-03 11:17:35 -0700</delta_ts>
            <desc>Patch including test files</desc>
            <filename>FinalPatch.txt</filename>
            <type>text/plain</type>
            <size>7516</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0MTcwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDYtMDUtMDMgIE1hdHQgR291Z2ggIDxtYXR0
QHNvZnRjaGFvcy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgPGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODU2Mz4KKworICAgICAgICBUZXN0cyB0aGF0IHRoZSBuYW1lLCBwdWJsaWNJRCBhbmQgc3lzdGVt
SUQgYXJlIGFsbCByZWFkIGNvcnJlY3RseQorICAgICAgICBhbmQgdGhhdCB0aGUgZG9jdHlwZSBv
YmplY3QgcHJlc2VydmVzIHRoZSBjYXNlIG9mIHRoZQorICAgICAgICBjb21wb25lbnRzIGZyb20g
dGhlIHNvdXJjZSBodG1sOgorICAgICAgICAqIGZhc3QvZG9jdHlwZXMvMDA1LWNhc2UtaW5zZW5z
aXRpdml0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvY3R5cGVzLzAwNS1jYXNlLWlu
c2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKworPT09PT09PQogMjAwNi0wNS0wMiAg
SnVzdGluIEdhcmNpYSAgPGp1c3Rpbi5nYXJjaWFAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IGhhcnJpc29uCkBAIC0yODMsNiArMjk2LDcgQEAKICAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtY2hhaW4tZXhwZWN0ZWQudHh0OiBGaXggdXAgcHJvdG90eXBlIGNoYWluIG5vdwog
ICAgICAgICB0aGF0IE5vZGUgaXMgYXV0b2dlbmVyYXRlZC4KIAorPj4+Pj4+PiAucjE0MTcwCiAy
MDA2LTA0LTI1ICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgaGFycmlzb24KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9jdHlw
ZXMvMDA1LWNhc2UtcHJlc2VydmluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9jdHlwZXMvMDA1LWNhc2UtcHJlc2VydmluZy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9kb2N0eXBlcy8wMDUtY2FzZS1wcmVzZXJ2aW5nLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBIdE1sIFBVQkxJQyAiLS8vVzNDLy9EVEQg
SFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9U
Ui9odG1sNC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2
PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CisgICAg
PHRpdGxlPkRvY1R5cGUgQ2FzZSBJbnNlbnNpdGl2aXR5PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4K
KzwhLS0KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2lmIChkb2N1bWVudC5kb2N0eXBlKQorICAgIHsK
KyAgICB2YXIgb3V0cHV0ID0gZG9jdW1lbnQuZG9jdHlwZS5uYW1lICsgIiwgIiArIGRvY3VtZW50
LmRvY3R5cGUucHVibGljSWQgKyAiLCAiICsgZG9jdW1lbnQuZG9jdHlwZS5zeXN0ZW1JZDsKKyAg
ICAgICAgICAgICAgICAKKyAgICB2YXIgZXhwZWN0ZWQgPSAiSHRNbCwgLS8vVzNDLy9EVEQgSFRN
TCA0LjAxIFRyYW5zaXRpb25hbC8vRU4sIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3Nl
LmR0ZCI7CisgICAgCisgICAgaWYgKG91dHB1dCA9PSBleHBlY3RlZCkKKyAgICAgICAgeworICAg
ICAgICBkb2N1bWVudC53cml0ZSgiPHNwYW4gc3R5bGU9J2NvbG9yOmdyZWVuJz4iKTsKKyAgICAg
ICAgZG9jdW1lbnQud3JpdGUoIlNVQ0NFU1MgLSBUaGlzIGRvY3VtZW50IGhhcyBhIGRvY3R5cGUg
YW5kIGVhY2ggY29tcG9uZW50IGhhcyB0aGUgY29ycmVjdCBjYXNlPGJyPjxicj4iKTsKKyAgICAg
ICAgZG9jdW1lbnQud3JpdGUoIm5hbWUgPSAiICsgZG9jdW1lbnQuZG9jdHlwZS5uYW1lICsgIjxi
cj4iKTsKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoInB1YmxpY0lkID0gIiArIGRvY3VtZW50LmRv
Y3R5cGUucHVibGljSWQgKyAiPGJyPiIpOworICAgICAgICBkb2N1bWVudC53cml0ZSgic3lzdGVt
SWQgPSAiICsgZG9jdW1lbnQuZG9jdHlwZS5zeXN0ZW1JZCk7CisgICAgICAgIH0KKyAgICBlbHNl
CisgICAgICAgIHsKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoIjxzcGFuIHN0eWxlPSdjb2xvcjpy
ZWQnPiIpOworICAgICAgICBkb2N1bWVudC53cml0ZSgiRkFJTEVEIC0gVGhpcyBkb2N1bWVudCBo
YXMgYSBkb2N0eXBlLCBidXQgb25lIG9yIG1vcmUgY29tcG9uZW50cyBoYXMgdGhlIHdyb25nIGNh
c2U8YnI+PGJyPiIpOworICAgICAgICBkb2N1bWVudC53cml0ZSgibmFtZSA9ICIgKyBkb2N1bWVu
dC5kb2N0eXBlLm5hbWUgKyAiIChzaG91bGQgYmUgSHRNbCkiICsgIjxicj4iKTsKKyAgICAgICAg
ZG9jdW1lbnQud3JpdGUoInB1YmxpY0lkID0gIiArIGRvY3VtZW50LmRvY3R5cGUucHVibGljSWQg
KyAiIChzaG91bGQgYmUgLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4pIiAr
ICI8YnI+Iik7CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJzeXN0ZW1JZCA9ICIgKyBkb2N1bWVu
dC5kb2N0eXBlLnN5c3RlbUlkICsgIiAoc2hvdWxkIGJlIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0
bWw0L2xvb3NlLmR0ZCkiKTsKKyAgICAgICAgfQorICAgIH0KK2Vsc2UKKyAgICB7CisgICAgZG9j
dW1lbnQud3JpdGUoIkZBSUxFRCAtIGRvY3R5cGUgaXMgbnVsbCBldmVuIHRob3VnaCB0aGVyZSBp
cyBhICZsdDshRE9DVFlQRSAuLi4mZ3Q7IGRlY2xhcmF0aW9uIik7CisgICAgfQorLy8tLT4KKzwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvY3R5
cGVzLzAwNS1jYXNlLXByZXNlcnZpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9jdHlwZXMvMDA1LWNhc2UtcHJlc2VydmluZy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvY3R5cGVzLzAwNS1jYXNlLXByZXNlcnZp
bmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1NVQ0NFU1MgLSBU
aGlzIGRvY3VtZW50IGhhcyBhIGRvY3R5cGUgYW5kIGVhY2ggY29tcG9uZW50IGhhcyB0aGUgY29y
cmVjdCBjYXNlCisKK25hbWUgPSBIdE1sCitwdWJsaWNJZCA9IC0vL1czQy8vRFREIEhUTUwgNC4w
MSBUcmFuc2l0aW9uYWwvL0VOCitzeXN0ZW1JZCA9IGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0
L2xvb3NlLmR0ZApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0MDcxKQorKysg
V2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw2ICsy
NDQsNyBAQCBzdGF0aWMgYm9vbCBjb250YWluc1N0cmluZyhjb25zdCBjaGFyKiBzCiAKIHN0YXRp
YyBib29sIHBhcnNlRG9jVHlwZURlY2xhcmF0aW9uKGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcmIGJ1
ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogcmVzdWx0Rmxh
Z3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkU3RyaW5n
JiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZFN0
cmluZyYgcHVibGljSUQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBy
ZWNhdGVkU3RyaW5nJiBzeXN0ZW1JRCkKIHsKQEAgLTI3OSw2ICsyODAsNyBAQCBzdGF0aWMgYm9v
bCBwYXJzZURvY1R5cGVEZWNsYXJhdGlvbihjb25zCiAgICAgaWYgKCFjb250YWluc1N0cmluZygi
aHRtbCIsIGJ1ZmZlciwgaW5kZXgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCisgICAg
bmFtZSA9IGJ1ZmZlci5taWQoaW5kZXgsIDQpOwogICAgIGluZGV4ID0gcGFyc2VEb2NUeXBlUGFy
dChidWZmZXIsIGluZGV4KzQpOwogICAgIGJvb2wgaGFzUHVibGljID0gY29udGFpbnNTdHJpbmco
InB1YmxpYyIsIGJ1ZmZlciwgaW5kZXgpOwogICAgIGlmIChoYXNQdWJsaWMpIHsKQEAgLTM2Niwx
MSArMzY4LDExIEBAIHZvaWQgSFRNTERvY3VtZW50OjpkZXRlcm1pbmVQYXJzZU1vZGUoIGMKICAg
ICAvLyBTVFJJQ1QgLSBubyBxdWlya3MgYXBwbHkuICBXZWIgcGFnZXMgd2lsbCBvYmV5IHRoZSBz
cGVjaWZpY2F0aW9ucyB0bwogICAgIC8vIHRoZSBsZXR0ZXIuCiAKLSAgICBEZXByZWNhdGVkU3Ry
aW5nIHN5c3RlbUlELCBwdWJsaWNJRDsKKyAgICBEZXByZWNhdGVkU3RyaW5nIG5hbWUsIHN5c3Rl
bUlELCBwdWJsaWNJRDsKICAgICBpbnQgcmVzdWx0RmxhZ3MgPSAwOwotICAgIGlmIChwYXJzZURv
Y1R5cGVEZWNsYXJhdGlvbihzdHIsICZyZXN1bHRGbGFncywgcHVibGljSUQsIHN5c3RlbUlEKSkg
eworICAgIGlmIChwYXJzZURvY1R5cGVEZWNsYXJhdGlvbihzdHIsICZyZXN1bHRGbGFncywgbmFt
ZSwgcHVibGljSUQsIHN5c3RlbUlEKSkgewogICAgICAgICBpZiAocmVzdWx0RmxhZ3MgJiBQQVJT
RU1PREVfSEFWRV9ET0NUWVBFKQotICAgICAgICAgICAgc2V0RG9jVHlwZShuZXcgRG9jdW1lbnRU
eXBlKHRoaXMsICJIVE1MIiwgcHVibGljSUQsIHN5c3RlbUlEKSk7CisgICAgICAgICAgICBzZXRE
b2NUeXBlKG5ldyBEb2N1bWVudFR5cGUodGhpcywgbmFtZSwgcHVibGljSUQsIHN5c3RlbUlEKSk7
CiAgICAgICAgIGlmICghKHJlc3VsdEZsYWdzICYgUEFSU0VNT0RFX0hBVkVfRE9DVFlQRSkpIHsK
ICAgICAgICAgICAgIC8vIE5vIGRvY3R5cGUgZm91bmQgYXQgYWxsLiAgRGVmYXVsdCB0byBxdWly
a3MgbW9kZSBhbmQgSHRtbDQuCiAgICAgICAgICAgICBwTW9kZSA9IENvbXBhdDsKQEAgLTQyOSwx
MCArNDMxLDQgQEAgdm9pZCBIVE1MRG9jdW1lbnQ6OmRldGVybWluZVBhcnNlTW9kZSggYwogIAog
fQogCi1Eb2N1bWVudFR5cGUgKkhUTUxEb2N1bWVudDo6ZG9jdHlwZSgpIGNvbnN0Ci17Ci0gICAg
Ly8gQWNjb3JkaW5nIHRvIGEgY29tbWVudCBpbiBkb21fZG9jLmNwcCwgZG9jdHlwZSBpcyBudWxs
IGZvciBIVE1MIGRvY3VtZW50cy4KLSAgICByZXR1cm4gMDsKLX0KLQogfQpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxEb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRG9j
dW1lbnQuaAkocmV2aXNpb24gMTQwNzEpCisrKyBXZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc0LDggKzc0LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKLSAgICB2aXJ0dWFsIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0Owot
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZ0ltcGwqLCBpbnQ+IE5hbWVDb3VudE1hcDsKIAog
cHJvdGVjdGVkOgpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAxNDA3MSkKKysrIFdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAKICAg
ICAvLyBET00gbWV0aG9kcyAmIGF0dHJpYnV0ZXMgZm9yIERvY3VtZW50CiAKLSAgICB2aXJ0dWFs
IERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0OyAvLyByZXR1cm5zIDAgZm9yIEhUTUwgZG9j
dW1lbnRzCisgICAgdmlydHVhbCBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsgLy8gTWF5
IHJldHVybiAwIGZvciBIVE1MIGRvY3VtZW50cwogICAgIERvY3VtZW50VHlwZSogcmVhbERvY1R5
cGUoKSBjb25zdCB7IHJldHVybiBtX2RvY1R5cGUuZ2V0KCk7IH0KIAogICAgIERPTUltcGxlbWVu
dGF0aW9uKiBpbXBsZW1lbnRhdGlvbigpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTU2KQorKysgV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAwNi0wNS0w
MiAgTWF0dCBHb3VnaCAgPG1hdHRAc29mdGNoYW9zLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5v
cmcvc2hvd19idWcuY2dpP2lkPTg1NjMKKworICAgICAgICBUaGUgZG9jdHlwZSBvYmplY3QgaW4g
dGhlIERPTSBpcyBub3cgdXNhYmxlIGJ5IGNsaWVudCBjb2RlCisgICAgICAgIGFzIG9wcG9zZWQg
dG8gYWx3YXlzIGJlaW5nIGV4cG9zZWQgYXMgbmlsLiBOb3cgYWxzbyBlbnN1cmVzIHRoYXQKKyAg
ICAgICAgdGhlICduYW1lJyBvZiB0aGUgY29tcG9uZW50IHByZXNlcnZlcyB0aGUgY2FzZSBvZiB0
aGUgb3JpZ2luYWwgaHRtbCBzb3VyY2UuCisgICAgICAgIChpLmUgSHRNbCAtPiBIdE1sIG5vdCBI
VE1MKQorCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIENoYW5nZXMgY29tbWVu
dCBieSBkb2NUeXBlKCkgdG8gc2F5IGl0IG1heSByZXR1cm4gMCBmb3IgaHRtbAorICAgICAgICAq
IGh0bWwvSFRNTERvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlRG9jVHlwZURl
Y2xhcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6ZGV0ZXJtaW5lUGFy
c2VNb2RlKToKKyAgICAgICAgUHJlc2VydmVzIHRoZSBjYXNlIG9mIHRoZSBuYW1lIGNvbXBvbmVu
dAorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50Ojpkb2N0eXBlKTpyZW1vdmVkCisgICAg
ICAgICogaHRtbC9IVE1MRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVu
dDo6ZG9jdHlwZSk6cmVtb3ZlZAorCiAyMDA2LTA1LTAyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBtYWMuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmUgSHlhdHQuCg==
</data>
<flag name="review"
          id="2241"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>