<?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>15360</bug_id>
          
          <creation_ts>2007-10-03 08:06:57 -0700</creation_ts>
          <short_desc>Invalid color #{predefined colorName} is accepted by the CSS parser.</short_desc>
          <delta_ts>2011-04-07 00:46:58 -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>CSS</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://english.china.com/</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="Anantha Keesara">anantha</reporter>
          <assigned_to name="Andras Becsi">abecsi</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>gwilson</cc>
    
    <cc>kling</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>57726</commentid>
    <comment_count>0</comment_count>
    <who name="Anantha Keesara">anantha</who>
    <bug_when>2007-10-03 08:06:57 -0700</bug_when>
    <thetext>I .Steps:

1. Go to: http://english.china.com/
2. Click on &quot;Rainstorm in Southern China&quot; on left menu

II.Issue:

Notice under the highlights section that the link is in a different color

III. Other browsers:

IE, FF, Opera: ok
Safari: not ok

Attached is the reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57727</commentid>
    <comment_count>1</comment_count>
      <attachid>16521</attachid>
    <who name="Anantha Keesara">anantha</who>
    <bug_when>2007-10-03 08:07:50 -0700</bug_when>
    <thetext>Created attachment 16521
color:#{predefined colorName} is okay in Safari</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67191</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-14 00:25:14 -0800</bug_when>
    <thetext>I think this occurs because of these two things:

  | &apos;#&apos; maybe_space { $$.id = 0; $$.string = ParseString(); $$.unit = CSSPrimitiveValue::CSS_RGBCOLOR; } /* Handle error case: &quot;color: #;&quot; */

in CSSGrammar.y

And this, in CSSParser::parseColorFromValue:

    } else if (value-&gt;unit == CSSPrimitiveValue::CSS_RGBCOLOR ||
                value-&gt;unit == CSSPrimitiveValue::CSS_IDENT ||
                (!strict &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_DIMENSION)) {
        if (!CSSParser::parseColor(domString(value-&gt;string), c, strict &amp;&amp; value-&gt;unit == CSSPrimitiveValue::CSS_IDENT))
            return false;

CSSParser::parseColor is multi-use and doesn&apos;t know that the value being passed in is an RGBCOLOR instead of an IDENT.  Still should rather easy to fix with a little bit of thought.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88401</commentid>
    <comment_count>3</comment_count>
      <attachid>22774</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-08-13 09:01:04 -0700</bug_when>
    <thetext>Created attachment 22774
Potential patch for bug 15360

In the bison template CSSGrammar.y, &quot;hexcolor&quot; was defined as both &quot;HEX maybe_space&quot; OR &quot;IDENT maybe_space&quot;.  This caused identifiers not fitting the appropriate hex format, but preceeded by a &apos;#&apos;, to be interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just an ignorable token.

To correct this, &quot;IDENT maybe_space&quot; was removed from &quot;hexcolor&quot; and added under &quot;term&quot; as &quot;&apos;#&apos; IDENT maybe_space&quot;, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.  Thus, the value will still be processable in CSSParser in the future, but as a CSS_STRING and not a CSS_PARSER_HEXCOLOR or CSS_PARSER_IDENT.

&quot;IDENT maybe_space&quot; is already being matched earlier in &quot;term&quot;, and &quot;&apos;#&apos; maybe_space&quot; is matched after, so both edge cases are already being matched.

The expected value for the layout test is added under platform/win right now, but I&apos;d also like to be able to add the expected value for platform/mac next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88891</commentid>
    <comment_count>4</comment_count>
      <attachid>22774</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-08-19 21:59:24 -0700</bug_when>
    <thetext>Comment on attachment 22774
Potential patch for bug 15360

It should be possible to make the layout test result portable by changing the test to dumpAsText and using getComputedStyle to determine whether the link was styled as red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88951</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-08-20 15:17:37 -0700</bug_when>
    <thetext>Glenn, see my comment above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88960</commentid>
    <comment_count>6</comment_count>
      <attachid>22905</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-08-20 15:57:38 -0700</bug_when>
    <thetext>Created attachment 22905
Potential patch with x-platform layout test

Rookie mistake on my part :)  Thanks for the tip!

Here&apos;s the patch with a layout test that&apos;s much simpler, using &quot;dumpAsText&quot; and &quot;getComputedStyle&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89024</commentid>
    <comment_count>7</comment_count>
      <attachid>22925</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-08-21 14:49:29 -0700</bug_when>
    <thetext>Created attachment 22925
Potential fix to bug 15360 with no tabs

The previous patch had tabs in it, and the changelogs got omitted.  This patch should be correct (let me know if I missed any tabs in there...)

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89026</commentid>
    <comment_count>8</comment_count>
      <attachid>22925</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-21 16:18:52 -0700</bug_when>
    <thetext>Comment on attachment 22925
Potential fix to bug 15360 with no tabs

The change looks fine.  The test could still be &quot;better&quot;

&lt;p id=&quot;test&quot; style=&quot;color:#red&quot;&gt;FAIL - testing that #color is ignored as a color name, bug 15360&lt;/p&gt;
&lt;script&gt;
if (window.layoutTestController)
   layoutTestController.dumpAsText();
var test = document.getElementById(&quot;test&quot;);
if (window.getComputedStyle(test).color == &quot;rgb(0,0,0)&quot;) {
    test.innerText = &quot;PASS&quot;;
}
&lt;/script&gt;

would be more concise.  and shows only PASS/FAIL (to make it hopefully easier to understand at a glance.

Even better would be to use a .js test, but that&apos;s a bit trickier for your first patch (due to our lack of documentation on the subject, fast/js/resources has a bunch of examples, make-js-test-wrappers is the script which generates the .html files to run the .js tests from the TEMPLATE.html files).  We&apos;ll talk about .js tests some time over IRC. :)

This is fine to land as-is though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89028</commentid>
    <comment_count>9</comment_count>
      <attachid>22925</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-21 16:20:51 -0700</bug_when>
    <thetext>Comment on attachment 22925
Potential fix to bug 15360 with no tabs

I wonder though if there are any hex colors this could break?

Setting back to r=? for a second opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89120</commentid>
    <comment_count>10</comment_count>
      <attachid>22925</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-08-22 09:57:57 -0700</bug_when>
    <thetext>Comment on attachment 22925
Potential fix to bug 15360 with no tabs

I believe this change was originally made to match behavior in other browsers. They seem to interpret strings as hex even if they have non-hex characters in them.

Have you tested the behavior of IE and Firefox on these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89134</commentid>
    <comment_count>11</comment_count>
      <attachid>22943</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-08-22 11:02:26 -0700</bug_when>
    <thetext>Created attachment 22943
A color test html page

Here is a test page I cooked up which contains both valid and invalid colors in both hex and predefined values.

Testing on WinXP SP2, with IE7, FF3, and Safari, the only difference is that Safari interprets &quot;color:#red&quot; where the other browsers do not. 

Also, invalid hex does not seem to be interpreted in any browser.  That is, &quot;#FF00RR&quot;, &quot;FF00RR&quot;, &quot;FF0000RR&quot; and &quot;#FF0000RR&quot; are all ignored and the color remains the default color.    

