<?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>37686</bug_id>
          
          <creation_ts>2010-04-15 17:08:38 -0700</creation_ts>
          <short_desc>Canvas strokeRect strokes rectangle whose dimensions are 0 when lineWidth &gt; 1</short_desc>
          <delta_ts>2010-04-28 00:48:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>krit</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>213122</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-15 17:08:38 -0700</bug_when>
    <thetext>Currently, strokeRect will stroke a rectangle whose dimensions are 0 when lineWidth &gt; 1.

As per the definition of strokeRect in the HTML Canvas 2D Context spec. &lt;http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect&gt;, this method should have no effect when both the height and width of the rectangle are zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213187</commentid>
    <comment_count>1</comment_count>
      <attachid>53506</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-15 20:18:03 -0700</bug_when>
    <thetext>Created attachment 53506
Patch with test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213206</commentid>
    <comment_count>2</comment_count>
      <attachid>53506</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-15 23:49:22 -0700</bug_when>
    <thetext>Comment on attachment 53506
Patch with test case

I think it would be better to make validateRectForCanvas do the check as that gets the validation in a single place that is used uniformly -- is there any place this might have a bad impact?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213217</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-16 00:16:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 53506 [details])
&gt; I think it would be better to make validateRectForCanvas do the check as that
&gt; gets the validation in a single place that is used uniformly -- is there any
&gt; place this might have a bad impact?

I agree, it is better to place this check in validateRectForCanvas. There should not be any negative impact as this is an invalid state for clearRect, and fillRect as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213218</commentid>
    <comment_count>4</comment_count>
      <attachid>53520</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-16 00:17:33 -0700</bug_when>
    <thetext>Created attachment 53520
Patch with test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213219</commentid>
    <comment_count>5</comment_count>
      <attachid>53520</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-16 00:23:15 -0700</bug_when>
    <thetext>Comment on attachment 53520
Patch with test case

Will add some more test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213232</commentid>
    <comment_count>6</comment_count>
      <attachid>53524</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-16 01:07:57 -0700</bug_when>
    <thetext>Created attachment 53524
Patch with test cases

Added additional test cases for fillRect, clearRect, and rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216526</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-23 13:04:34 -0700</bug_when>
    <thetext>I think the change and the tests are ok. What do you think Oliver?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216536</commentid>
    <comment_count>8</comment_count>
      <attachid>53524</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-23 13:18:27 -0700</bug_when>
    <thetext>Comment on attachment 53524
Patch with test cases

Daniel can you just verify behaviour if you have a shadow set?  eg. should the shadow draw around a 0x0 rect (i know physically it shouldn&apos;t i just want to verify firefox compat)

If the shadow behaviour is consistent the patch is good

--Oliver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216892</commentid>
    <comment_count>9</comment_count>
      <attachid>54255</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-25 22:50:30 -0700</bug_when>
    <thetext>Created attachment 54255
Example strokeRect of 0x0 rect with lineWidth &gt; 1 and shadow

