<?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>88813</bug_id>
          
          <creation_ts>2012-06-11 15:24:01 -0700</creation_ts>
          <short_desc>Change RenderTableSection::calcRowLogicalHeight to round rather than floor height</short_desc>
          <delta_ts>2012-06-14 13:08:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>leviw</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>646321</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-06-11 15:24:01 -0700</bug_when>
    <thetext>Change RenderTableSection::calcRowLogicalHeight to round the logicalHeight instead of flooring it. This matches our rounding logic elsewhere and results in table rows better matching the expected height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646333</commentid>
    <comment_count>1</comment_count>
      <attachid>146932</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-06-11 15:35:30 -0700</bug_when>
    <thetext>Created attachment 146932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647428</commentid>
    <comment_count>2</comment_count>
      <attachid>146932</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-12 15:48:18 -0700</bug_when>
    <thetext>Comment on attachment 146932
Patch

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

&gt; LayoutTests/fast/sub-pixel/table-rows-have-stable-height.html:65
&gt; +                    var height = r((20 + i) * 0.93 + i);

Where did you find this formula? The whole test cases is based on this being right, yet it&apos;s super cryptic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647432</commentid>
    <comment_count>3</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-06-12 15:53:51 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 146932 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146932&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/sub-pixel/table-rows-have-stable-height.html:65
&gt; &gt; +                    var height = r((20 + i) * 0.93 + i);
&gt; 
&gt; Where did you find this formula? The whole test cases is based on this being right, yet it&apos;s super cryptic.

The formula isn&apos;t critical at all, it is just a way to have each row be a different height with subpixel precision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647492</commentid>
    <comment_count>4</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-06-12 16:59:47 -0700</bug_when>
    <thetext>Expanding a bit. The purpose of the test is to check whether the reported height of a row matches the actual height and that it isn&apos;t depending on the location of the row. The way it does that is by setting the size of a row in an off-screen table to a subpixel value, measure the result resulting height and then use that height to size a row in the on screen table. This is explained in the test. I&apos;d be happy to expand on it you feel it is still unclear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648416</commentid>
    <comment_count>5</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-06-13 13:34:50 -0700</bug_when>
    <thetext>Julien, any chance you could take another look at this today?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648470</commentid>
    <comment_count>6</comment_count>
      <attachid>146932</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-13 14:34:24 -0700</bug_when>
    <thetext>Comment on attachment 146932
Patch

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

&gt; LayoutTests/ChangeLog:8
&gt; +        Add new test ensuring that rows are painted with the desired height when

It&apos;s not really &apos;painted&apos; more &apos;laid out&apos;.

&gt; LayoutTests/fast/sub-pixel/table-rows-have-stable-height.html:45
&gt; +        &lt;/p&gt;

Nit: I like to have the bug number in the output.

&gt;&gt;&gt; LayoutTests/fast/sub-pixel/table-rows-have-stable-height.html:65
&gt;&gt;&gt; +                    var height = r((20 + i) * 0.93 + i);
&gt;&gt; 
&gt;&gt; Where did you find this formula? The whole test cases is based on this being right, yet it&apos;s super cryptic.
&gt; 
&gt; The formula isn&apos;t critical at all, it is just a way to have each row be a different height with subpixel precision.

I think a comment on why we are doing that would be welcome. Something like:

// Set the size to a non-pixel bound value. The exact formula isn&apos;t important, what matters is that each rows has a different size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648473</commentid>
    <comment_count>7</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-06-13 14:35:51 -0700</bug_when>
    <thetext>Thanks for the review Julien, I&apos;ll make the changes you suggested!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649229</commentid>
    <comment_count>8</comment_count>
      <attachid>147601</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-06-14 09:27:15 -0700</bug_when>
    <thetext>Created attachment 147601
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649407</commentid>
    <comment_count>9</comment_count>
      <attachid>147601</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-14 13:08:42 -0700</bug_when>
    <thetext>Comment on attachment 147601
Patch for landing

Clearing flags on attachment: 147601

Committed r120354: &lt;http://trac.webkit.org/changeset/120354&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649408</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-14 13:08:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146932</attachid>
            <date>2012-06-11 15:35:30 -0700</date>
            <delta_ts>2012-06-14 09:27:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88813-20120611153530.patch</filename>
            <type>text/plain</type>
            <size>8570</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDAxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTExICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGFuZ2UgUmVuZGVyVGFibGVT
ZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCB0byByb3VuZCByYXRoZXIgdGhhbiBmbG9vciBo
ZWlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4
ODEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hh
bmdlIFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQgdG8gcm91bmQgdGhl
CisgICAgICAgIGxvZ2ljYWxIZWlnaHQgaW5zdGVhZCBvZiBmbG9vcmluZyBpdC4gVGhpcyBtYXRj
aGVzIG91ciByb3VuZGluZyBsb2dpYworICAgICAgICBlbHNld2hlcmUgYW5kIHJlc3VsdHMgaW4g
dGFibGUgcm93cyBiZXR0ZXIgbWF0Y2hpbmcgdGhlIGV4cGVjdGVkIGhlaWdodC4KKworICAgICAg
ICBUZXN0OiBmYXN0L3N1Yi1waXhlbC90YWJsZS1yb3dzLWhhdmUtc3RhYmxlLWhlaWdodC5odG1s
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQpOgorCiAy
MDEyLTA2LTExICBTaGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtjaHJvbWl1bV0gSW1wbGVtZW50IHBvc2l0aW9uOmZpeGVkIGluIGNvbXBvc2l0b3IgdGhy
ZWFkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcAkocmV2aXNpb24gMTIwMDA4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlU2VjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzMyw3ICszMzMsNyBAQCBp
bnQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlCiAgICAgICAgIExheW91dFVu
aXQgYmFzZWxpbmVEZXNjZW50ID0gMDsKIAogICAgICAgICAvLyBPdXIgYmFzZSBzaXplIGlzIHRo
ZSBiaWdnZXN0IGxvZ2ljYWwgaGVpZ2h0IGZyb20gb3VyIGNlbGxzJyBzdHlsZXMgKGV4Y2x1ZGlu
ZyByb3cgc3Bhbm5pbmcgY2VsbHMpLgotICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9y
b3dQb3Nbcl0gKyBtaW5pbXVtSW50VmFsdWVGb3JMZW5ndGgobV9ncmlkW3JdLmxvZ2ljYWxIZWln
aHQsIDAsIHZpZXdSZW5kZXJlciksIDApOworICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgo
bV9yb3dQb3Nbcl0gKyBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobV9ncmlkW3JdLmxvZ2ljYWxIZWln
aHQsIDAsIHZpZXdSZW5kZXJlcikucm91bmQoKSwgMCk7CiAKICAgICAgICAgUm93JiByb3cgPSBt
X2dyaWRbcl0ucm93OwogICAgICAgICB1bnNpZ25lZCB0b3RhbENvbHMgPSByb3cuc2l6ZSgpOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMTIwMDEyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDYtMTEgIEVtaWwgQSBFa2x1bmQgIDxl
YWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoYW5nZSBSZW5kZXJUYWJsZVNlY3Rpb246OmNh
bGNSb3dMb2dpY2FsSGVpZ2h0IHRvIHJvdW5kIHJhdGhlciB0aGFuIGZsb29yIGhlaWdodAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg4MTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IHRlc3Qg
ZW5zdXJpbmcgdGhhdCByb3dzIGFyZSBwYWludGVkIHdpdGggdGhlIGRlc2lyZWQgaGVpZ2h0IHdo
ZW4KKyAgICAgICAgZ2l2ZW4gYSBoZWlnaHQgdGhhdCBtYXBzIHRvIGEgZGV2aWNlIHBpeGVsIHZh
bHVlLgorCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvdGFibGUtcm93cy1oYXZlLXN0YWJsZS1o
ZWlnaHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3N1Yi1waXhlbC90YWJs
ZS1yb3dzLWhhdmUtc3RhYmxlLWhlaWdodC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0xMSAgRG9u
Z3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFdlYkF1ZGlvIHRlc3RzIG5l
ZWQgdG8gc2V0IFdlYktpdFdlYkF1ZGlvRW5hYmxlZC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c3ViLXBpeGVsL3RhYmxlLXJvd3MtaGF2ZS1zdGFibGUtaGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC90YWJsZS1yb3dzLWhhdmUtc3Rh
YmxlLWhlaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3N1Yi1waXhlbC90YWJsZS1yb3dzLWhhdmUtc3RhYmxlLWhlaWdodC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKK1BBU1MgQXQgNTAlIHpvb20gYWxsIGhlaWdodHMg
bWF0Y2hlZC4KK1BBU1MgQXQgNzUlIHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQg
OTAlIHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQgMTEwJSB6b29tIGFsbCBoZWln
aHRzIG1hdGNoZWQuCitQQVNTIEF0IDEyNSUgem9vbSBhbGwgaGVpZ2h0cyBtYXRjaGVkLgorUEFT
UyBBdCAxMzMlIHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQgMTUwJSB6b29tIGFs
bCBoZWlnaHRzIG1hdGNoZWQuCitQQVNTIEF0IDE3NSUgem9vbSBhbGwgaGVpZ2h0cyBtYXRjaGVk
LgorUEFTUyBBdCAyMDAlIHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQgMTAwJSB6
b29tIGFsbCBoZWlnaHRzIG1hdGNoZWQuCitUaGlzIHRlc3RzIHdoZXRoZXIgdGFibGUgcm93IGhl
aWdodHMgYXJlIHN0YWJsZSBieSBtZWFzdXJpbmcgdGhlIGhlaWdodCBvZiBhIHJvdywgYXNzaWdu
aW5nIHRoYXQgaGVpZ2h0IHRvIGFub3RoZXIgcm93IGFuZCB0aGVuIG1lYXN1cmluZyBpdC4gRm9y
IGVhY2ggcm93IHRoZSBudW1iZXJzIGluIHRoZSB0aHJlZSBjZWxscyBzaG91bGQgYmUgdGhlIHNh
bWUuCisKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvdGFibGUtcm93cy1oYXZl
LXN0YWJsZS1oZWlnaHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1w
aXhlbC90YWJsZS1yb3dzLWhhdmUtc3RhYmxlLWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvdGFibGUtcm93cy1oYXZlLXN0YWJsZS1oZWlnaHQu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGJvZHkgeworICAg
ICAgICAgICAgICAgIG1hcmdpbjogNXB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGFi
bGUgeworICAgICAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB0ZCB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogc2t5
Ymx1ZTsKKyAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICNtZWFzdXJlIHsKKyAgICAgICAgICAgICAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgICAgICAgICAgICAgdG9wOiAtNTAwcHg7CisgICAgICAgICAgICAgICAg
dmlzaWJpbGl0eTogaGlkZGVuOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDx0YWJsZSBpZD0ibWFpbiIgY2Vs
bHNwYWNpbmc9IjAiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiPgorICAgICAgICAgICAgPHRy
PgorICAgICAgICAgICAgICAgIDx0ZD5zdHlsZS5oZWlnaHQ8L3RkPgorICAgICAgICAgICAgICAg
IDx0ZD5yZWN0LmhlaWdodDwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPnJlY3QuYm90dG9tIC0g
cmVjdC50b3A8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj48dGQ+YTwv
dGQ+PHRkPmI8L3RkPjx0ZD5jPC90ZD48L3RyPgorICAgICAgICAgICAgPHRyPjx0ZD5hPC90ZD48
dGQ+YjwvdGQ+PHRkPmM8L3RkPjwvdHI+CisgICAgICAgICAgICA8dHI+PHRkPmE8L3RkPjx0ZD5i
PC90ZD48dGQ+YzwvdGQ+PC90cj4KKyAgICAgICAgICAgIDx0cj48dGQ+YTwvdGQ+PHRkPmI8L3Rk
Pjx0ZD5jPC90ZD48L3RyPgorICAgICAgICAgICAgPHRyPjx0ZD5hPC90ZD48dGQ+YjwvdGQ+PHRk
PmM8L3RkPjwvdHI+CisgICAgICAgICAgICA8dHI+PHRkPmE8L3RkPjx0ZD5iPC90ZD48dGQ+Yzwv
dGQ+PC90cj4KKyAgICAgICAgICAgIDx0cj48dGQ+YTwvdGQ+PHRkPmI8L3RkPjx0ZD5jPC90ZD48
L3RyPgorICAgICAgICAgICAgPHRyPjx0ZD5hPC90ZD48dGQ+YjwvdGQ+PHRkPmM8L3RkPjwvdHI+
CisgICAgICAgICAgICA8dHI+PHRkPmE8L3RkPjx0ZD5iPC90ZD48dGQ+YzwvdGQ+PC90cj4KKyAg
ICAgICAgPC90YWJsZT4KKyAgICAgICAgPHA+CisgICAgICAgICAgICBUaGlzIHRlc3RzIHdoZXRo
ZXIgdGFibGUgcm93IGhlaWdodHMgYXJlIHN0YWJsZSBieSBtZWFzdXJpbmcgdGhlCisgICAgICAg
ICAgICBoZWlnaHQgb2YgYSByb3csIGFzc2lnbmluZyB0aGF0IGhlaWdodCB0byBhbm90aGVyIHJv
dyBhbmQgdGhlbgorICAgICAgICAgICAgbWVhc3VyaW5nIGl0LgorICAgICAgICAgICAgRm9yIGVh
Y2ggcm93IHRoZSBudW1iZXJzIGluIHRoZSB0aHJlZSBjZWxscyBzaG91bGQgYmUgdGhlIHNhbWUu
CisgICAgICAgIDwvcD4KKworICAgICAgICA8dGFibGUgaWQ9Im1lYXN1cmUiIGNlbGxzcGFjaW5n
PSIwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyAgICAgICAgICAgIDx0cj48dGQ+TWVh
c3VyZW1lbnQ8L3RkPjx0ZD50YWJsZTwvdGQ+PHRkPi4uLjwvdGQ+PC90cj4KKyAgICAgICAgPC90
YWJsZT4KKyAgICAgICAgCisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgbWFpblRh
YmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICAgICAgICAgIHZhciBt
ZWFzdXJlVGFibGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVhc3VyZScpOworICAgICAg
ICAgICAgdmFyIHJvd0hlaWdodHMgPSBbXTsKKworICAgICAgICAgICAgZnVuY3Rpb24gcihuKSB7
CisgICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobiAqIDEwMDApIC8gMTAwMDsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY29tcHV0ZUhlaWdodHMoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHJvd0hlaWdodHMubGVuZ3RoID0gMDsKKyAgICAg
ICAgICAgICAgICB2YXIgcm93RWxlbWVudCA9IG1lYXN1cmVUYWJsZS50Qm9kaWVzWzBdLnJvd3Nb
MF07CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYWluVGFibGUudEJvZGll
c1swXS5yb3dzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBoZWlnaHQg
PSByKCgyMCArIGkpICogMC45MyArIGkpOworICAgICAgICAgICAgICAgICAgICByb3dFbGVtZW50
LnN0eWxlLmhlaWdodCA9IGhlaWdodCArICdweCc7CisgICAgICAgICAgICAgICAgICAgIHJlY3Qg
PSByb3dFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgICAgICAg
ICByb3dIZWlnaHRzLnB1c2gocmVjdC5ib3R0b20gLSByZWN0LnRvcCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRlc3RIZWlnaHRzKHpvb20pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5zdHlsZS56b29tID0gem9vbTsKKyAgICAgICAgICAgICAgICBjb21wdXRlSGVpZ2h0
cygpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHZhciByb3dzID0gbWFpblRh
YmxlLnRCb2RpZXNbMF0ucm93czsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHJvd3MubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHJvd0VsZW1lbnQg
PSByb3dzW2ldOworICAgICAgICAgICAgICAgICAgICByb3dFbGVtZW50LnN0eWxlLmhlaWdodCA9
IHJvd0hlaWdodHNbaV0gKyAncHgnOworICAgICAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IHJv
d0VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICAgICAgICAgIGlm
IChpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICByb3dFbGVtZW50LmNlbGxzWzBdLmZpcnN0
Q2hpbGQubm9kZVZhbHVlID0gcihyb3dIZWlnaHRzW2ldKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJvd0VsZW1lbnQuY2VsbHNbMV0uZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSByKHJlY3QuaGVp
Z2h0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJvd0VsZW1lbnQuY2VsbHNbMl0uZmlyc3RD
aGlsZC5ub2RlVmFsdWUgPSByKHJlY3QuYm90dG9tIC0gcmVjdC50b3ApOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdmFyIGZhaWx1
cmVzID0gMDsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJvd3MubGVuZ3Ro
OyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSByb3dzW2ldLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgICAgICAgICBpZiAocihyb3dIZWlnaHRzW2ld
KSAhPSByKHJlY3QuaGVpZ2h0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgnQXQgJyArIHIoem9vbSAqIDEwMCkgKyAnJSB6b29tIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBy
ZXR1cm5lZCBhIGhlaWdodCBvZiAnICsgcihyZWN0LmhlaWdodCkgKyAnLCBleHBlY3RlZCAnICsg
cihyb3dIZWlnaHRzW2ldKSArICcuJyk7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJl
cysrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmIChyKHJv
d0hlaWdodHNbaV0pICE9IHIocmVjdC5ib3R0b20gLSByZWN0LnRvcCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ0F0ICcgKyByKHpvb20gKiAxMDApICsgJyUgem9vbSBn
ZXRCb3VuZGluZ0NsaWVudFJlY3QgcmV0dXJuZWQgYSByZWN0IHdpdGggYm90dG9tIC0gdG9wIG9m
ICcgKyAocmVjdC5ib3R0b20gLSByZWN0LnRvcCkgKyAnLCBleHBlY3RlZCAnICsgcm93SGVpZ2h0
c1tpXSArICcuJyk7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlcysrOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgh
ZmFpbHVyZXMpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ0F0ICcgKyByKHpvb20g
KiAxMDApICsgJyUgem9vbSBhbGwgaGVpZ2h0cyBtYXRjaGVkLicpOworICAgICAgICB9CisKKyAg
ICAgICAgdGVzdEhlaWdodHMoMC41KTsKKyAgICAgICAgdGVzdEhlaWdodHMoMC43NSk7CisgICAg
ICAgIHRlc3RIZWlnaHRzKDAuOSk7CisgICAgICAgIHRlc3RIZWlnaHRzKDEuMSk7CisgICAgICAg
IHRlc3RIZWlnaHRzKDEuMjUpOworICAgICAgICB0ZXN0SGVpZ2h0cygxLjMzKTsKKyAgICAgICAg
dGVzdEhlaWdodHMoMS41KTsKKyAgICAgICAgdGVzdEhlaWdodHMoMS43NSk7CisgICAgICAgIHRl
c3RIZWlnaHRzKDIpOworICAgICAgICB0ZXN0SGVpZ2h0cygxKTsKKworICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ21haW4nKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgICAgICA8L3NjcmlwdD4K
KyAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147601</attachid>
            <date>2012-06-14 09:27:15 -0700</date>
            <delta_ts>2012-06-14 13:08:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-88813-20120614092727.patch</filename>
            <type>text/plain</type>
            <size>8963</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDMyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTE0ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGFuZ2UgUmVuZGVyVGFibGVT
ZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCB0byByb3VuZCByYXRoZXIgdGhhbiBmbG9vciBo
ZWlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4
ODEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSnVsaWVuIENoYWZmcmFpeC4KKworICAgICAgICBD
aGFuZ2UgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCB0byByb3VuZCB0
aGUKKyAgICAgICAgbG9naWNhbEhlaWdodCBpbnN0ZWFkIG9mIGZsb29yaW5nIGl0LiBUaGlzIG1h
dGNoZXMgb3VyIHJvdW5kaW5nIGxvZ2ljCisgICAgICAgIGVsc2V3aGVyZSBhbmQgcmVzdWx0cyBp
biB0YWJsZSByb3dzIGJldHRlciBtYXRjaGluZyB0aGUgZXhwZWN0ZWQgaGVpZ2h0LgorCisgICAg
ICAgIFRlc3Q6IGZhc3Qvc3ViLXBpeGVsL3RhYmxlLXJvd3MtaGF2ZS1zdGFibGUtaGVpZ2h0Lmh0
bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCk6CisK
IDIwMTItMDYtMTQgIEVyaWMgUGVubmVyICA8ZXBlbm5lckBnb29nbGUuY29tPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gRml4IHJhY2UgY29uZGl0aW9uIHdoZXJlIGFuaW1hdGlvbnMgc3RhcnQsIGZp
bmlzaCBhbmQgYXJlIGRlbGV0ZWQgb24gdGhlIGNvbXBvc2l0ZSB0aHJlYWQsIGFsbCBiZWZvcmUg
dGhlIHN0YXJ0IGV2ZW4gYXJyaXZlcyBvbiB0aGUgbWFpbiB0aHJlYWQuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24g
MTIwMzI2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMzMyw3ICszMzMsNyBAQCBpbnQgUmVuZGVyVGFibGVTZWN0
aW9uOjpjYWxjUm93TG9naWNhbEhlCiAgICAgICAgIExheW91dFVuaXQgYmFzZWxpbmVEZXNjZW50
ID0gMDsKIAogICAgICAgICAvLyBPdXIgYmFzZSBzaXplIGlzIHRoZSBiaWdnZXN0IGxvZ2ljYWwg
aGVpZ2h0IGZyb20gb3VyIGNlbGxzJyBzdHlsZXMgKGV4Y2x1ZGluZyByb3cgc3Bhbm5pbmcgY2Vs
bHMpLgotICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3Nbcl0gKyBtaW5pbXVt
SW50VmFsdWVGb3JMZW5ndGgobV9ncmlkW3JdLmxvZ2ljYWxIZWlnaHQsIDAsIHZpZXdSZW5kZXJl
ciksIDApOworICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3Nbcl0gKyBtaW5p
bXVtVmFsdWVGb3JMZW5ndGgobV9ncmlkW3JdLmxvZ2ljYWxIZWlnaHQsIDAsIHZpZXdSZW5kZXJl
cikucm91bmQoKSwgMCk7CiAKICAgICAgICAgUm93JiByb3cgPSBtX2dyaWRbcl0ucm93OwogICAg
ICAgICB1bnNpZ25lZCB0b3RhbENvbHMgPSByb3cuc2l6ZSgpOwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTIwMzI2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTItMDYtMTQgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIENoYW5nZSBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2FsSGVpZ2h0
IHRvIHJvdW5kIHJhdGhlciB0aGFuIGZsb29yIGhlaWdodAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg4MTMKKworICAgICAgICBSZXZpZXdlZCBieSBK
dWxpZW4gQ2hhZmZyYWl4LgorCisgICAgICAgIEFkZCBuZXcgdGVzdCBlbnN1cmluZyB0aGF0IHJv
d3MgYXJlIGxhaWQgb3V0IHRoZSBkZXNpcmVkIGhlaWdodCB3aGVuCisgICAgICAgIGdpdmVuIGEg
aGVpZ2h0IHRoYXQgbWFwcyB0byBhIGRldmljZSBwaXhlbCB2YWx1ZS4KKworICAgICAgICAqIGZh
c3Qvc3ViLXBpeGVsL3RhYmxlLXJvd3MtaGF2ZS1zdGFibGUtaGVpZ2h0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvdGFibGUtcm93cy1oYXZlLXN0YWJsZS1o
ZWlnaHQuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMTQgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1p
a2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gVGVzdHMgcmViYXNl
bGluaW5nIGFmdGVyIHIxMjAxNjcsIHIxMjAyNDYKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3Vi
LXBpeGVsL3RhYmxlLXJvd3MtaGF2ZS1zdGFibGUtaGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC90YWJsZS1yb3dzLWhhdmUtc3RhYmxl
LWhlaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1
Yi1waXhlbC90YWJsZS1yb3dzLWhhdmUtc3RhYmxlLWhlaWdodC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKK1BBU1MgQXQgNTAlIHpvb20gYWxsIGhlaWdodHMgbWF0
Y2hlZC4KK1BBU1MgQXQgNzUlIHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQgOTAl
IHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQgMTEwJSB6b29tIGFsbCBoZWlnaHRz
IG1hdGNoZWQuCitQQVNTIEF0IDEyNSUgem9vbSBhbGwgaGVpZ2h0cyBtYXRjaGVkLgorUEFTUyBB
dCAxMzMlIHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQgMTUwJSB6b29tIGFsbCBo
ZWlnaHRzIG1hdGNoZWQuCitQQVNTIEF0IDE3NSUgem9vbSBhbGwgaGVpZ2h0cyBtYXRjaGVkLgor
UEFTUyBBdCAyMDAlIHpvb20gYWxsIGhlaWdodHMgbWF0Y2hlZC4KK1BBU1MgQXQgMTAwJSB6b29t
IGFsbCBoZWlnaHRzIG1hdGNoZWQuCitUaGlzIHRlc3RzIHdoZXRoZXIgdGFibGUgcm93IGhlaWdo
dHMgYXJlIHN0YWJsZSBieSBtZWFzdXJpbmcgdGhlIGhlaWdodCBvZiBhIHJvdywgYXNzaWduaW5n
IHRoYXQgaGVpZ2h0IHRvIGFub3RoZXIgcm93IGFuZCB0aGVuIG1lYXN1cmluZyBpdC4gRm9yIGVh
Y2ggcm93IHRoZSBudW1iZXJzIGluIHRoZSB0aHJlZSBjZWxscyBzaG91bGQgYmUgdGhlIHNhbWUu
CisKK0J1ZyA4ODgxMworCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL3RhYmxl
LXJvd3MtaGF2ZS1zdGFibGUtaGVpZ2h0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9zdWItcGl4ZWwvdGFibGUtcm93cy1oYXZlLXN0YWJsZS1oZWlnaHQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL3RhYmxlLXJvd3MtaGF2ZS1zdGFi
bGUtaGVpZ2h0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTI2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBi
b2R5IHsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDVweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHRhYmxlIHsKKyAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNl
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGQgeworICAgICAgICAgICAgICAgIGJhY2tn
cm91bmQ6IHNreWJsdWU7CisgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjbWVhc3VyZSB7CisgICAgICAgICAgICAgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgICAgIHRvcDogLTUwMHB4OworICAgICAg
ICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dGFibGUgaWQ9
Im1haW4iIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyAgICAg
ICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQ+c3R5bGUuaGVpZ2h0PC90ZD4KKyAgICAg
ICAgICAgICAgICA8dGQ+cmVjdC5oZWlnaHQ8L3RkPgorICAgICAgICAgICAgICAgIDx0ZD5yZWN0
LmJvdHRvbSAtIHJlY3QudG9wPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8
dHI+PHRkPmE8L3RkPjx0ZD5iPC90ZD48dGQ+YzwvdGQ+PC90cj4KKyAgICAgICAgICAgIDx0cj48
dGQ+YTwvdGQ+PHRkPmI8L3RkPjx0ZD5jPC90ZD48L3RyPgorICAgICAgICAgICAgPHRyPjx0ZD5h
PC90ZD48dGQ+YjwvdGQ+PHRkPmM8L3RkPjwvdHI+CisgICAgICAgICAgICA8dHI+PHRkPmE8L3Rk
Pjx0ZD5iPC90ZD48dGQ+YzwvdGQ+PC90cj4KKyAgICAgICAgICAgIDx0cj48dGQ+YTwvdGQ+PHRk
PmI8L3RkPjx0ZD5jPC90ZD48L3RyPgorICAgICAgICAgICAgPHRyPjx0ZD5hPC90ZD48dGQ+Yjwv
dGQ+PHRkPmM8L3RkPjwvdHI+CisgICAgICAgICAgICA8dHI+PHRkPmE8L3RkPjx0ZD5iPC90ZD48
dGQ+YzwvdGQ+PC90cj4KKyAgICAgICAgICAgIDx0cj48dGQ+YTwvdGQ+PHRkPmI8L3RkPjx0ZD5j
PC90ZD48L3RyPgorICAgICAgICAgICAgPHRyPjx0ZD5hPC90ZD48dGQ+YjwvdGQ+PHRkPmM8L3Rk
PjwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGhpcyB0
ZXN0cyB3aGV0aGVyIHRhYmxlIHJvdyBoZWlnaHRzIGFyZSBzdGFibGUgYnkgbWVhc3VyaW5nIHRo
ZQorICAgICAgICAgICAgaGVpZ2h0IG9mIGEgcm93LCBhc3NpZ25pbmcgdGhhdCBoZWlnaHQgdG8g
YW5vdGhlciByb3cgYW5kIHRoZW4KKyAgICAgICAgICAgIG1lYXN1cmluZyBpdC4KKyAgICAgICAg
ICAgIEZvciBlYWNoIHJvdyB0aGUgbnVtYmVycyBpbiB0aGUgdGhyZWUgY2VsbHMgc2hvdWxkIGJl
IHRoZSBzYW1lLgorICAgICAgICA8L3A+CisgICAgICAgIDxwPgorICAgICAgICAgICAgPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4ODEzIj5CdWcgODg4
MTM8L2E+CisgICAgICAgIDwvcD4KKworICAgICAgICA8dGFibGUgaWQ9Im1lYXN1cmUiIGNlbGxz
cGFjaW5nPSIwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyAgICAgICAgICAgIDx0cj48
dGQ+TWVhc3VyZW1lbnQ8L3RkPjx0ZD50YWJsZTwvdGQ+PHRkPi4uLjwvdGQ+PC90cj4KKyAgICAg
ICAgPC90YWJsZT4KKyAgICAgICAgCisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIg
bWFpblRhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW4nKTsKKyAgICAgICAgICAg
IHZhciBtZWFzdXJlVGFibGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVhc3VyZScpOwor
ICAgICAgICAgICAgdmFyIHJvd0hlaWdodHMgPSBbXTsKKworICAgICAgICAgICAgZnVuY3Rpb24g
cihuKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobiAqIDEwMDApIC8gMTAw
MDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY29tcHV0ZUhlaWdodHMo
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJvd0hlaWdodHMubGVuZ3RoID0gMDsK
KyAgICAgICAgICAgICAgICB2YXIgcm93RWxlbWVudCA9IG1lYXN1cmVUYWJsZS50Qm9kaWVzWzBd
LnJvd3NbMF07CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYWluVGFibGUu
dEJvZGllc1swXS5yb3dzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFNl
dCB0aGUgc2l6ZSB0byBhIHN1YnBpeGVsIHZhbHVlLCB0aGUgZXhhY3QgdmFsdWUgaXNuJ3QKKyAg
ICAgICAgICAgICAgICAgICAgLy8gaW1wb3J0YW50IGJ1dCBlYWNoIHJvdyBzaG91bGQgaGF2ZSBh
IGRpZmZlcmVudCBoZWlnaHQuCisgICAgICAgICAgICAgICAgICAgIHZhciBoZWlnaHQgPSByKCgy
MCArIGkpICogMC45MyArIGkpOworICAgICAgICAgICAgICAgICAgICByb3dFbGVtZW50LnN0eWxl
LmhlaWdodCA9IGhlaWdodCArICdweCc7CisgICAgICAgICAgICAgICAgICAgIHJlY3QgPSByb3dF
bGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgICAgICAgICByb3dI
ZWlnaHRzLnB1c2gocmVjdC5ib3R0b20gLSByZWN0LnRvcCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RI
ZWlnaHRzKHpvb20pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5zdHlsZS56b29tID0gem9vbTsKKyAgICAgICAgICAgICAgICBjb21wdXRlSGVpZ2h0cygpOwor
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHZhciByb3dzID0gbWFpblRhYmxlLnRC
b2RpZXNbMF0ucm93czsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJvd3Mu
bGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHJvd0VsZW1lbnQgPSByb3dz
W2ldOworICAgICAgICAgICAgICAgICAgICByb3dFbGVtZW50LnN0eWxlLmhlaWdodCA9IHJvd0hl
aWdodHNbaV0gKyAncHgnOworICAgICAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IHJvd0VsZW1l
bnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICByb3dFbGVtZW50LmNlbGxzWzBdLmZpcnN0Q2hpbGQu
bm9kZVZhbHVlID0gcihyb3dIZWlnaHRzW2ldKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJv
d0VsZW1lbnQuY2VsbHNbMV0uZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSByKHJlY3QuaGVpZ2h0KTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJvd0VsZW1lbnQuY2VsbHNbMl0uZmlyc3RDaGlsZC5u
b2RlVmFsdWUgPSByKHJlY3QuYm90dG9tIC0gcmVjdC50b3ApOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdmFyIGZhaWx1cmVzID0g
MDsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSByb3dzW2ldLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpOworICAgICAgICAgICAgICAgICAgICBpZiAocihyb3dIZWlnaHRzW2ldKSAhPSBy
KHJlY3QuaGVpZ2h0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnQXQg
JyArIHIoem9vbSAqIDEwMCkgKyAnJSB6b29tIGdldEJvdW5kaW5nQ2xpZW50UmVjdCByZXR1cm5l
ZCBhIGhlaWdodCBvZiAnICsgcihyZWN0LmhlaWdodCkgKyAnLCBleHBlY3RlZCAnICsgcihyb3dI
ZWlnaHRzW2ldKSArICcuJyk7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlcysrOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmIChyKHJvd0hlaWdo
dHNbaV0pICE9IHIocmVjdC5ib3R0b20gLSByZWN0LnRvcCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoJ0F0ICcgKyByKHpvb20gKiAxMDApICsgJyUgem9vbSBnZXRCb3Vu
ZGluZ0NsaWVudFJlY3QgcmV0dXJuZWQgYSByZWN0IHdpdGggYm90dG9tIC0gdG9wIG9mICcgKyAo
cmVjdC5ib3R0b20gLSByZWN0LnRvcCkgKyAnLCBleHBlY3RlZCAnICsgcm93SGVpZ2h0c1tpXSAr
ICcuJyk7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlcysrOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICghZmFpbHVy
ZXMpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ0F0ICcgKyByKHpvb20gKiAxMDAp
ICsgJyUgem9vbSBhbGwgaGVpZ2h0cyBtYXRjaGVkLicpOworICAgICAgICB9CisKKyAgICAgICAg
dGVzdEhlaWdodHMoMC41KTsKKyAgICAgICAgdGVzdEhlaWdodHMoMC43NSk7CisgICAgICAgIHRl
c3RIZWlnaHRzKDAuOSk7CisgICAgICAgIHRlc3RIZWlnaHRzKDEuMSk7CisgICAgICAgIHRlc3RI
ZWlnaHRzKDEuMjUpOworICAgICAgICB0ZXN0SGVpZ2h0cygxLjMzKTsKKyAgICAgICAgdGVzdEhl
aWdodHMoMS41KTsKKyAgICAgICAgdGVzdEhlaWdodHMoMS43NSk7CisgICAgICAgIHRlc3RIZWln
aHRzKDIpOworICAgICAgICB0ZXN0SGVpZ2h0cygxKTsKKworICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J21haW4nKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgICAgICA8L3NjcmlwdD4KKyAgPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>