Running the layout / reduction on WinXPSP2:
IE7:  style=&quot;color:#red;&quot; is ignored (Layout test text remains black)
FF3:  style=&quot;color:#red;&quot; is ignored (Layout test text remains black)
FF2:  style=&quot;color:#gray;&quot; is ignored (test reduction link not gray)
Safari: style=&quot;color:#red;&quot; is interpreted (Layout test text is red)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89211</commentid>
    <comment_count>12</comment_count>
      <attachid>22925</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-08-24 15:16:51 -0700</bug_when>
    <thetext>Comment on attachment 22925
Potential fix to bug 15360 with no tabs

r=me

By the way, at this point there&apos;s no need to have the hexcolor production.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89985</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-09-02 23:51:51 -0700</bug_when>
    <thetext>Landed in r36050.  Please try and avoid using tabs in new layout tests!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90209</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2008-09-04 16:27:57 -0700</bug_when>
    <thetext>Rolled out the patch in &lt;http://trac.webkit.org/changeset/36103&gt; because it broke svg/custom/invalid-fill-hex.svg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94319</commentid>
    <comment_count>15</comment_count>
      <attachid>22925</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-10-06 18:24:07 -0700</bug_when>
    <thetext>Comment on attachment 22925
Potential fix to bug 15360 with no tabs

Marking r- since this was rolled out.  (That removes it from our commit queue.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379729</commentid>
    <comment_count>16</comment_count>
      <attachid>88275</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-04-05 10:41:08 -0700</bug_when>
    <thetext>Created attachment 88275
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379918</commentid>
    <comment_count>17</comment_count>
      <attachid>88275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-05 15:47:11 -0700</bug_when>
    <thetext>Comment on attachment 88275
proposed patch

What kind of compatibility research have you done on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379919</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-05 15:47:43 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; What kind of compatibility research have you done on this?

Oh, I see that’s already answered a long time ago.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379923</commentid>
    <comment_count>19</comment_count>
      <attachid>88275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-05 15:49:20 -0700</bug_when>
    <thetext>Comment on attachment 88275
proposed patch

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

&gt; Source/WebCore/css/tokenizer.flex:50
&gt; +&quot;#&quot;{hexnum}             {yyTok = HEX; return yyTok;}
&gt;  &quot;#&quot;{ident}              {yyTok = IDSEL; return yyTok;}

Will this break the use of selectors that are also valid hex numbers by putting the HEX production first? For example, does #a still work as a selector?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380313</commentid>
    <comment_count>20</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-04-06 06:33:44 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 88275 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=88275&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/tokenizer.flex:50
&gt; &gt; +&quot;#&quot;{hexnum}             {yyTok = HEX; return yyTok;}
&gt; &gt;  &quot;#&quot;{ident}              {yyTok = IDSEL; return yyTok;}
&gt; 
&gt; Will this break the use of selectors that are also valid hex numbers by putting the HEX production first? For example, does #a still work as a selector?

This case is handled by the specifier production in CSSGrammar.y, which besides of IDSELs has a rule for HEX tokens, too. So the given example still works as a selector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380328</commentid>
    <comment_count>21</comment_count>
      <attachid>88275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-06 07:08:26 -0700</bug_when>
    <thetext>Comment on attachment 88275
proposed patch

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

It’s kind of wasteful that the CSS parser already knows it’s hex in the hexcolor case, but still does so much work to process other color formats. Not new, of course, but could be so much more efficient given the lexer has already told us it&apos;s a hex number.

&gt; Source/WebCore/css/tokenizer.flex:49
&gt; +&quot;#&quot;{hexnum}             {yyTok = HEX; return yyTok;}

I think {h}+ would read just as well as {hexnum} if not better, so I don’t think we really need hexnum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380330</commentid>
    <comment_count>22</comment_count>
      <attachid>88275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-06 07:09:51 -0700</bug_when>
    <thetext>Comment on attachment 88275
proposed patch

I am concerned that this changes error behaves. After all, we have a production that explicitly allows &quot;#&quot; with no digits after it as part of handling an error case. So I wonder if error case handling is changed now because some kinds of strings that begin with &quot;#&quot; can&apos;t even be parsed any more. While I don’t fully understand error handling in the parser and lexer, I suspect this does change error handling behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380336</commentid>
    <comment_count>23</comment_count>
      <attachid>88275</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-04-06 07:14:52 -0700</bug_when>
    <thetext>Comment on attachment 88275
proposed patch

Thanks Darin for the quick review. Setting cq- to rename {hexnum} to {h}+, and landing it by hand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380342</commentid>
    <comment_count>24</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-04-06 07:20:08 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 88275 [details])
&gt; I am concerned that this changes error behaves. After all, we have a production that explicitly allows &quot;#&quot; with no digits after it as part of handling an error case. So I wonder if error case handling is changed now because some kinds of strings that begin with &quot;#&quot; can&apos;t even be parsed any more. While I don’t fully understand error handling in the parser and lexer, I suspect this does change error handling behavior.