(In reply to comment #8)
&gt; (From update of attachment 53524 [details])
&gt; Daniel can you just verify behaviour if you have a shadow set?  eg. should the
&gt; shadow draw around a 0x0 rect (i know physically it shouldn&apos;t i just want to
&gt; verify firefox compat)

Oliver,

Firefox (3.6.3) does not draw a shadow around a 0x0 rect. I&apos;ve attached one such test case.

Dan

&gt; 
&gt; If the shadow behaviour is consistent the patch is good
&gt; 
&gt; --Oliver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216897</commentid>
    <comment_count>10</comment_count>
      <attachid>54256</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-25 22:58:14 -0700</bug_when>
    <thetext>Created attachment 54256
Patch with test cases

Added a test case for strokeRect of 0x0 rect with lineWidth &gt; 1 and shadow. Also, rebased results LayoutTests/fast/canvas/canvas-strokeRect-expected.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216912</commentid>
    <comment_count>11</comment_count>
      <attachid>54256</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-25 23:41:04 -0700</bug_when>
    <thetext>Comment on attachment 54256
Patch with test cases

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218211</commentid>
    <comment_count>12</comment_count>
      <attachid>54256</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-27 22:42:58 -0700</bug_when>
    <thetext>Comment on attachment 54256
Patch with test cases

Clearing flags on attachment: 54256

Committed r58381: &lt;http://trac.webkit.org/changeset/58381&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218212</commentid>
    <comment_count>13</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-27 22:43:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218217</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-27 23:12:42 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/58381 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218218</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-27 23:18:04 -0700</bug_when>
    <thetext>The failure looks real:
http://build.webkit.org/results/Qt%20Linux%20Release/r58381%20(10853)/fast/repaint/selection-gap-overflow-scroll-2-diffs.txt

Not sure if it&apos;s related to this bug or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218220</commentid>
    <comment_count>16</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-27 23:20:47 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; http://trac.webkit.org/changeset/58381 might have broken Qt Linux Release

The failing test, /fast/repaint/selection-gap-overflow-scroll-2.html, is unrelated to this change. Looking at the differences &lt;http://build.webkit.org/results/Qt%20Linux%20Release/r58381%20(10853)/fast/repaint/selection-gap-overflow-scroll-2-pretty-diff.html&gt; they seem to differ by 1-pixel.

For completeness, the stdio from the Qt bot is at: &lt;http://build.webkit.org/builders/Qt%20Linux%20Release/builds/10853/steps/layout-test/logs/stdio&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218232</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-04-28 00:21:45 -0700</bug_when>
    <thetext>(In reply to comment #16)
I made a clean build, and nothing changed. This test needs only a rebaseline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218244</commentid>
    <comment_count>18</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-28 00:48:40 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; I made a clean build, and nothing changed. This test needs only a rebaseline.

Committed rebased result in change set 58388 &lt;http://trac.webkit.org/changeset/58388&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53506</attachid>
            <date>2010-04-15 20:18:03 -0700</date>
            <delta_ts>2010-04-16 00:17:33 -0700</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug37686.patch</filename>
            <type>text/plain</type>
            <size>3671</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzY4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDQtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4NgorCisgICAgICAgIEZpeGVz
IGFuIGlzc3VlIHdoZXJlIHRoZSBjYW52YXMgbWV0aG9kIHN0cm9rZVJlY3Qgd2lsbCBzdHJva2Ug
YQorICAgICAgICByZWN0YW5nbGUgd2hvc2UgZGltZW5zaW9ucyBhcmUgMCB3aGVuIGxpbmVXaWR0
aCA+IDEuCisKKyAgICAgICAgQXMgcGVyIHRoZSBkZWZpbml0aW9uIG9mIHN0cm9rZVJlY3QgaW4g
dGhlIEhUTUwgQ2FudmFzIDJEIENvbnRleHQKKyAgICAgICAgc3BlYy4gPGh0dHA6Ly93d3cudzMu
b3JnL1RSLzJkY29udGV4dC8jZG9tLWNvbnRleHQtMmQtc3Ryb2tlcmVjdD4sCisgICAgICAgIHRo
aXMgbWV0aG9kIHNob3VsZCBoYXZlIG5vIGVmZmVjdCB3aGVuIGJvdGggdGhlIGhlaWdodCBhbmQg
d2lkdGgKKyAgICAgICAgYXJlIHplcm8uCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpzdHJva2VSZWN0KTogUmV0dXJuIGlmIGhlaWdodCwgd2lkdGggPT0gMC4KKwog
MjAxMC0wNC0xNSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhw
b3NlIFVzZXJDb250ZW50VVJMUGF0dGVybiBhcyBXZWJLaXQgU1BJCkluZGV4OiBXZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA1
NzY4MCkKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzU0LDYgKzc1NCwxMCBAQCB2b2lkIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6c3Ryb2tlUmVjCiB7CiAgICAgaWYgKCF2YWxpZGF0ZVJlY3RGb3JDYW52YXMo
eCwgeSwgd2lkdGgsIGhlaWdodCkpCiAgICAgICAgIHJldHVybjsKKworICAgIGlmICghd2lkdGgg
JiYgIWhlaWdodCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgc3Ryb2tlUmVjdCh4LCB5LCB3aWR0
aCwgaGVpZ2h0LCBzdGF0ZSgpLm1fbGluZVdpZHRoKTsKIH0KIApAQCAtNzYxLDcgKzc2NSwxMCBA
QCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c3Ryb2tlUmVjCiB7CiAgICAgaWYgKCF2
YWxpZGF0ZVJlY3RGb3JDYW52YXMoeCwgeSwgd2lkdGgsIGhlaWdodCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKKworICAgIGlmICghd2lkdGggJiYgIWhlaWdodCkKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgaWYgKCEobGluZVdpZHRoID49IDApKQogICAgICAgICByZXR1cm47CiAKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDU3NjgzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDQtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0u
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4NgorCisgICAgICAgIFRl
c3RzIHRoYXQgc3Ryb2tlUmVjdCBkb2VzIG5vdCBwYWludCBhbnkgYXJ0aWZhY3RzIHdoZW4gdGhl
CisgICAgICAgIHNwZWNpZmllZCByZWN0YW5nbGUgaGFzIGhlaWdodCwgd2lkdGggPSAwIGFuZCBs
aW5lV2lkdGggPiAxLgorCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLXN0cm9rZVJlY3Qt
ZXhwZWN0ZWQudHh0OiBVcGRhdGVkIHJlc3VsdHMuCisgICAgICAgICogZmFzdC9jYW52YXMvc2Ny
aXB0LXRlc3RzL2NhbnZhcy1zdHJva2VSZWN0LmpzOiBBZGRlZCB0ZXN0IGNhc2UuCisKIDIwMTAt
MDQtMTUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXN0cm9rZVJl
Y3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2Nh
bnZhcy1zdHJva2VSZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTc2ODApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtc3Ryb2tlUmVjdC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEyLDYgKzEyLDkgQEAgUEFTUyBpbWdkYXRhWzZdIGlzIDAKIFBBU1MgaW1nZGF0
YVs0XSBpcyAwCiBQQVNTIGltZ2RhdGFbNV0gaXMgMTI4CiBQQVNTIGltZ2RhdGFbNl0gaXMgMAor
UEFTUyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFb
Ml0gaXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXN0cm9r
ZVJlY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRl
c3RzL2NhbnZhcy1zdHJva2VSZWN0LmpzCShyZXZpc2lvbiA1NzY4MCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc3Ryb2tlUmVjdC5qcwkod29ya2luZyBj
b3B5KQpAQCAtNDYsNCArNDYsMTYgQEAgc2hvdWxkQmUoImltZ2RhdGFbNF0iLCAiMCIpOwogc2hv
dWxkQmUoImltZ2RhdGFbNV0iLCAiMTI4Iik7CiBzaG91bGRCZSgiaW1nZGF0YVs2XSIsICIwIik7
CiAKK2N0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCAxMDApOworCisvLyBzdHJva2UgcmVjdCB3aXRo
IGhlaWdodCA9IHdpZHRoID0gMCBhbmQgbGluZVdpZHRoID0gMi4KK2N0eC5zdHJva2VTdHlsZSA9
ICdyZWQnOworY3R4LmxpbmVXaWR0aCA9IDI7CitjdHguc3Ryb2tlUmVjdCgwLCAwLCAwLCAwKTsK
K2ltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7CitpbWdkYXRhID0gaW1h
Z2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIwIik7CitzaG91bGRCZSgiaW1n
ZGF0YVsxXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7CisKIHZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="37273"
          type_id="1"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53520</attachid>
            <date>2010-04-16 00:17:33 -0700</date>
            <delta_ts>2010-04-16 01:07:57 -0700</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug37686_1.patch</filename>
            <type>text/plain</type>
            <size>3478</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzcxNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDQtMTYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4NgorCisgICAgICAgIEZpeGVz
IGFuIGlzc3VlIHdoZXJlIHRoZSBjYW52YXMgbWV0aG9kIHN0cm9rZVJlY3Qgd2lsbCBzdHJva2Ug
YQorICAgICAgICByZWN0YW5nbGUgd2hvc2UgZGltZW5zaW9ucyBhcmUgMCB3aGVuIGxpbmVXaWR0
aCA+IDEuCisKKyAgICAgICAgQXMgcGVyIHRoZSBkZWZpbml0aW9uIG9mIHN0cm9rZVJlY3QgaW4g
dGhlIEhUTUwgQ2FudmFzIDJEIENvbnRleHQKKyAgICAgICAgc3BlYy4gPGh0dHA6Ly93d3cudzMu
b3JnL1RSLzJkY29udGV4dC8jZG9tLWNvbnRleHQtMmQtc3Ryb2tlcmVjdD4sCisgICAgICAgIHRo
aXMgbWV0aG9kIHNob3VsZCBoYXZlIG5vIGVmZmVjdCB3aGVuIGJvdGggdGhlIGhlaWdodCBhbmQg
d2lkdGgKKyAgICAgICAgYXJlIHplcm8uCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGVSZWN0Rm9y
Q2FudmFzKTogUmV0dXJuIGlmIGhlaWdodCwgd2lkdGggPT0gMC4KKwogMjAxMC0wNC0xNSAgTWF0
dCBQZXJyeSAgPG1wY29tcGxldGVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA1NzUwMSkKKysrIFdlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjE1LDcg
KzYxNSwxMCBAQCBzdGF0aWMgYm9vbCB2YWxpZGF0ZVJlY3RGb3JDYW52YXMoZmxvYXQmCiB7CiAg
ICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0ZSh3aWR0aCkgfCAh
aXNmaW5pdGUoaGVpZ2h0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAorCisgICAgaWYg
KCF3aWR0aCAmJiAhaGVpZ2h0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAod2lk
dGggPCAwKSB7CiAgICAgICAgIHdpZHRoID0gLXdpZHRoOwogICAgICAgICB4IC09IHdpZHRoOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gNTc3MTYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNC0xNiAgRGFuaWVsIEJhdGVzICA8ZGJh
dGVzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3Njg2CisKKyAg
ICAgICAgVGVzdHMgdGhhdCBzdHJva2VSZWN0IGRvZXMgbm90IHBhaW50IGFueSBhcnRpZmFjdHMg
d2hlbiB0aGUKKyAgICAgICAgc3BlY2lmaWVkIHJlY3RhbmdsZSBoYXMgaGVpZ2h0LCB3aWR0aCA9
IDAgYW5kIGxpbmVXaWR0aCA+IDEuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtc3Ry
b2tlUmVjdC1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgcmVzdWx0cy4KKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXN0cm9rZVJlY3QuanM6IEFkZGVkIHRlc3QgY2FzZS4K
KwogMjAxMC0wNC0xNSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IE5vdCByZXZpZXdlZCwgdHJ5aW5nIHRvIG1ha2UgdGhlIHRyZWUgZ3JlZW4uCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtc3Ryb2tlUmVjdC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXN0cm9rZVJlY3QtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA1NzUwMSkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZh
cy1zdHJva2VSZWN0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTIsNiArMTIsOSBA
QCBQQVNTIGltZ2RhdGFbNl0gaXMgMAogUEFTUyBpbWdkYXRhWzRdIGlzIDAKIFBBU1MgaW1nZGF0
YVs1XSBpcyAxMjgKIFBBU1MgaW1nZGF0YVs2XSBpcyAwCitQQVNTIGltZ2RhdGFbMF0gaXMgMAor
UEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc3Ryb2tlUmVjdC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXN0cm9rZVJlY3Qu
anMJKHJldmlzaW9uIDU3NTAxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRl
c3RzL2NhbnZhcy1zdHJva2VSZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC00Niw0ICs0NiwxNiBA
QCBzaG91bGRCZSgiaW1nZGF0YVs0XSIsICIwIik7CiBzaG91bGRCZSgiaW1nZGF0YVs1XSIsICIx
MjgiKTsKIHNob3VsZEJlKCJpbWdkYXRhWzZdIiwgIjAiKTsKIAorY3R4LmNsZWFyUmVjdCgwLCAw
LCAxMDAsIDEwMCk7CisKKy8vIHN0cm9rZSByZWN0IHdpdGggaGVpZ2h0ID0gd2lkdGggPSAwIGFu
ZCBsaW5lV2lkdGggPSAyLgorY3R4LnN0cm9rZVN0eWxlID0gJ3JlZCc7CitjdHgubGluZVdpZHRo
ID0gMjsKK2N0eC5zdHJva2VSZWN0KDAsIDAsIDAsIDApOworaW1hZ2VEYXRhID0gY3R4LmdldElt
YWdlRGF0YSgwLCAwLCAxLCAxKTsKK2ltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsKK3Nob3VsZEJl
KCJpbWdkYXRhWzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjAiKTsKK3Nob3Vs
ZEJlKCJpbWdkYXRhWzJdIiwgIjAiKTsKKwogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53524</attachid>
            <date>2010-04-16 01:07:57 -0700</date>
            <delta_ts>2010-04-25 22:58:14 -0700</delta_ts>
            <desc>Patch with test cases</desc>
            <filename>Bug37686_2.patch</filename>
            <type>text/plain</type>
            <size>12779</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzcyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMTYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4NgorCisgICAgICAgIEZpeGVz
IGFuIGlzc3VlIHdoZXJlIHRoZSBjYW52YXMgbWV0aG9kIHN0cm9rZVJlY3Qgd2lsbCBzdHJva2Ug
YQorICAgICAgICByZWN0YW5nbGUgd2hvc2UgZGltZW5zaW9ucyBhcmUgMCB3aGVuIGxpbmVXaWR0
aCA+IDEuCisKKyAgICAgICAgQXMgcGVyIHRoZSBkZWZpbml0aW9uIG9mIHN0cm9rZVJlY3QgaW4g
dGhlIEhUTUwgQ2FudmFzIDJEIENvbnRleHQKKyAgICAgICAgc3BlYy4gPGh0dHA6Ly93d3cudzMu
b3JnL1RSLzJkY29udGV4dC8jZG9tLWNvbnRleHQtMmQtc3Ryb2tlcmVjdD4sCisgICAgICAgIHRo
aXMgbWV0aG9kIHNob3VsZCBoYXZlIG5vIGVmZmVjdCB3aGVuIGJvdGggdGhlIGhlaWdodCBhbmQg
d2lkdGgKKyAgICAgICAgYXJlIHplcm8uCisKKyAgICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL2Nh
bnZhcy1jbGVhclJlY3QuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvY2FudmFzLWZp
bGxSZWN0Lmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0ZVJlY3RGb3JDYW52YXMpOiBSZXR1
cm4gZmFsc2UgaWYgaGVpZ2h0LCB3aWR0aCA9PSAwLgorCiAyMDEwLTA0LTE2ICBOb2FtIFJvc2Vu
dGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBL
ZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDU3NTAxKQorKysgV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MTUsNyArNjE1LDEwIEBAIHN0YXRpYyBib29sIHZhbGlkYXRlUmVjdEZvckNhbnZh
cyhmbG9hdCYKIHsKICAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmlu
aXRlKHdpZHRoKSB8ICFpc2Zpbml0ZShoZWlnaHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgCisKKyAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KwogICAgIGlmICh3aWR0aCA8IDApIHsKICAgICAgICAgd2lkdGggPSAtd2lkdGg7CiAgICAgICAg
IHggLT0gd2lkdGg7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NzcyMCkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEwLTA0LTE2ICBEYW5p
ZWwgQmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Mzc2ODYKKworICAgICAgICBUZXN0cyB0aGF0IHN0cm9rZVJlY3QgZG9lcyBub3QgcGFpbnQg
YW55IGFydGlmYWN0cyB3aGVuIHRoZQorICAgICAgICBzcGVjaWZpZWQgcmVjdGFuZ2xlIGhhcyBo
ZWlnaHQsIHdpZHRoID0gMCBhbmQgbGluZVdpZHRoID4gMS4KKworICAgICAgICBBbHNvIHRlc3Rz
IHRoYXQgY2xlYXJSZWN0LCBmaWxsUmVjdCwgYW5kIHJlY3QgYXJlIGlnbm9yZWQgd2hlbgorICAg
ICAgICBoZWlnaHQsIHdpZHRoID0gMC4KKworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1j
bGVhclJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52
YXMtY2xlYXJSZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1m
aWxsUmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZh
cy1maWxsUmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtbW9k
aWZ5LWVtcHR5UGF0aC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFz
LXN0cm9rZVJlY3QtZXhwZWN0ZWQudHh0OiBVcGRhdGVkIHJlc3VsdHMuCisgICAgICAgICogZmFz
dC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1jbGVhclJlY3QuanM6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFJlY3QuanM6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtbW9kaWZ5LWVtcHR5UGF0
aC5qczogQWRkZWQgdGVzdCBjYXNlLgorICAgICAgICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0
cy9jYW52YXMtc3Ryb2tlUmVjdC5qczogRGl0dG8uIEFsc28sIGFkZGVkCisgICAgICAgIGRlYnVn
IHN0YXRlbWVudHMgc28gYXMgdG8gZGlzdGluZ3Vpc2ggdGhlIHJlc3VsdHMgZm9yIGVhY2ggdGVz
dC4KKwogMjAxMC0wNC0xNiAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy9jYW52YXMtY2xlYXJSZWN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtY2xlYXJSZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1jbGVhclJlY3QtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitTZXJpZXMgb2YgdGVzdHMgdG8gZW5z
dXJlIGNvcnJlY3QgYmVoYXZpb3Igb2YgY2FudmFzLmNsZWFyUmVjdCgpLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworVGVzdCBjYW52YXMuY2xlYXJSZWN0KCkgd2l0aCBoZWlnaHQg
PSB3aWR0aCA9IDAuCitQQVNTIGltZ2RhdGFbMF0gaXMgMjU1CitQQVNTIGltZ2RhdGFbMV0gaXMg
MAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1Rlc3QgY2FudmFzLmNsZWFyUmVjdCgpIHdpdGggaGVp
Z2h0ID0gMCwgd2lkdGggPSAxLgorUEFTUyBpbWdkYXRhWzBdIGlzIDI1NQorUEFTUyBpbWdkYXRh
WzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitUZXN0IGNhbnZhcy5jbGVhclJlY3QoKSB3
aXRoIGhlaWdodCA9IDEsIHdpZHRoID0gMC4KK1BBU1MgaW1nZGF0YVswXSBpcyAyNTUKK1BBU1Mg
aW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1jbGVhclJlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jYW52YXMtY2xlYXJSZWN0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtY2xlYXJSZWN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvY2FudmFzLWNsZWFyUmVjdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZmlsbFJlY3QtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1maWxsUmVj
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtZmlsbFJlY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBA
CitTZXJpZXMgb2YgdGVzdHMgdG8gZW5zdXJlIGNvcnJlY3QgYmVoYXZpb3Igb2YgY2FudmFzLmZp
bGxSZWN0KCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IGNhbnZhcy5m
aWxsUmVjdCgpIHdpdGggaGVpZ2h0ID0gd2lkdGggPSAwLgorUEFTUyBpbWdkYXRhWzBdIGlzIDAK
K1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorVGVzdCBjYW52YXMu
ZmlsbFJlY3QoKSB3aXRoIGhlaWdodCA9IDAsIHdpZHRoID0gMS4KK1BBU1MgaW1nZGF0YVswXSBp
cyAwCitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1Rlc3QgY2Fu
dmFzLmZpbGxSZWN0KCkgd2l0aCBoZWlnaHQgPSAxLCB3aWR0aCA9IDAuCitQQVNTIGltZ2RhdGFb
MF0gaXMgMAorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWZpbGxSZWN0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWZpbGxSZWN0Lmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZmlsbFJlY3QuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFJlY3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLW1vZGlmeS1l
bXB0eVBhdGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL2NhbnZhcy1tb2RpZnktZW1wdHlQYXRoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTc1MDEp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtbW9kaWZ5LWVtcHR5UGF0aC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNiArNSw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogVGVzdCBsaW5lVG8KIFBBU1MgZ2V0Q29sb3IoNDAs
NDApIGlzIFswLDEyOCwwLDI1NV0KK1Rlc3QgY2FudmFzLnJlY3QoKSB3aXRoIHdpZHRoID0gaGVp
Z2h0ID0gMC4KK1BBU1MgZ2V0Q29sb3IoMSwxKSBpcyBbMCwwLDAsMF0KIFRlc3QgbGluZVRvIHNl
cXVlbmNlCiBQQVNTIGdldENvbG9yKDAsMCkgaXMgWzI1NSwwLDAsMjU1XQogUEFTUyBnZXRDb2xv
cig1MCw1MCkgaXMgWzAsMTI4LDAsMjU1XQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y2FudmFzLXN0cm9rZVJlY3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy1zdHJva2VSZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTc1
MDEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtc3Ryb2tlUmVjdC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEyLDYgKzEyLDkgQEAgUEFTUyBpbWdkYXRhWzZdIGlz
IDAKIFBBU1MgaW1nZGF0YVs0XSBpcyAwCiBQQVNTIGltZ2RhdGFbNV0gaXMgMTI4CiBQQVNTIGlt
Z2RhdGFbNl0gaXMgMAorUEFTUyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBpcyAw
CitQQVNTIGltZ2RhdGFbMl0gaXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVz
dHMvY2FudmFzLWNsZWFyUmVjdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWNsZWFyUmVjdC5qcwkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtY2xlYXJSZWN0LmpzCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ2IEBACitkZXNjcmlwdGlvbigiU2VyaWVzIG9mIHRlc3Rz
IHRvIGVuc3VyZSBjb3JyZWN0IGJlaGF2aW9yIG9mIGNhbnZhcy5jbGVhclJlY3QoKS4iKTsKK3Zh
ciBjdHggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKS5nZXRDb250ZXh0KCcyZCcp
OworCisvLyBDbGVhciByZWN0IHdpdGggaGVpZ2h0ID0gd2lkdGggPSAwLgorZGVidWcoIlRlc3Qg
Y2FudmFzLmNsZWFyUmVjdCgpIHdpdGggaGVpZ2h0ID0gd2lkdGggPSAwLiIpOworY3R4LmZpbGxT
dHlsZSA9ICdyZWQnOworY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOworY3R4LmNsZWFyUmVjdCgw
LCAwLCAwLCAwKTsKKwordmFyIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwg
MSk7Cit2YXIgaW1nZGF0YSA9IGltYWdlRGF0YS5kYXRhOworc2hvdWxkQmUoImltZ2RhdGFbMF0i
LCAiMjU1Iik7CitzaG91bGRCZSgiaW1nZGF0YVsxXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0
YVsyXSIsICIwIik7CisKK2N0eC5jbGVhclJlY3QoMCwgMCwgMSwgMSk7CisKKy8vIENsZWFyIHJl
Y3Qgd2l0aCBoZWlnaHQgPSAwLCB3aWR0aCA9IDEuCitkZWJ1ZygiVGVzdCBjYW52YXMuY2xlYXJS
ZWN0KCkgd2l0aCBoZWlnaHQgPSAwLCB3aWR0aCA9IDEuIik7CitjdHguZmlsbFN0eWxlID0gJ3Jl
ZCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMSwgMSk7CitjdHguY2xlYXJSZWN0KDAsIDAsIDEsIDAp
OworCit2YXIgaW1hZ2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKK3ZhciBp
bWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIyNTUiKTsK
K3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzJdIiwgIjAi
KTsKKworY3R4LmNsZWFyUmVjdCgwLCAwLCAxLCAxKTsKKworLy8gQ2xlYXIgcmVjdCB3aXRoIGhl
aWdodCA9IDEsIHdpZHRoID0gMC4KK2RlYnVnKCJUZXN0IGNhbnZhcy5jbGVhclJlY3QoKSB3aXRo
IGhlaWdodCA9IDEsIHdpZHRoID0gMC4iKTsKK2N0eC5maWxsU3R5bGUgPSAncmVkJzsKK2N0eC5m
aWxsUmVjdCgwLCAwLCAxLCAxKTsKK2N0eC5jbGVhclJlY3QoMCwgMCwgMCwgMSk7CisKK3ZhciBp
bWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOwordmFyIGltZ2RhdGEgPSBp
bWFnZURhdGEuZGF0YTsKK3Nob3VsZEJlKCJpbWdkYXRhWzBdIiwgIjI1NSIpOworc2hvdWxkQmUo
ImltZ2RhdGFbMV0iLCAiMCIpOworc2hvdWxkQmUoImltZ2RhdGFbMl0iLCAiMCIpOworCitjdHgu
Y2xlYXJSZWN0KDAsIDAsIDEsIDEpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFJl
Y3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1maWxsUmVjdC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtZmlsbFJlY3QuanMJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDMgQEAKK2Rlc2NyaXB0aW9uKCJTZXJpZXMgb2YgdGVzdHMgdG8gZW5zdXJlIGNvcnJlY3Qg
YmVoYXZpb3Igb2YgY2FudmFzLmZpbGxSZWN0KCkuIik7Cit2YXIgY3R4ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKTsKKworLy8gRmlsbCByZWN0IHdp
dGggaGVpZ2h0ID0gd2lkdGggPSAwLgorZGVidWcoIlRlc3QgY2FudmFzLmZpbGxSZWN0KCkgd2l0
aCBoZWlnaHQgPSB3aWR0aCA9IDAuIik7CitjdHguZmlsbFN0eWxlID0gJ3JlZCc7CitjdHguZmls
bFJlY3QoMCwgMCwgMCwgMCk7CisKK3ZhciBpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAs
IDAsIDEsIDEpOwordmFyIGltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsKK3Nob3VsZEJlKCJpbWdk
YXRhWzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjAiKTsKK3Nob3VsZEJlKCJp
bWdkYXRhWzJdIiwgIjAiKTsKKworY3R4LmNsZWFyUmVjdCgwLCAwLCAxLCAxKTsKKworLy8gRmls
bCByZWN0IHdpdGggaGVpZ2h0ID0gMCwgd2lkdGggPSAxLgorZGVidWcoIlRlc3QgY2FudmFzLmZp
bGxSZWN0KCkgd2l0aCBoZWlnaHQgPSAwLCB3aWR0aCA9IDEuIik7CitjdHguZmlsbFN0eWxlID0g
J3JlZCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMSwgMCk7CisKK3ZhciBpbWFnZURhdGEgPSBjdHgu
Z2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOwordmFyIGltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsK
K3Nob3VsZEJlKCJpbWdkYXRhWzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzFdIiwgIjAi
KTsKK3Nob3VsZEJlKCJpbWdkYXRhWzJdIiwgIjAiKTsKKworY3R4LmNsZWFyUmVjdCgwLCAwLCAx
LCAxKTsKKworLy8gRmlsbCByZWN0IHdpdGggaGVpZ2h0ID0gMSwgd2lkdGggPSAwLgorZGVidWco
IlRlc3QgY2FudmFzLmZpbGxSZWN0KCkgd2l0aCBoZWlnaHQgPSAxLCB3aWR0aCA9IDAuIik7Citj
dHguZmlsbFN0eWxlID0gJ3JlZCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMCwgMSk7CisKK3ZhciBp
bWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOwordmFyIGltZ2RhdGEgPSBp
bWFnZURhdGEuZGF0YTsKK3Nob3VsZEJlKCJpbWdkYXRhWzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJp
bWdkYXRhWzFdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzJdIiwgIjAiKTsKKworY3R4LmNs
ZWFyUmVjdCgwLCAwLCAxLCAxKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLW1vZGlmeS1l
bXB0eVBhdGguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0
LXRlc3RzL2NhbnZhcy1tb2RpZnktZW1wdHlQYXRoLmpzCShyZXZpc2lvbiA1NzUwMSkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtbW9kaWZ5LWVtcHR5UGF0
aC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsMTYgQEAgY3R4LnN0cm9rZSgpOwogc2hv
dWxkQmUoImdldENvbG9yKDQwLDQwKSIsICJbMCwxMjgsMCwyNTVdIik7CiBjdHguY2xlYXJSZWN0
KDAsIDAsIDMwMCwgMzAwKTsKIAorLy8gVGVzdCB3aGVuIGNyZWF0ZSByZWN0YW5nbGUgcGF0aCB1
c2luZyBhIHJlY3RhbmdsZSB3aXRoIHdpZHRoID0gaGVpZ2h0ID0gMC4KK2RlYnVnKCJUZXN0IGNh
bnZhcy5yZWN0KCkgd2l0aCB3aWR0aCA9IGhlaWdodCA9IDAuIik7CitjdHguc3Ryb2tlU3R5bGUg
PSAncmVkJzsKK2N0eC5saW5lV2lkdGggPSAxMDsKK2N0eC5iZWdpblBhdGgoKTsKK2N0eC5yZWN0
KDAsIDAsIDAsIDApOworY3R4LnN0cm9rZSgpOworc2hvdWxkQmUoImdldENvbG9yKDEsMSkiLCAi
WzAsMCwwLDBdIik7CitjdHguY2xlYXJSZWN0KDAsIDAsIDMwMCwgMzAwKTsKKwogLy8gVGVzdCBw
YXRoIG1vZGlmaWNhdGlvbnMgdGhhdCByZXN1bHQgaW4gZHJhd2luZwogY3R4LmZpbGxTdHlsZSA9
ICdyZWQnOwogY3R4LnN0cm9rZVN0eWxlID0gJ2dyZWVuJzsKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc3Ryb2tlUmVjdC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXN0cm9rZVJlY3Qu
anMJKHJldmlzaW9uIDU3NTAxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRl
c3RzL2NhbnZhcy1zdHJva2VSZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQCBk
ZXNjcmlwdGlvbigiU2VyaWVzIG9mIHRlc3RzIHRvIGVuc3VyZSBjCiB2YXIgY3R4ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKTsKIAogLy8gc3Ryb2tl
IHJlY3Qgd2l0aCBzb2xpZCBncmVlbgorZGVidWcoIlRlc3QgY2FudmFzLnN0cm9rZVJlY3QoKSB3
aXRoIHNvbGlkIGdyZWVuLiIpOwogY3R4LmJlZ2luUGF0aCgpOwogY3R4LnN0cm9rZVN0eWxlID0g
J2dyZWVuJzsKIGN0eC5zdHJva2VSZWN0KDUwLCAwLCAxMDAsIDEwMCwgMTAwKTsKQEAgLTE1LDYg
KzE2LDcgQEAgc2hvdWxkQmUoImltZ2RhdGFbNl0iLCAiMCIpOwogY3R4LmNsZWFyUmVjdCgwLCAw
LCAxMDAsIDEwMCk7CiAKIC8vIHN0cm9rZSByZWN0IHdpdGggYSBwYXR0ZXJuCitkZWJ1ZygiVGVz
dCBjYW52YXMuc3Ryb2tlUmVjdCgpIHdpdGggYSBwYXR0ZXJuLiIpOwogdmFyIGNhbnZhczIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKIGNhbnZhczIud2lkdGggPSAxMDA7CiBj
YW52YXMyLmhlaWdodCA9IDEwMDsKQEAgLTM0LDYgKzM2LDcgQEAgc2hvdWxkQmUoImltZ2RhdGFb
Nl0iLCAiMCIpOwogY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDEwMCk7CiAKIC8vIHN0cm9rZSBy
ZWN0IHdpdGggZ3JhZGllbnQKK2RlYnVnKCJUZXN0IGNhbnZhcy5zdHJva2VSZWN0KCkgd2l0aCBh
IGdyYWRpZW50LiIpOwogdmFyIGdyYWRpZW50ID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAs
IDAsIDAsIDEwMCk7CiBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgImdyZWVuIik7CiBncmFkaWVu
dC5hZGRDb2xvclN0b3AoMSwgImdyZWVuIik7CkBAIC00Niw0ICs0OSwxNyBAQCBzaG91bGRCZSgi
aW1nZGF0YVs0XSIsICIwIik7CiBzaG91bGRCZSgiaW1nZGF0YVs1XSIsICIxMjgiKTsKIHNob3Vs
ZEJlKCJpbWdkYXRhWzZdIiwgIjAiKTsKIAorY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDEwMCk7
CisKKy8vIHN0cm9rZSByZWN0IHdpdGggaGVpZ2h0ID0gd2lkdGggPSAwIGFuZCBsaW5lV2lkdGgg
PSAyLgorZGVidWcoIlRlc3QgY2FudmFzLnN0cm9rZVJlY3QoKSB3aXRoIGhlaWdodCA9IHdpZHRo
ID0gMCBhbmQgbGluZVdpZHRoID0gMi4iKTsKK2N0eC5zdHJva2VTdHlsZSA9ICdyZWQnOworY3R4
LmxpbmVXaWR0aCA9IDI7CitjdHguc3Ryb2tlUmVjdCgwLCAwLCAwLCAwKTsKK2ltYWdlRGF0YSA9
IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7CitpbWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7
CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsxXSIsICIw
Iik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7CisKIHZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>54255</attachid>
            <date>2010-04-25 22:50:30 -0700</date>
            <delta_ts>2010-04-25 22:50:30 -0700</delta_ts>
            <desc>Example strokeRect of 0x0 rect with lineWidth &gt; 1 and shadow</desc>
            <filename>stroke-rect-0x0-lineWidth-and-shadow.html</filename>
            <type>text/html</type>
            <size>573</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8L2hlYWQ+Cjxib2R5Pgo8cD5UaGlzIHRlc3QgY2FuIGJlIHVzZWQgdG8g
dmVyaWZ5IHRoYXQgc3Ryb2tlUmVjdCBvZiBhIHJlY3RhbmdsZSB3aG9zZSBkaW1lbnNpb25zIGFy
ZSB6ZXJvIGlzIGlnbm9yZWQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGxpbmVXaWR0aCA+IDEgYW5k
IGEgc2hhZG93IGlzIHNwZWNpZmllZC48L3A+CjxwPlRoaXMgdGVzdCBGQUlMRUQgaWYgYW55dGhp
bmcgaXMgZHJhd24gYmVsb3cgdGhlIGhvcml6b250YWwgcnVsZS4gT3RoZXJ3aXNlLCBpdCBQQVNT
RUQuPC9wPgo8aHIvPgo8Y2FudmFzIGlkPSJjYW52YXMiPjwvY2FudmFzPgo8c2NyaXB0Pgp2YXIg
Y3R4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7
CmN0eC5zaGFkb3dPZmZzZXRYID0gMTA7CmN0eC5zaGFkb3dPZmZzZXRZID0gMTA7CmN0eC5zaGFk
b3dDb2xvciA9ICcjZjAwJzsKY3R4LnN0cm9rZVN0eWxlID0gJyMwMGYnOwpjdHgubGluZVdpZHRo
ID0gMjA7CmN0eC5zdHJva2VSZWN0KDAsIDAsIDAsIDApOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0
bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54256</attachid>
            <date>2010-04-25 22:58:14 -0700</date>
            <delta_ts>2010-04-27 22:42:58 -0700</delta_ts>
            <desc>Patch with test cases</desc>
            <filename>Bug37686_f_1.patch</filename>
            <type>text/plain</type>
            <size>13815</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODIzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4NgorCisgICAgICAgIEZpeGVz
IGFuIGlzc3VlIHdoZXJlIHRoZSBjYW52YXMgbWV0aG9kIHN0cm9rZVJlY3Qgd2lsbCBzdHJva2Ug
YQorICAgICAgICByZWN0YW5nbGUgd2hvc2UgZGltZW5zaW9ucyBhcmUgMCB3aGVuIGxpbmVXaWR0
aCA+IDEuCisKKyAgICAgICAgQXMgcGVyIHRoZSBkZWZpbml0aW9uIG9mIHN0cm9rZVJlY3QgaW4g
dGhlIEhUTUwgQ2FudmFzIDJEIENvbnRleHQKKyAgICAgICAgc3BlYy4gPGh0dHA6Ly93d3cudzMu
b3JnL1RSLzJkY29udGV4dC8jZG9tLWNvbnRleHQtMmQtc3Ryb2tlcmVjdD4sCisgICAgICAgIHRo
aXMgbWV0aG9kIHNob3VsZCBoYXZlIG5vIGVmZmVjdCB3aGVuIGJvdGggdGhlIGhlaWdodCBhbmQg
d2lkdGgKKyAgICAgICAgYXJlIHplcm8uCisKKyAgICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL2Nh
bnZhcy1jbGVhclJlY3QuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvY2FudmFzLWZp
bGxSZWN0Lmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0ZVJlY3RGb3JDYW52YXMpOiBSZXR1
cm4gZmFsc2UgaWYgaGVpZ2h0LCB3aWR0aCA9PSAwLgorCiAyMDEwLTA0LTI1ICBBbmRyZXkgS29z
eWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAJKHJldmlzaW9uIDU4MjMxKQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTUsNyArNjE1LDEw
IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlUmVjdEZvckNhbnZhcyhmbG9hdCYKIHsKICAgICBpZiAo
IWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmluaXRlKHdpZHRoKSB8ICFpc2Zpbml0
ZShoZWlnaHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCisKKyAgICBpZiAoIXdpZHRo
ICYmICFoZWlnaHQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICh3aWR0aCA8IDAp
IHsKICAgICAgICAgd2lkdGggPSAtd2lkdGg7CiAgICAgICAgIHggLT0gd2lkdGg7CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODIzMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI3IEBACisyMDEwLTA0LTI1ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAcmlt
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc2ODYKKworICAgICAgICBU
ZXN0cyB0aGF0IHN0cm9rZVJlY3QgZG9lcyBub3QgcGFpbnQgYW55IGFydGlmYWN0cyB3aGVuIHRo
ZQorICAgICAgICBzcGVjaWZpZWQgcmVjdGFuZ2xlIGhhcyBoZWlnaHQsIHdpZHRoID0gMCBhbmQg
bGluZVdpZHRoID4gMS4KKworICAgICAgICBBbHNvIHRlc3RzIHRoYXQgY2xlYXJSZWN0LCBmaWxs
UmVjdCwgYW5kIHJlY3QgYXJlIGlnbm9yZWQgd2hlbgorICAgICAgICBoZWlnaHQsIHdpZHRoID0g
MC4KKworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1jbGVhclJlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtY2xlYXJSZWN0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1maWxsUmVjdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1maWxsUmVjdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtbW9kaWZ5LWVtcHR5UGF0aC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLXN0cm9rZVJlY3QtZXhwZWN0ZWQu
dHh0OiBVcGRhdGVkIHJlc3VsdHMuCisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1jbGVhclJlY3QuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3Njcmlw
dC10ZXN0cy9jYW52YXMtZmlsbFJlY3QuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFz
L3NjcmlwdC10ZXN0cy9jYW52YXMtbW9kaWZ5LWVtcHR5UGF0aC5qczogQWRkZWQgdGVzdCBjYXNl
LgorICAgICAgICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc3Ryb2tlUmVjdC5q
czogRGl0dG8uIEFsc28sIGFkZGVkCisgICAgICAgIGRlYnVnIHN0YXRlbWVudHMgc28gYXMgdG8g
ZGlzdGluZ3Vpc2ggdGhlIHJlc3VsdHMgZm9yIGVhY2ggdGVzdC4KKwogMjAxMC0wNC0yNSAgQW5k
cmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtY2xlYXJS
ZWN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtY2xlYXJSZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy1jbGVhclJlY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDIxIEBACitTZXJpZXMgb2YgdGVzdHMgdG8gZW5zdXJlIGNvcnJlY3QgYmVoYXZp
b3Igb2YgY2FudmFzLmNsZWFyUmVjdCgpLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworVGVzdCBjYW52YXMuY2xlYXJSZWN0KCkgd2l0aCBoZWlnaHQgPSB3aWR0aCA9IDAuCitQQVNT
IGltZ2RhdGFbMF0gaXMgMjU1CitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJd
IGlzIDAKK1Rlc3QgY2FudmFzLmNsZWFyUmVjdCgpIHdpdGggaGVpZ2h0ID0gMCwgd2lkdGggPSAx
LgorUEFTUyBpbWdkYXRhWzBdIGlzIDI1NQorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1n
ZGF0YVsyXSBpcyAwCitUZXN0IGNhbnZhcy5jbGVhclJlY3QoKSB3aXRoIGhlaWdodCA9IDEsIHdp
ZHRoID0gMC4KK1BBU1MgaW1nZGF0YVswXSBpcyAyNTUKK1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQ
QVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1jbGVh
clJlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
Y2xlYXJSZWN0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtY2xlYXJSZWN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2FudmFzLWNs
ZWFyUmVjdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtZmlsbFJlY3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1maWxsUmVjdC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZmlsbFJlY3QtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitTZXJpZXMgb2YgdGVzdHMg
dG8gZW5zdXJlIGNvcnJlY3QgYmVoYXZpb3Igb2YgY2FudmFzLmZpbGxSZWN0KCkuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IGNhbnZhcy5maWxsUmVjdCgpIHdpdGggaGVp
Z2h0ID0gd2lkdGggPSAwLgorUEFTUyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBp
cyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorVGVzdCBjYW52YXMuZmlsbFJlY3QoKSB3aXRoIGhl
aWdodCA9IDAsIHdpZHRoID0gMS4KK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFb
MV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1Rlc3QgY2FudmFzLmZpbGxSZWN0KCkgd2l0
aCBoZWlnaHQgPSAxLCB3aWR0aCA9IDAuCitQQVNTIGltZ2RhdGFbMF0gaXMgMAorUEFTUyBpbWdk
YXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvY2FudmFzLWZpbGxSZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvY2FudmFzLWZpbGxSZWN0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jYW52YXMtZmlsbFJlY3QuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9jYW52YXMtZmlsbFJlY3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLW1vZGlmeS1lbXB0eVBhdGgtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1tb2RpZnkt
ZW1wdHlQYXRoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgyMzEpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jYW52YXMtbW9kaWZ5LWVtcHR5UGF0aC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTUsNiArNSw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEEKIAogVGVzdCBsaW5lVG8KIFBBU1MgZ2V0Q29sb3IoNDAsNDApIGlzIFswLDEyOCwwLDI1
NV0KK1Rlc3QgY2FudmFzLnJlY3QoKSB3aXRoIHdpZHRoID0gaGVpZ2h0ID0gMC4KK1BBU1MgZ2V0
Q29sb3IoMSwxKSBpcyBbMCwwLDAsMF0KIFRlc3QgbGluZVRvIHNlcXVlbmNlCiBQQVNTIGdldENv
bG9yKDAsMCkgaXMgWzI1NSwwLDAsMjU1XQogUEFTUyBnZXRDb2xvcig1MCw1MCkgaXMgWzAsMTI4
LDAsMjU1XQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXN0cm9rZVJlY3Qt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZh
cy1zdHJva2VSZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgyMzEpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtc3Ryb2tlUmVjdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTMsMTUgKzMsMjYgQEAgU2VyaWVzIG9mIHRlc3RzIHRvIGVuc3VyZSBjb3JyZWN0IGJl
aGF2aQogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKK1Rlc3QgY2FudmFzLnN0cm9rZVJl
Y3QoKSB3aXRoIHNvbGlkIGdyZWVuLgogUEFTUyBpbWdkYXRhWzRdIGlzIDAKIFBBU1MgaW1nZGF0
YVs1XSBpcyAxMjgKIFBBU1MgaW1nZGF0YVs2XSBpcyAwCitUZXN0IGNhbnZhcy5zdHJva2VSZWN0
KCkgd2l0aCBhIHBhdHRlcm4uCiBQQVNTIGltZ2RhdGFbNF0gaXMgMAogUEFTUyBpbWdkYXRhWzVd
IGlzIDEyOAogUEFTUyBpbWdkYXRhWzZdIGlzIDAKK1Rlc3QgY2FudmFzLnN0cm9rZVJlY3QoKSB3
aXRoIGEgZ3JhZGllbnQuCiBQQVNTIGltZ2RhdGFbNF0gaXMgMAogUEFTUyBpbWdkYXRhWzVdIGlz
IDEyOAogUEFTUyBpbWdkYXRhWzZdIGlzIDAKK1Rlc3QgY2FudmFzLnN0cm9rZVJlY3QoKSB3aXRo
IGhlaWdodCA9IHdpZHRoID0gMCBhbmQgbGluZVdpZHRoID0gMi4KK1BBU1MgaW1nZGF0YVswXSBp
cyAwCitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1Rlc3QgY2Fu
dmFzLnN0cm9rZVJlY3QoKSB3aXRoIGhlaWdodCA9IHdpZHRoID0gMCwgbGluZVdpZHRoID0gMiwg
YW5kIHNoYWRvdy4KK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFbMV0gaXMgMAor
UEFTUyBpbWdkYXRhWzJdIGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1jbGVhclJlY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1jbGVhclJlY3QuanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWNsZWFyUmVjdC5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0NiBAQAorZGVzY3JpcHRpb24oIlNlcmllcyBvZiB0ZXN0cyB0
byBlbnN1cmUgY29ycmVjdCBiZWhhdmlvciBvZiBjYW52YXMuY2xlYXJSZWN0KCkuIik7Cit2YXIg
Y3R4ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKTsK
KworLy8gQ2xlYXIgcmVjdCB3aXRoIGhlaWdodCA9IHdpZHRoID0gMC4KK2RlYnVnKCJUZXN0IGNh
bnZhcy5jbGVhclJlY3QoKSB3aXRoIGhlaWdodCA9IHdpZHRoID0gMC4iKTsKK2N0eC5maWxsU3R5
bGUgPSAncmVkJzsKK2N0eC5maWxsUmVjdCgwLCAwLCAxLCAxKTsKK2N0eC5jbGVhclJlY3QoMCwg
MCwgMCwgMCk7CisKK3ZhciBpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEp
OwordmFyIGltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsKK3Nob3VsZEJlKCJpbWdkYXRhWzBdIiwg
IjI1NSIpOworc2hvdWxkQmUoImltZ2RhdGFbMV0iLCAiMCIpOworc2hvdWxkQmUoImltZ2RhdGFb
Ml0iLCAiMCIpOworCitjdHguY2xlYXJSZWN0KDAsIDAsIDEsIDEpOworCisvLyBDbGVhciByZWN0
IHdpdGggaGVpZ2h0ID0gMCwgd2lkdGggPSAxLgorZGVidWcoIlRlc3QgY2FudmFzLmNsZWFyUmVj
dCgpIHdpdGggaGVpZ2h0ID0gMCwgd2lkdGggPSAxLiIpOworY3R4LmZpbGxTdHlsZSA9ICdyZWQn
OworY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOworY3R4LmNsZWFyUmVjdCgwLCAwLCAxLCAwKTsK
KwordmFyIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7Cit2YXIgaW1n
ZGF0YSA9IGltYWdlRGF0YS5kYXRhOworc2hvdWxkQmUoImltZ2RhdGFbMF0iLCAiMjU1Iik7Citz
aG91bGRCZSgiaW1nZGF0YVsxXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7
CisKK2N0eC5jbGVhclJlY3QoMCwgMCwgMSwgMSk7CisKKy8vIENsZWFyIHJlY3Qgd2l0aCBoZWln
aHQgPSAxLCB3aWR0aCA9IDAuCitkZWJ1ZygiVGVzdCBjYW52YXMuY2xlYXJSZWN0KCkgd2l0aCBo
ZWlnaHQgPSAxLCB3aWR0aCA9IDAuIik7CitjdHguZmlsbFN0eWxlID0gJ3JlZCc7CitjdHguZmls
bFJlY3QoMCwgMCwgMSwgMSk7CitjdHguY2xlYXJSZWN0KDAsIDAsIDAsIDEpOworCit2YXIgaW1h
Z2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKK3ZhciBpbWdkYXRhID0gaW1h
Z2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIyNTUiKTsKK3Nob3VsZEJlKCJp
bWdkYXRhWzFdIiwgIjAiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzJdIiwgIjAiKTsKKworY3R4LmNs
ZWFyUmVjdCgwLCAwLCAxLCAxKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLWZpbGxSZWN0
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9j
YW52YXMtZmlsbFJlY3QuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy9zY3JpcHQtdGVzdHMvY2FudmFzLWZpbGxSZWN0LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDQzIEBACitkZXNjcmlwdGlvbigiU2VyaWVzIG9mIHRlc3RzIHRvIGVuc3VyZSBjb3JyZWN0IGJl
aGF2aW9yIG9mIGNhbnZhcy5maWxsUmVjdCgpLiIpOwordmFyIGN0eCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJyk7CisKKy8vIEZpbGwgcmVjdCB3aXRo
IGhlaWdodCA9IHdpZHRoID0gMC4KK2RlYnVnKCJUZXN0IGNhbnZhcy5maWxsUmVjdCgpIHdpdGgg
aGVpZ2h0ID0gd2lkdGggPSAwLiIpOworY3R4LmZpbGxTdHlsZSA9ICdyZWQnOworY3R4LmZpbGxS
ZWN0KDAsIDAsIDAsIDApOworCit2YXIgaW1hZ2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAw
LCAxLCAxKTsKK3ZhciBpbWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0
YVswXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsxXSIsICIwIik7CitzaG91bGRCZSgiaW1n
ZGF0YVsyXSIsICIwIik7CisKK2N0eC5jbGVhclJlY3QoMCwgMCwgMSwgMSk7CisKKy8vIEZpbGwg
cmVjdCB3aXRoIGhlaWdodCA9IDAsIHdpZHRoID0gMS4KK2RlYnVnKCJUZXN0IGNhbnZhcy5maWxs
UmVjdCgpIHdpdGggaGVpZ2h0ID0gMCwgd2lkdGggPSAxLiIpOworY3R4LmZpbGxTdHlsZSA9ICdy
ZWQnOworY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDApOworCit2YXIgaW1hZ2VEYXRhID0gY3R4Lmdl
dEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKK3ZhciBpbWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7Citz
aG91bGRCZSgiaW1nZGF0YVswXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsxXSIsICIwIik7
CitzaG91bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7CisKK2N0eC5jbGVhclJlY3QoMCwgMCwgMSwg
MSk7CisKKy8vIEZpbGwgcmVjdCB3aXRoIGhlaWdodCA9IDEsIHdpZHRoID0gMC4KK2RlYnVnKCJU
ZXN0IGNhbnZhcy5maWxsUmVjdCgpIHdpdGggaGVpZ2h0ID0gMSwgd2lkdGggPSAwLiIpOworY3R4
LmZpbGxTdHlsZSA9ICdyZWQnOworY3R4LmZpbGxSZWN0KDAsIDAsIDAsIDEpOworCit2YXIgaW1h
Z2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKK3ZhciBpbWdkYXRhID0gaW1h
Z2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVswXSIsICIwIik7CitzaG91bGRCZSgiaW1n
ZGF0YVsxXSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVsyXSIsICIwIik7CisKK2N0eC5jbGVh
clJlY3QoMCwgMCwgMSwgMSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1tb2RpZnktZW1w
dHlQYXRoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10
ZXN0cy9jYW52YXMtbW9kaWZ5LWVtcHR5UGF0aC5qcwkocmV2aXNpb24gNTgyMzEpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLW1vZGlmeS1lbXB0eVBhdGgu
anMJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDE2IEBAIGN0eC5zdHJva2UoKTsKIHNob3Vs
ZEJlKCJnZXRDb2xvcig0MCw0MCkiLCAiWzAsMTI4LDAsMjU1XSIpOwogY3R4LmNsZWFyUmVjdCgw
LCAwLCAzMDAsIDMwMCk7CiAKKy8vIFRlc3Qgd2hlbiBjcmVhdGUgcmVjdGFuZ2xlIHBhdGggdXNp
bmcgYSByZWN0YW5nbGUgd2l0aCB3aWR0aCA9IGhlaWdodCA9IDAuCitkZWJ1ZygiVGVzdCBjYW52
YXMucmVjdCgpIHdpdGggd2lkdGggPSBoZWlnaHQgPSAwLiIpOworY3R4LnN0cm9rZVN0eWxlID0g
J3JlZCc7CitjdHgubGluZVdpZHRoID0gMTA7CitjdHguYmVnaW5QYXRoKCk7CitjdHgucmVjdCgw
LCAwLCAwLCAwKTsKK2N0eC5zdHJva2UoKTsKK3Nob3VsZEJlKCJnZXRDb2xvcigxLDEpIiwgIlsw
LDAsMCwwXSIpOworY3R4LmNsZWFyUmVjdCgwLCAwLCAzMDAsIDMwMCk7CisKIC8vIFRlc3QgcGF0
aCBtb2RpZmljYXRpb25zIHRoYXQgcmVzdWx0IGluIGRyYXdpbmcKIGN0eC5maWxsU3R5bGUgPSAn
cmVkJzsKIGN0eC5zdHJva2VTdHlsZSA9ICdncmVlbic7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXN0cm9rZVJlY3QuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zdHJva2VSZWN0Lmpz
CShyZXZpc2lvbiA1ODIzMSkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0
cy9jYW52YXMtc3Ryb2tlUmVjdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMiw2ICsyLDcgQEAgZGVz
Y3JpcHRpb24oIlNlcmllcyBvZiB0ZXN0cyB0byBlbnN1cmUgYwogdmFyIGN0eCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJyk7CiAKIC8vIHN0cm9rZSBy
ZWN0IHdpdGggc29saWQgZ3JlZW4KK2RlYnVnKCJUZXN0IGNhbnZhcy5zdHJva2VSZWN0KCkgd2l0
aCBzb2xpZCBncmVlbi4iKTsKIGN0eC5iZWdpblBhdGgoKTsKIGN0eC5zdHJva2VTdHlsZSA9ICdn
cmVlbic7CiBjdHguc3Ryb2tlUmVjdCg1MCwgMCwgMTAwLCAxMDAsIDEwMCk7CkBAIC0xNSw2ICsx
Niw3IEBAIHNob3VsZEJlKCJpbWdkYXRhWzZdIiwgIjAiKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwg
MTAwLCAxMDApOwogCiAvLyBzdHJva2UgcmVjdCB3aXRoIGEgcGF0dGVybgorZGVidWcoIlRlc3Qg
Y2FudmFzLnN0cm9rZVJlY3QoKSB3aXRoIGEgcGF0dGVybi4iKTsKIHZhciBjYW52YXMyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiBjYW52YXMyLndpZHRoID0gMTAwOwogY2Fu
dmFzMi5oZWlnaHQgPSAxMDA7CkBAIC0zNCw2ICszNiw3IEBAIHNob3VsZEJlKCJpbWdkYXRhWzZd
IiwgIjAiKTsKIGN0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCAxMDApOwogCiAvLyBzdHJva2UgcmVj
dCB3aXRoIGdyYWRpZW50CitkZWJ1ZygiVGVzdCBjYW52YXMuc3Ryb2tlUmVjdCgpIHdpdGggYSBn
cmFkaWVudC4iKTsKIHZhciBncmFkaWVudCA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAw
LCAwLCAxMDApOwogZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsICJncmVlbiIpOwogZ3JhZGllbnQu
YWRkQ29sb3JTdG9wKDEsICJncmVlbiIpOwpAQCAtNDYsNCArNDksMzEgQEAgc2hvdWxkQmUoImlt
Z2RhdGFbNF0iLCAiMCIpOwogc2hvdWxkQmUoImltZ2RhdGFbNV0iLCAiMTI4Iik7CiBzaG91bGRC
ZSgiaW1nZGF0YVs2XSIsICIwIik7CiAKK2N0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCAxMDApOwor
CisvLyBzdHJva2UgcmVjdCB3aXRoIGhlaWdodCA9IHdpZHRoID0gMCBhbmQgbGluZVdpZHRoID0g
Mi4KK2RlYnVnKCJUZXN0IGNhbnZhcy5zdHJva2VSZWN0KCkgd2l0aCBoZWlnaHQgPSB3aWR0aCA9
IDAgYW5kIGxpbmVXaWR0aCA9IDIuIik7CitjdHguc3Ryb2tlU3R5bGUgPSAncmVkJzsKK2N0eC5s
aW5lV2lkdGggPSAyOworY3R4LnN0cm9rZVJlY3QoMCwgMCwgMCwgMCk7CitpbWFnZURhdGEgPSBj
dHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOworaW1nZGF0YSA9IGltYWdlRGF0YS5kYXRhOwor
c2hvdWxkQmUoImltZ2RhdGFbMF0iLCAiMCIpOworc2hvdWxkQmUoImltZ2RhdGFbMV0iLCAiMCIp
Oworc2hvdWxkQmUoImltZ2RhdGFbMl0iLCAiMCIpOworCisvLyBzdHJva2UgcmVjdCB3aXRoIGhl
aWdodCA9IHdpZHRoID0gMCwgbGluZVdpZHRoID0gMiwgYW5kIHNoYWRvdy4KK2RlYnVnKCJUZXN0
IGNhbnZhcy5zdHJva2VSZWN0KCkgd2l0aCBoZWlnaHQgPSB3aWR0aCA9IDAsIGxpbmVXaWR0aCA9
IDIsIGFuZCBzaGFkb3cuIik7CitjdHguc2hhZG93T2Zmc2V0WCA9IDU7CitjdHguc2hhZG93T2Zm
c2V0WSA9IDU7CitjdHguc2hhZG93Q29sb3IgPSAnYmx1ZSc7CitjdHguc3Ryb2tlU3R5bGUgPSAn
cmVkJzsKK2N0eC5saW5lV2lkdGggPSAyOworY3R4LnN0cm9rZVJlY3QoMCwgMCwgMCwgMCk7Citp
bWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOworaW1nZGF0YSA9IGltYWdl
RGF0YS5kYXRhOworc2hvdWxkQmUoImltZ2RhdGFbMF0iLCAiMCIpOworc2hvdWxkQmUoImltZ2Rh
dGFbMV0iLCAiMCIpOworc2hvdWxkQmUoImltZ2RhdGFbMl0iLCAiMCIpOworCiB2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>