I&apos;ll watch the bots when landing. SVG depends heavily on the CSS parser&apos;s error handling so when there are regressions, this should show up on bots. At least on the Qt env I did not see any regressions, but of course Qt doesn&apos;t have full coverage yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380380</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-06 08:10:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83046 might have broken WinCE Release (Build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381165</commentid>
    <comment_count>26</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-04-07 00:44:47 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; http://trac.webkit.org/changeset/83046 might have broken WinCE Release (Build)

False alarm, this was caused by an svn exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381167</commentid>
    <comment_count>27</comment_count>
      <attachid>88275</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-04-07 00:45:54 -0700</bug_when>
    <thetext>Comment on attachment 88275
proposed patch

Landed in http://trac.webkit.org/changeset/83046.

Clearing flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381169</commentid>
    <comment_count>28</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-04-07 00:46:58 -0700</bug_when>
    <thetext>All reviewed patches landed, closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16521</attachid>
            <date>2007-10-03 08:07:50 -0700</date>
            <delta_ts>2011-04-05 10:41:08 -0700</delta_ts>
            <desc>color:#{predefined colorName} is okay in Safari</desc>
            <filename>test1.html</filename>
            <type>text/html</type>
            <size>179</size>
            <attacher name="Anantha Keesara">anantha</attacher>
            
              <data encoding="base64">CjxodG1sPg0KPGJvZHk+DQo8ZGl2ID4JDQogIDxiPlRlc3Q6IDwvYj48YnI+DQogIDxhIGhyZWY9
IiIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiNncmF5OyI+ICBUaGlzIHRleHQg
c2hvdWxkIG5vIGRpc3BsYXkgaW4gZ3JheSBjb2xvci4gPC9hPg0KPC9kaXY+DQoNCjwvYm9keT4N
CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22774</attachid>
            <date>2008-08-13 09:01:04 -0700</date>
            <delta_ts>2008-08-20 15:57:38 -0700</delta_ts>
            <desc>Potential patch for bug 15360</desc>
            <filename>patch15360.txt</filename>
            <type>text/plain</type>
            <size>4462</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTcxOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDgtMDgtMTMgIEdsZW5uIFdpbHNvbiAgPHdpbHNvbmdAZ21haWwu
Y29tPgorCisgICAgICAgIEZpeGVkIGJ1ZyAjMTUzNjAuICBUaGlzIGJ1ZyB3b3VsZCBpbmFwcHJv
cHJpYXRlbHkgaW50ZXJwcmV0IGFuZCBhcHBseSBhbiBpbnZhbGlkIENTUyAiY29sb3IiCisgICAg
ICAgIGF0dHJpYnV0ZSB3aGVuIHRoZSB2YWx1ZSBpcyBhIHByZWRlZmluZWQgY29sb3IgcHJlY2Vl
ZGVkIGJ5IGEgJyMnIHN5bWJvbC4KKworICAgICAgICBGb3IgZXhhbXBsZSwgc3R5bGU9ImNvbG9y
OiNncmF5OyIgd2FzIGFwcGx5aW5nIHRoZSBjb2xvciB3aGVuIGl0IHNob3VsZG4ndCBiZSBhcHBs
aWVkLgorCisgICAgICAgIEluIHRoZSBiaXNvbiB0ZW1wbGF0ZSwgImhleGNvbG9yIiB3YXMgZGVm
aW5lZCBhcyBib3RoICJIRVggbWF5YmVfc3BhY2UiIE9SICJJREVOVCBtYXliZV9zcGFjZSIuCisg
ICAgICAgIFRoaXMgY2F1c2VkIGlkZW50aWZpZXJzIG5vdCBmaXR0aW5nIHRoZSBhcHByb3ByaWF0
ZSBoZXggZm9ybWF0LCBidXQgcHJlY2VlZGVkIGJ5IGEgJyMnLCB0byBiZSAKKyAgICAgICAgaW50
ZXJwcmV0ZWQgYXMgYSB2YWxpZCBjb2xvciAoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJf
SEVYQ09MT1IpLCB3aGVuIGl0IHdhcyByZWFsbHkganVzdAorICAgICAgICBhbiBpZ25vcmFibGUg
dG9rZW4uCisKKyAgICAgICAgVG8gY29ycmVjdCB0aGlzLCAiSURFTlQgbWF5YmVfc3BhY2UiIHdh
cyByZW1vdmVkIGZyb20gImhleGNvbG9yIiBhbmQgYWRkZWQgdW5kZXIgInRlcm0iIGFzCisgICAg
ICAgICcjJyBJREVOVCBtYXliZV9zcGFjZSwgd2hpY2ggaXMgdGhlbiBwcm9jZXNzZWQgYXMgYSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORyBpbnN0ZWFkIG9mCisgICAgICAgIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0hFWENPTE9SLgorCisgICAgICAgIFRlc3Q6IGNzczEvY29s
b3JfYW5kX2JhY2tncm91bmQvaW52YWxpZF9jb2xvci5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NT
R3JhbW1hci55OgorCiAyMDA4LTA4LTEzICBTaW1vbiBIYXVzbWFubiAgPGhhdXNtYW5uQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyLgpJbmRleDogV2ViQ29yZS9jc3Mv
Q1NTR3JhbW1hci55Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQkocmV2
aXNpb24gMzU3MTgpCisrKyBXZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkJKHdvcmtpbmcgY29weSkK
QEAgLTEzMjgsNiArMTMyOCw3IEBAIHRlcm06CiAgIHwgVVJJIG1heWJlX3NwYWNlIHsgJCQuaWQg
PSAwOyAkJC5zdHJpbmcgPSAkMTsgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVVJJ
OyB9CiAgIHwgVU5JQ09ERVJBTkdFIG1heWJlX3NwYWNlIHsgJCQuaWQgPSAwOyAkJC5zdHJpbmcg
PSAkMTsgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5JQ09ERV9SQU5HRSB9CiAg
IHwgaGV4Y29sb3IgeyAkJC5pZCA9IDA7ICQkLnN0cmluZyA9ICQxOyAkJC51bml0ID0gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSEVYQ09MT1I7IH0KKyAgfCAnIycgSURFTlQgbWF5YmVf
c3BhY2UgeyAkJC5pZCA9IDA7ICQkLnN0cmluZyA9ICQyOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19TVFJJTkc7IH0gLyogSGFuZGxlIGVycm9yIGNhc2U6ICJjb2xvcjoje3ByZWRl
ZmluZWQgY29sb3IgbmFtZX07IiAqLwogICB8ICcjJyBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsg
JCQuc3RyaW5nID0gQ1NTUGFyc2VyU3RyaW5nKCk7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BBUlNFUl9IRVhDT0xPUjsgfSAvKiBIYW5kbGUgZXJyb3IgY2FzZTogImNvbG9yOiAj
OyIgKi8KICAgLyogRklYTUU6IGFjY29yZGluZyB0byB0aGUgc3BlY3MgYSBmdW5jdGlvbiBjYW4g
aGF2ZSBhIHVuYXJ5X29wZXJhdG9yIGluIGZyb250LiBJIGtub3cgbm8gY2FzZSB3aGVyZSB0aGlz
IG1ha2VzIHNlbnNlICovCiAgIHwgZnVuY3Rpb24gewpAQCAtMTQwNiwxMCArMTQwNyw4IEBAIGZ1
bmN0aW9uOgogICovCiBoZXhjb2xvcjoKICAgSEVYIG1heWJlX3NwYWNlIHsgJCQgPSAkMTsgfQot
ICB8IElEU0VMIG1heWJlX3NwYWNlIHsgJCQgPSAkMTsgfQogICA7CiAKLQogLyogZXJyb3IgaGFu
ZGxpbmcgcnVsZXMgKi8KIAogc2F2ZV9ibG9jazoKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM1NzE4KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMDgtMDgtMTMgIEdsZW5uIFdpbHNvbiAgPHdpbHNvbmdAZ21haWwuY29tPgorCisgICAgICAg
IEFkZGVkIG5ldyB0ZXN0IHRvIHZlcmlmeSB0aGF0IENTUyAiY29sb3IiIGF0dHJpYnV0ZXMgd2l0
aCAnIyctcHJlY2VlZGVkIHByZWRlZmluZWQgY29sb3IgbmFtZXMKKyAgICAgICAgYXJlIG5vdCBy
ZW5kZXJlZCBpbiB0aG9zZSBjb2xvcnMuICAoQnVnICMxNTM2MCkKKworICAgICAgICAqIGNzczEv
Y29sb3JfYW5kX2JhY2tncm91bmQvaW52YWxpZF9jb2xvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vY3NzMTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL2NzczEv
Y29sb3JfYW5kX2JhY2tncm91bmQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9jc3Mx
L2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KwogMjAwOC0wOC0xMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZpbmcgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWFkeXN0YXRlY2hhbmdl
Lmh0bWwgZnJvbSBXaW5kb3dzIHNraXBwZWQgbGlzdCAtCkluZGV4OiBMYXlvdXRUZXN0cy9jc3Mx
L2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3IuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3IuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvaW52
YWxpZF9jb2xvci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKKzxIVE1MPgorPEJP
RFk+Cis8YSBocmVmPSIjIiBzdHlsZT0iY29sb3I6I3JlZDsiPlRoaXMgbGluayBzaG91bGQgbm90
IGJlIHJlZC48L2E+Cis8L0JPRFk+Cis8L0hUTUw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2NzczEvY29sb3JfYW5kX2JhY2tncm91
bmQvaW52YWxpZF9jb2xvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvaW52YWxpZF9jb2xvci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vY3NzMS9j
b2xvcl9hbmRfYmFja2dyb3VuZC9pbnZhbGlkX2NvbG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW5saW5lIHtBfSBh
dCAoMCwwKSBzaXplIDE3M3gyMCBbY29sb3I9IzAwMDBFRV0KKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTczeDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTczOiAiVGhpcyBsaW5rIHNob3VsZCBub3QgYmUgcmVkLiIKKyAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22905</attachid>
            <date>2008-08-20 15:57:38 -0700</date>
            <delta_ts>2008-08-21 14:49:29 -0700</delta_ts>
            <desc>Potential patch with x-platform layout test</desc>
            <filename>patch15360-2.txt</filename>
            <type>text/plain</type>
            <size>2520</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQ0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUv
Y3NzL0NTU0dyYW1tYXIueQkocmV2aXNpb24gMzU4NTkpDQorKysgV2ViQ29yZS9jc3MvQ1NTR3Jh
bW1hci55CSh3b3JraW5nIGNvcHkpDQpAQCAtMTMyOCw2ICsxMzI4LDcgQEAgdGVybToNCiAgIHwg
VVJJIG1heWJlX3NwYWNlIHsgJCQuaWQgPSAwOyAkJC5zdHJpbmcgPSAkMTsgJCQudW5pdCA9IENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfVVJJOyB9DQogICB8IFVOSUNPREVSQU5HRSBtYXliZV9zcGFj
ZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5nID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1VOSUNPREVfUkFOR0UgfQ0KICAgfCBoZXhjb2xvciB7ICQkLmlkID0gMDsgJCQuc3Ry
aW5nID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xP
UjsgfQ0KKyAgfCAnIycgSURFTlQgbWF5YmVfc3BhY2UgeyAkJC5pZCA9IDA7ICQkLnN0cmluZyA9
ICQyOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkc7IH0gLyogSGFuZGxl
IGVycm9yIGNhc2U6ICJjb2xvcjoje3ByZWRlZmluZWQgY29sb3IgbmFtZX07IiAqLw0KICAgfCAn
IycgbWF5YmVfc3BhY2UgeyAkJC5pZCA9IDA7ICQkLnN0cmluZyA9IENTU1BhcnNlclN0cmluZygp
OyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSEVYQ09MT1I7IH0gLyog
SGFuZGxlIGVycm9yIGNhc2U6ICJjb2xvcjogIzsiICovDQogICAvKiBGSVhNRTogYWNjb3JkaW5n
IHRvIHRoZSBzcGVjcyBhIGZ1bmN0aW9uIGNhbiBoYXZlIGEgdW5hcnlfb3BlcmF0b3IgaW4gZnJv
bnQuIEkga25vdyBubyBjYXNlIHdoZXJlIHRoaXMgbWFrZXMgc2Vuc2UgKi8NCiAgIHwgZnVuY3Rp
b24gew0KQEAgLTE0MDYsMTAgKzE0MDcsOCBAQCBmdW5jdGlvbjoNCiAgKi8NCiBoZXhjb2xvcjoN
CiAgIEhFWCBtYXliZV9zcGFjZSB7ICQkID0gJDE7IH0NCi0gIHwgSURTRUwgbWF5YmVfc3BhY2Ug
eyAkJCA9ICQxOyB9DQogICA7DQogDQotDQogLyogZXJyb3IgaGFuZGxpbmcgcnVsZXMgKi8NCiAN
CiBzYXZlX2Jsb2NrOg0KSW5kZXg6IExheW91dFRlc3RzL2NzczEvY29sb3JfYW5kX2JhY2tncm91
bmQvaW52YWxpZF9jb2xvci1leHBlY3RlZC50eHQNCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0
cy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3ItZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvaW52
YWxpZF9jb2xvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDIgQEANCitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCAiY29sb3IiIHN0eWxlIGF0dHJpYnV0ZXMgd2l0aCBhIHBy
ZWNlZWRpbmcgJyMnIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgcHJlZGVmaW5lZCBjb2xvcnMuIFRo
aXMgdGV4dCBzaG91bGQgbm90IGJlIHJlZC4NCityZ2IoMCwgMCwgMCkNCkluZGV4OiBMYXlvdXRU
ZXN0cy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3IuaHRtbA0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KLS0tIExheW91dFRlc3RzL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvaW52YWxpZF9j
b2xvci5odG1sCShyZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczEvY29sb3JfYW5kX2Jh
Y2tncm91bmQvaW52YWxpZF9jb2xvci5odG1sCShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSwxNiBA
QA0KKzxIVE1MPg0KKzxTQ1JJUFQ+DQoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikN
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwkNCis8L1NDUklQVD4NCis8
Qk9EWT4NCis8ZGl2IGlkPSJpbnZhbGlkX2NvbG9yX2RpdiIgc3R5bGU9ImNvbG9yOiNyZWQ7Ij5U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCAiY29sb3IiIHN0eWxlIGF0dHJpYnV0ZXMgd2l0aCBhIHBy
ZWNlZWRpbmcgJyMnIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgcHJlZGVmaW5lZCBjb2xvcnMuICBU
aGlzIHRleHQgc2hvdWxkIG5vdCBiZSByZWQuPC9hPg0KKw0KKzxkaXYgaWQ9ImNvbnNvbGUiIHN0
eWxlPSJjb2xvcjpyZWQiPg0KKwk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNl
dD0idXRmLTgiPg0KKwkJZG9jdW1lbnQud3JpdGUod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImludmFsaWRfY29sb3JfZGl2IikpLmNvbG9yKTsNCisJPC9z
Y3JpcHQ+DQorPC9kaXY+DQorDQorPC9CT0RZPg0KKzwvSFRNTD4NClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQ0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22925</attachid>
            <date>2008-08-21 14:49:29 -0700</date>
            <delta_ts>2011-04-05 10:41:08 -0700</delta_ts>
            <desc>Potential fix to bug 15360 with no tabs</desc>
            <filename>patch15360-2.txt</filename>
            <type>text/plain</type>
            <size>4646</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDM1NzE4KQ0KKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
DQpAQCAtMSwzICsxLDIzIEBADQorMjAwOC0wOC0xMyAgR2xlbm4gV2lsc29uICA8d2lsc29uZ0Bn
bWFpbC5jb20+DQorDQorICAgICAgICBGaXhlZCBidWcgIzE1MzYwLiAgVGhpcyBidWcgd291bGQg
aW5hcHByb3ByaWF0ZWx5IGludGVycHJldCBhbmQgYXBwbHkgYW4gaW52YWxpZCBDU1MgImNvbG9y
Ig0KKyAgICAgICAgYXR0cmlidXRlIHdoZW4gdGhlIHZhbHVlIGlzIGEgcHJlZGVmaW5lZCBjb2xv
ciBwcmVjZWVkZWQgYnkgYSAnIycgc3ltYm9sLg0KKw0KKyAgICAgICAgRm9yIGV4YW1wbGUsIHN0
eWxlPSJjb2xvcjojZ3JheTsiIHdhcyBhcHBseWluZyB0aGUgY29sb3Igd2hlbiBpdCBzaG91bGRu
J3QgYmUgYXBwbGllZC4NCisNCisgICAgICAgIEluIHRoZSBiaXNvbiB0ZW1wbGF0ZSwgImhleGNv
bG9yIiB3YXMgZGVmaW5lZCBhcyBib3RoICJIRVggbWF5YmVfc3BhY2UiIE9SICJJREVOVCBtYXli
ZV9zcGFjZSIuDQorICAgICAgICBUaGlzIGNhdXNlZCBpZGVudGlmaWVycyBub3QgZml0dGluZyB0
aGUgYXBwcm9wcmlhdGUgaGV4IGZvcm1hdCwgYnV0IHByZWNlZWRlZCBieSBhICcjJywgdG8gYmUg
DQorICAgICAgICBpbnRlcnByZXRlZCBhcyBhIHZhbGlkIGNvbG9yIChDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BBUlNFUl9IRVhDT0xPUiksIHdoZW4gaXQgd2FzIHJlYWxseSBqdXN0DQorICAgICAg
ICBhbiBpZ25vcmFibGUgdG9rZW4uDQorDQorICAgICAgICBUbyBjb3JyZWN0IHRoaXMsICJJREVO
VCBtYXliZV9zcGFjZSIgd2FzIHJlbW92ZWQgZnJvbSAiaGV4Y29sb3IiIGFuZCBhZGRlZCB1bmRl
ciAidGVybSIgYXMNCisgICAgICAgICcjJyBJREVOVCBtYXliZV9zcGFjZSwgd2hpY2ggaXMgdGhl
biBwcm9jZXNzZWQgYXMgYSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORyBpbnN0ZWFkIG9m
DQorICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xPUi4NCisNCisg
ICAgICAgIFRlc3Q6IGNzczEvY29sb3JfYW5kX2JhY2tncm91bmQvaW52YWxpZF9jb2xvci5odG1s
DQorDQorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6DQorDQogMjAwOC0wOC0xMyAgU2ltb24g
SGF1c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPg0KIA0KICAgICAgICAgUmV2aWV3ZWQgYnkg
SG9sZ2VyLg0KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQ0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFdlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQkocmV2aXNpb24gMzU4NTkpDQorKysgV2ViQ29yZS9j
c3MvQ1NTR3JhbW1hci55CSh3b3JraW5nIGNvcHkpDQpAQCAtMTMyOCw2ICsxMzI4LDcgQEAgdGVy
bToNCiAgIHwgVVJJIG1heWJlX3NwYWNlIHsgJCQuaWQgPSAwOyAkJC5zdHJpbmcgPSAkMTsgJCQu
dW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVVJJOyB9DQogICB8IFVOSUNPREVSQU5HRSBt
YXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5nID0gJDE7ICQkLnVuaXQgPSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1VOSUNPREVfUkFOR0UgfQ0KICAgfCBoZXhjb2xvciB7ICQkLmlkID0g
MDsgJCQuc3RyaW5nID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNF
Ul9IRVhDT0xPUjsgfQ0KKyAgfCAnIycgSURFTlQgbWF5YmVfc3BhY2UgeyAkJC5pZCA9IDA7ICQk
LnN0cmluZyA9ICQyOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkc7IH0g
LyogSGFuZGxlIGVycm9yIGNhc2U6ICJjb2xvcjoje3ByZWRlZmluZWQgY29sb3IgbmFtZX07IiAq
Lw0KICAgfCAnIycgbWF5YmVfc3BhY2UgeyAkJC5pZCA9IDA7ICQkLnN0cmluZyA9IENTU1BhcnNl
clN0cmluZygpOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSEVYQ09M
T1I7IH0gLyogSGFuZGxlIGVycm9yIGNhc2U6ICJjb2xvcjogIzsiICovDQogICAvKiBGSVhNRTog
YWNjb3JkaW5nIHRvIHRoZSBzcGVjcyBhIGZ1bmN0aW9uIGNhbiBoYXZlIGEgdW5hcnlfb3BlcmF0
b3IgaW4gZnJvbnQuIEkga25vdyBubyBjYXNlIHdoZXJlIHRoaXMgbWFrZXMgc2Vuc2UgKi8NCiAg
IHwgZnVuY3Rpb24gew0KQEAgLTE0MDYsMTAgKzE0MDcsOCBAQCBmdW5jdGlvbjoNCiAgKi8NCiBo
ZXhjb2xvcjoNCiAgIEhFWCBtYXliZV9zcGFjZSB7ICQkID0gJDE7IH0NCi0gIHwgSURTRUwgbWF5
YmVfc3BhY2UgeyAkJCA9ICQxOyB9DQogICA7DQogDQotDQogLyogZXJyb3IgaGFuZGxpbmcgcnVs
ZXMgKi8NCiANCiBzYXZlX2Jsb2NrOg0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzU3MTgpDQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDEzIEBADQor
MjAwOC0wOC0xMyAgR2xlbm4gV2lsc29uICA8d2lsc29uZ0BnbWFpbC5jb20+DQorDQorICAgICAg
ICBBZGRlZCBuZXcgdGVzdCB0byB2ZXJpZnkgdGhhdCBDU1MgImNvbG9yIiBhdHRyaWJ1dGVzIHdp
dGggJyMnLXByZWNlZWRlZCBwcmVkZWZpbmVkIGNvbG9yIG5hbWVzDQorICAgICAgICBhcmUgbm90
IHJlbmRlcmVkIGluIHRob3NlIGNvbG9ycy4gIChCdWcgIzE1MzYwKQ0KKw0KKyAgICAgICAgKiBj
c3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3IuaHRtbDogQWRkZWQuDQorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9jc3MxOiBBZGRlZC4NCisgICAgICAgICogcGxhdGZvcm0vd2lu
L2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQ6IEFkZGVkLg0KKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vY3NzMS9jb2xvcl9hbmRfYmFja2dyb3VuZC9pbnZhbGlkX2NvbG9yLWV4cGVjdGVkLnR4dDog
QWRkZWQuDQorDQogMjAwOC0wOC0xMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQHdlYmtpdC5v
cmc+DQogDQogICAgICAgICBSZW1vdmluZyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlYWR5
c3RhdGVjaGFuZ2UuaHRtbCBmcm9tIFdpbmRvd3Mgc2tpcHBlZCBsaXN0IC0NCkluZGV4OiBMYXlv
dXRUZXN0cy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3ItZXhwZWN0ZWQu
dHh0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMS9jb2xvcl9hbmRfYmFja2dyb3Vu
ZC9pbnZhbGlkX2NvbG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0
cy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3ItZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSwyIEBADQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgImNv
bG9yIiBzdHlsZSBhdHRyaWJ1dGVzIHdpdGggYSBwcmVjZWVkaW5nICcjJyBhcmUgbm90IGludGVy
cHJldGVkIGFzIHByZWRlZmluZWQgY29sb3JzLiBUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSByZWQu
DQorcmdiKDAsIDAsIDApDQpJbmRleDogTGF5b3V0VGVzdHMvY3NzMS9jb2xvcl9hbmRfYmFja2dy
b3VuZC9pbnZhbGlkX2NvbG9yLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3Mx
L2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3IuaHRtbAkocmV2aXNpb24gMCkNCisr
KyBMYXlvdXRUZXN0cy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2ludmFsaWRfY29sb3IuaHRt
bAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMTYgQEANCis8SFRNTD4NCis8U0NSSVBUPg0KK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsJDQorPC9TQ1JJUFQ+DQorPEJPRFk+DQorPGRpdiBpZD0iaW52YWxpZF9j
b2xvcl9kaXYiIHN0eWxlPSJjb2xvcjojcmVkOyI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgImNv
bG9yIiBzdHlsZSBhdHRyaWJ1dGVzIHdpdGggYSBwcmVjZWVkaW5nICcjJyBhcmUgbm90IGludGVy
cHJldGVkIGFzIHByZWRlZmluZWQgY29sb3JzLiAgVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgcmVk
LjwvYT4NCisNCis8ZGl2IGlkPSJjb25zb2xlIiBzdHlsZT0iY29sb3I6cmVkIj4NCisgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4NCisgICAgICAgIGRv
Y3VtZW50LndyaXRlKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJpbnZhbGlkX2NvbG9yX2RpdiIpKS5jb2xvcik7DQorICAgIDwvc2NyaXB0Pg0KKzwvZGl2
Pg0KKw0KKzwvQk9EWT4NCis8L0hUTUw+DQorDQo=
</data>
<flag name="review"
          id="10198"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>22943</attachid>
            <date>2008-08-22 11:02:26 -0700</date>
            <delta_ts>2011-04-05 10:41:08 -0700</delta_ts>
            <desc>A color test html page</desc>
            <filename>color_test.html</filename>
            <type>text/html</type>
            <size>688</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8Ym9keT4NCjxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij5UaGlzIHN0eWxlIGlzICJj
b2xvcjogcmVkIjwvZGl2Pg0KPGRpdiBzdHlsZT0iY29sb3I6ICNyZWQ7Ij5UaGlzIHN0eWxlIGlz
ICJjb2xvcjogI3JlZCI8L2Rpdj4NCjxkaXYgc3R5bGU9ImNvbG9yOiBGRjAwMDA7Ij5UaGlzIHN0
eWxlIGlzICJjb2xvcjogRkYwMDAwIjwvZGl2Pg0KPGRpdiBzdHlsZT0iY29sb3I6ICNGRjAwMDA7
Ij5UaGlzIHN0eWxlIGlzICJjb2xvcjogI0ZGMDAwMCI8L2Rpdj4NCjxkaXYgc3R5bGU9ImNvbG9y
OiBGRjAwUlI7Ij5UaGlzIHN0eWxlIGlzICJjb2xvcjogRkYwMFJSIjwvZGl2Pg0KPGRpdiBzdHls
ZT0iY29sb3I6ICNGRjAwUlI7Ij5UaGlzIHN0eWxlIGlzICJjb2xvcjogI0ZGMDBSUiI8L2Rpdj4N
CjxkaXYgc3R5bGU9ImNvbG9yOiBxcnN0dXY7Ij5UaGlzIHN0eWxlIGlzICJjb2xvcjogcXJzdHV2
IjwvZGl2Pg0KPGRpdiBzdHlsZT0iY29sb3I6ICNxcnN0dXY7Ij5UaGlzIHN0eWxlIGlzICJjb2xv
cjogI3Fyc3R1diI8L2Rpdj4NCjxkaXYgc3R5bGU9ImNvbG9yOiBGRjAwMDBSUjsiPlRoaXMgc3R5
bGUgaXMgImNvbG9yOiBGRjAwMDBSUiI8L2Rpdj4NCjxkaXYgc3R5bGU9ImNvbG9yOiAjRkYwMDAw
UlI7Ij5UaGlzIHN0eWxlIGlzICJjb2xvcjogI0ZGMDAwMFJSIjwvZGl2Pg0KPC9ib2R5Pg0KPC9o
dG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88275</attachid>
            <date>2011-04-05 10:41:08 -0700</date>
            <delta_ts>2011-04-07 00:45:54 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>hexcolor.diff</filename>
            <type>text/plain</type>
            <size>8480</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYjkwNTdlLi4wYzRiMzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQt
MDUgIEFuZHJhcyBCZWNzaSAgPGFiZWNzaUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludmFsaWQgY29sb3IgI3twcmVkZWZpbmVk
IGNvbG9yTmFtZX0gaXMgYWNjZXB0ZWQgYnkgdGhlIENTUyBwYXJzZXIuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2MAorCisgICAgICAgICogZWRp
dGluZy9leGVjQ29tbWFuZC8xNjA0OS5odG1sOiBDb3JyZWN0IHRlc3RjYXNlIHdoaWNoIHJlbGll
cyBvbiBwYXJzaW5nIGFuIGludmFsaWQgY29sb3IgdmFsdWUgYXMgdmFsaWQuCisgICAgICAgICog
ZmFzdC9jc3MvaW52YWxpZC1wcmVkZWZpbmVkLWNvbG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jc3MvaW52YWxpZC1wcmVkZWZpbmVkLWNvbG9yLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvY3NzL3NjcmlwdC10ZXN0cy9pbnZhbGlkLXByZWRlZmluZWQtY29sb3Iu
anM6IEFkZGVkLgorCiAyMDExLTA0LTA1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIG9uZm9ybWNoYW5nZSBhbmQgb25mb3JtaW5wdXQgZXZl
bnRzL2V2ZW50IGhhbmRsZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kLzE2MDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kLzE2MDQ5
Lmh0bWwKaW5kZXggM2RhNGY0MC4uMDBjOWVjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9leGVjQ29tbWFuZC8xNjA0OS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhl
Y0NvbW1hbmQvMTYwNDkuaHRtbApAQCAtMTAsMTIgKzEwLDEyIEBAIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCiAKIGVkaXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQx
Iik7CiBlZGl0MS5mb2N1cygpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkJhY2tDb2xvciIsIGZh
bHNlLCAiI2JsdWUiKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJCYWNrQ29sb3IiLCBmYWxzZSwg
IiMwMEYiKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICJCbHVl
Iik7CiAKIGVkaXQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQyIik7CiBlZGl0Mi5m
b2N1cygpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkZvcmVDb2xvciIsIGZhbHNlLCAiI2JsdWUi
KTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJGb3JlQ29sb3IiLCBmYWxzZSwgIiMwMEYiKTsKIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICJCbGFjayIpOwogCiBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvaW52YWxpZC1wcmVkZWZpbmVkLWNvbG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2ludmFsaWQtcHJlZGVmaW5lZC1jb2xvci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFiZGQzMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2ludmFsaWQtcHJlZGVmaW5lZC1jb2xvci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyOCBAQAorVGhpcyB0ZXN0IGNoZWNrcyBoZXhhZGVjaW1hbCBjb2xvciBwYXJz
aW5nLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGRpdiwgbnVsbCkuY29sb3IgaXMgcmVkCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZGl2LCBu
dWxsKS5jb2xvciBpcyByZWQKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkaXYsIG51bGwpLmNvbG9y
IGlzIHJlZAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdiwgbnVsbCkuY29sb3IgaXMgcmVkCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZGl2LCBudWxsKS5jb2xvciBpcyByZWQKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShkaXYsIG51bGwpLmNvbG9yIGlzIGJsYWNrCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZGl2LCBudWxsKS5jb2xvciBpcyBibGFjaworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRpdiwg
bnVsbCkuY29sb3IgaXMgYmxhY2sKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkaXYsIG51bGwpLmNv
bG9yIGlzIGJsYWNrCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZGl2LCBudWxsKS5jb2xvciBpcyBi
bGFjaworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitU
aGlzIHN0eWxlIGlzICJjb2xvcjogcmVkIgorVGhpcyBzdHlsZSBpcyAiY29sb3I6IEZGMDAwMCIK
K1RoaXMgc3R5bGUgaXMgImNvbG9yOiAjRkYwMDAwIgorVGhpcyBzdHlsZSBpcyAiY29sb3I6IEYw
MCIKK1RoaXMgc3R5bGUgaXMgImNvbG9yOiAjRjAwIgorVGhpcyBzdHlsZSBpcyAiY29sb3I6ICNy
ZWQiCitUaGlzIHN0eWxlIGlzICJjb2xvcjogI3llbGxvdyIKK1RoaXMgc3R5bGUgaXMgImNvbG9y
OiAjZ3JlZW4iCitUaGlzIHN0eWxlIGlzICJjb2xvcjogI0ZGQUFMTCIKK1RoaXMgc3R5bGUgaXMg
ImNvbG9yOiAjRkYwMDAwMDAiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9pbnZh
bGlkLXByZWRlZmluZWQtY29sb3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ludmFsaWQt
cHJlZGVmaW5lZC1jb2xvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjJmYmExM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9pbnZhbGlk
LXByZWRlZmluZWQtY29sb3IuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBzdHlsZT0iY29sb3I6IGJsYWNrIj4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxkaXYgaWQ9InZhbGlkMSIgc3R5bGU9
ImNvbG9yOiByZWQiPlRoaXMgc3R5bGUgaXMgImNvbG9yOiByZWQiPC9kaXY+Cis8ZGl2IGlkPSJ2
YWxpZDIiIHN0eWxlPSJjb2xvcjogRkYwMDAwIj5UaGlzIHN0eWxlIGlzICJjb2xvcjogRkYwMDAw
IjwvZGl2PgorPGRpdiBpZD0idmFsaWQzIiBzdHlsZT0iY29sb3I6ICNGRjAwMDAiPlRoaXMgc3R5
bGUgaXMgImNvbG9yOiAjRkYwMDAwIjwvZGl2PgorPGRpdiBpZD0idmFsaWQ0IiBzdHlsZT0iY29s
b3I6IEYwMCI+VGhpcyBzdHlsZSBpcyAiY29sb3I6IEYwMCI8L2Rpdj4KKzxkaXYgaWQ9InZhbGlk
NSIgc3R5bGU9ImNvbG9yOiAjRjAwIj5UaGlzIHN0eWxlIGlzICJjb2xvcjogI0YwMCI8L2Rpdj4K
KzxkaXYgaWQ9ImludmFsaWQxIiBzdHlsZT0iY29sb3I6ICNyZWQiPlRoaXMgc3R5bGUgaXMgImNv
bG9yOiAjcmVkIjwvZGl2PgorPGRpdiBpZD0iaW52YWxpZDIiIHN0eWxlPSJjb2xvcjogI3llbGxv
dyI+VGhpcyBzdHlsZSBpcyAiY29sb3I6ICN5ZWxsb3ciPC9kaXY+Cis8ZGl2IGlkPSJpbnZhbGlk
MyIgc3R5bGU9ImNvbG9yOiAjZ3JlZW4iPlRoaXMgc3R5bGUgaXMgImNvbG9yOiAjZ3JlZW4iPC9k
aXY+Cis8ZGl2IGlkPSJpbnZhbGlkNCIgc3R5bGU9ImNvbG9yOiAjRkZBQUxMIj5UaGlzIHN0eWxl
IGlzICJjb2xvcjogI0ZGQUFMTCI8L2Rpdj4KKzxkaXYgaWQ9ImludmFsaWQ1IiBzdHlsZT0iY29s
b3I6ICNGRjAwMDAwMCI+VGhpcyBzdHlsZSBpcyAiY29sb3I6ICNGRjAwMDAwMCI8L2Rpdj4KKwor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9pbnZhbGlkLXByZWRlZmluZWQtY29sb3IuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zY3JpcHQtdGVzdHMvaW52YWxpZC1wcmVkZWZpbmVkLWNvbG9yLmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc2NyaXB0LXRlc3RzL2ludmFsaWQtcHJlZGVmaW5lZC1jb2xvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGU2NGU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2NyaXB0LXRlc3RzL2ludmFsaWQtcHJlZGVmaW5lZC1j
b2xvci5qcwpAQCAtMCwwICsxLDIwIEBACitkZXNjcmlwdGlvbigKKyJUaGlzIHRlc3QgY2hlY2tz
IGhleGFkZWNpbWFsIGNvbG9yIHBhcnNpbmcuIgorKTsKKwordmFyIHJlZCA9ICJyZ2IoMjU1LCAw
LCAwKSI7Cit2YXIgYmxhY2sgPSAicmdiKDAsIDAsIDApIjsKKworZm9yICh2YXIgaT0xO2k8PTU7
aSsrKQoreworICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmFsaWQiK2kp
OworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGRpdiwgbnVsbCkuY29sb3IiLCAicmVk
Iik7Cit9CisKK2ZvciAodmFyIGk9MTtpPD01O2krKykKK3sKKyAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImludmFsaWQiK2kpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRl
ZFN0eWxlKGRpdiwgbnVsbCkuY29sb3IiLCAiYmxhY2siKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZkY2U0My4uZWZiYzU0YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTA0LTA1ICBBbmRyYXMgQmVjc2kgIDxhYmVjc2lAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbnZhbGlkIGNvbG9yICN7cHJlZGVmaW5lZCBjb2xvck5hbWV9IGlzIGFjY2VwdGVkIGJ5IHRo
ZSBDU1MgcGFyc2VyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTUzNjAKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9pbnZhbGlkLXByZWRlZmluZWQt
Y29sb3IuaHRtbAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueTogUmVtb3ZlIHN1cGVyZmx1
b3VzIGhleGNvbG9yIHByb2R1Y3Rpb24uCisgICAgICAgICogY3NzL3Rva2VuaXplci5mbGV4OiBB
IGhleGFkZWNpbWFsIG51bWJlciBzaG91bGQgY29uc2lzdCBvZiBbYS1mQS1GMC05XSB2YWx1ZXMg
KHtofSkuCisKIDIwMTEtMDQtMDUgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55IGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYW1tYXIueQppbmRleCAzMzRmZTFkLi5iM2NjY2RiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFt
bWFyLnkKQEAgLTk5LDcgKzk5LDcgQEAgc3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2
YWwsIHZvaWQqIHBhcnNlcikKIAogJX0KIAotJWV4cGVjdCA1MQorJWV4cGVjdCA1MAogCiAlbm9u
YXNzb2MgTE9XRVNUX1BSRUMKIApAQCAtMjIyLDcgKzIyMiw2IEBAIHN0YXRpYyBpbnQgY3NzeXls
ZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAldHlwZSA8c3RyaW5nPiBzdHJpbmdf
b3JfdXJpCiAldHlwZSA8c3RyaW5nPiBpZGVudF9vcl9zdHJpbmcKICV0eXBlIDxzdHJpbmc+IG1l
ZGl1bQotJXR5cGUgPHN0cmluZz4gaGV4Y29sb3IKICV0eXBlIDxtYXJnaW5Cb3g+IG1hcmdpbl9z
eW0KIAogJXR5cGUgPHN0cmluZz4gbWVkaWFfZmVhdHVyZQpAQCAtMTQwMiw3ICsxNDAxLDcgQEAg
dGVybToKICAgfCB1bmFyeV9vcGVyYXRvciBESU1FTiBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsg
JCQuc3RyaW5nID0gJDI7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0RJTUVOU0lP
TjsgfQogICB8IFVSSSBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5nID0gJDE7ICQk
LnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSTsgfQogICB8IFVOSUNPREVSQU5HRSBt
YXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5nID0gJDE7ICQkLnVuaXQgPSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1VOSUNPREVfUkFOR0U7IH0KLSAgfCBoZXhjb2xvciB7ICQkLmlkID0g
MDsgJCQuc3RyaW5nID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNF
Ul9IRVhDT0xPUjsgfQorICB8IEhFWCBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5n
ID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xPUjsg
fQogICB8ICcjJyBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5nID0gQ1NTUGFyc2Vy
U3RyaW5nKCk7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xP
UjsgfSAvKiBIYW5kbGUgZXJyb3IgY2FzZTogImNvbG9yOiAjOyIgKi8KICAgLyogRklYTUU6IGFj
Y29yZGluZyB0byB0aGUgc3BlY3MgYSBmdW5jdGlvbiBjYW4gaGF2ZSBhIHVuYXJ5X29wZXJhdG9y
IGluIGZyb250LiBJIGtub3cgbm8gY2FzZSB3aGVyZSB0aGlzIG1ha2VzIHNlbnNlICovCiAgIHwg
ZnVuY3Rpb24gewpAQCAtMTQ2NCwxNiArMTQ2Myw2IEBAIGZ1bmN0aW9uOgogICAgICAgICAkJC5m
dW5jdGlvbiA9IGY7CiAgIH0KICAgOwotLyoKLSAqIFRoZXJlIGlzIGEgY29uc3RyYWludCBvbiB0
aGUgY29sb3IgdGhhdCBpdCBtdXN0Ci0gKiBoYXZlIGVpdGhlciAzIG9yIDYgaGV4LWRpZ2l0cyAo
aS5lLiwgWzAtOWEtZkEtRl0pCi0gKiBhZnRlciB0aGUgIiMiOyBlLmcuLCAiIzAwMCIgaXMgT0ss
IGJ1dCAiI2FiY2QiIGlzIG5vdC4KLSAqLwotaGV4Y29sb3I6Ci0gIEhFWCBtYXliZV9zcGFjZSB7
ICQkID0gJDE7IH0KLSAgfCBJRFNFTCBtYXliZV9zcGFjZSB7ICQkID0gJDE7IH0KLSAgOwotCiAK
IC8qIGVycm9yIGhhbmRsaW5nIHJ1bGVzICovCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90b2tlbml6ZXIuZmxleCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90b2tlbml6ZXIuZmxleApp
bmRleCAwYzAxYmJiLi4xYTQ4M2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdG9r
ZW5pemVyLmZsZXgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3Rva2VuaXplci5mbGV4CkBAIC0x
NSw3ICsxNSw3IEBAIHN0cmluZzEgICAgICAgICBcIihbXHQgISMkJSYoLX5dfFxce25sfXxcJ3x7
bm9uYXNjaWl9fHtlc2NhcGV9KSpcIgogc3RyaW5nMiAgICAgICAgIFwnKFtcdCAhIyQlJigtfl18
XFx7bmx9fFwifHtub25hc2NpaX18e2VzY2FwZX0pKlwnCiAKIGlkZW50ICAgICAgICAgICAtP3tu
bXN0YXJ0fXtubWNoYXJ9KgotbmFtZSAgICAgICAgICAgIHtubWNoYXJ9KworaGV4bnVtICAgICAg
ICAgIHtofSsKIG51bSAgICAgICAgICAgICBbMC05XSt8WzAtOV0qIi4iWzAtOV0rCiBpbnRudW0g
ICAgICAgICAgWzAtOV0rCiBzdHJpbmcgICAgICAgICAge3N0cmluZzF9fHtzdHJpbmcyfQpAQCAt
NDYsOCArNDYsOCBAQCBudGggICAgICAgICAgICAgW1wrLV0/e2ludG51bX0qbihbXHRcclxuIF0q
W1wrLV1bXHRcclxuIF0qe2ludG51bX0pPwoge2lkZW50fSAgICAgICAgICAgICAgICAge3l5VG9r
ID0gSURFTlQ7IHJldHVybiB5eVRvazt9CiB7bnRofSAgICAgICAgICAgICAgICAgICB7eXlUb2sg
PSBOVEg7IHJldHVybiB5eVRvazt9CiAKKyIjIntoZXhudW19ICAgICAgICAgICAgIHt5eVRvayA9
IEhFWDsgcmV0dXJuIHl5VG9rO30KICIjIntpZGVudH0gICAgICAgICAgICAgIHt5eVRvayA9IElE
U0VMOyByZXR1cm4geXlUb2s7fQotIiMie25hbWV9ICAgICAgICAgICAgICAge3l5VG9rID0gSEVY
OyByZXR1cm4geXlUb2s7fQogCiAiQGltcG9ydCIgICAgICAgICAgICAgICB7QkVHSU4obWVkaWFx
dWVyeSk7IHl5VG9rID0gSU1QT1JUX1NZTTsgcmV0dXJuIHl5VG9rO30KICJAcGFnZSIgICAgICAg
ICAgICAgICAgIHt5eVRvayA9IFBBR0VfU1lNOyByZXR1cm4geXlUb2s7fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>