layer at (0,0) size 785x638
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x638
  RenderBlock {HTML} at (0,0) size 785x638
    RenderBody {BODY} at (8,8) size 769x622
      RenderBlock (anonymous) at (0,0) size 769x36
        RenderText {#text} at (0,0) size 745x36
          text run at (0,0) width 717: "In the test below, the column rules should not be visible, since a negative z-index child is painting on top of them. "
          text run at (717,0) width 28: "You"
          text run at (0,18) width 157: "should see no red below."
layer at (8,44) size 769x586 layerType: background only
layer at (13,49) size 759x576
  RenderBlock (positioned) zI: -1 {DIV} at (5,5) size 759x576 [bgcolor=#EEEEEE]
layer at (8,44) size 769x586 layerType: foreground only
  RenderBlock (relative positioned) {DIV} at (0,36) size 769x586 [bgcolor=#FF0000] [border: (5px solid #000000)]
    RenderMultiColumnSet at (35,5) size 699x576
layer at (43,49) size 222x1692 backgroundClip at (0,0) size 785x638 clip at (0,0) size 785x638
  RenderMultiColumnFlowThread at (35,5) size 223x1692
    RenderText {#text} at (0,0) size 221x1692
      text run at (0,0) width 177: "Lorem ipsum dolor sit amet,"
      text run at (0,18) width 212: "consectetuer adipiscing elit. Nulla"
      text run at (0,36) width 179: "varius enim ac mi. Curabitur"
      text run at (0,54) width 173: "sollicitudin felis quis lectus."
      text run at (0,72) width 208: "Quisque adipiscing rhoncus sem."
      text run at (0,90) width 201: "Proin nulla purus, vulputate vel,"
      text run at (0,108) width 192: "varius ut, euismod et, nisi. Sed"
      text run at (0,126) width 216: "vitae felis vel orci sagittis aliquam."
      text run at (0,144) width 190: "Cras convallis adipiscing sem."
      text run at (0,162) width 189: "Nam nonummy enim. Nullam"
      text run at (0,180) width 160: "bibendum lobortis neque."
      text run at (0,198) width 185: "Vestibulum velit orci, tempus"
      text run at (0,216) width 203: "euismod, pretium quis, interdum"
      text run at (0,234) width 211: "vitae, nulla. Phasellus eget ante et"
      text run at (0,252) width 201: "tortor condimentum vestibulum."
      text run at (0,270) width 202: "Suspendisse hendrerit quam nec"
      text run at (0,288) width 211: "felis. Sed varius turpis vitae pede."
      text run at (0,306) width 177: "Lorem ipsum dolor sit amet,"
      text run at (0,324) width 211: "consectetuer adipiscing elit. Proin"
      text run at (0,342) width 192: "bibendum justo ac enim. Class"
      text run at (0,360) width 186: "aptent taciti sociosqu ad litora"
      text run at (0,378) width 200: "torquent per conubia nostra, per"
      text run at (0,396) width 221: "inceptos hymenaeos. Sed leo nulla,"
      text run at (0,414) width 212: "rutrum eu, dictum ut, posuere vel,"
      text run at (0,432) width 185: "arcu. Nam libero. Morbi orci."
      text run at (0,450) width 213: "Maecenas pellentesque. Curabitur"
      text run at (0,468) width 203: "erat erat, ullamcorper at, gravida"
      text run at (0,486) width 194: "vitae, iaculis vitae, elit. Nullam"
      text run at (0,504) width 168: "quam. Quisque orci lectus,"
      text run at (0,522) width 190: "ullamcorper eu, imperdiet sed,"
      text run at (0,540) width 193: "accumsan et, ligula. Duis diam"
      text run at (0,558) width 194: "nisl, sagittis a, blandit volutpat,"
      text run at (0,576) width 197: "interdum sed, velit. Vestibulum"
      text run at (0,594) width 195: "quam. Nulla a purus. Phasellus"
      text run at (0,612) width 177: "semper semper lectus. Nulla"
      text run at (0,630) width 211: "porttitor, dolor dictum scelerisque"
      text run at (0,648) width 215: "luctus, velit ipsum lobortis mauris,"
      text run at (0,666) width 196: "ac pretium enim nunc vel risus."
      text run at (0,684) width 194: "Proin gravida mi ut sem cursus"
      text run at (0,702) width 188: "mattis. Fusce laoreet, nisi quis"
      text run at (0,720) width 220: "luctus volutpat, arcu pede tincidunt"
      text run at (0,738) width 208: "enim, nec malesuada urna nisl eu"
      text run at (0,756) width 198: "enim. Vivamus varius augue ac"
      text run at (0,774) width 193: "purus. Vestibulum vestibulum."
      text run at (0,792) width 159: "Phasellus et est vitae ante"
      text run at (0,810) width 163: "accumsan rhoncus. Morbi"
      text run at (0,828) width 221: "convallis, arcu at hendrerit gravida,"
      text run at (0,846) width 186: "sem diam dignissim risus, sed"
      text run at (0,864) width 212: "aliquet erat mi ut mi. Nunc cursus"
      text run at (0,882) width 209: "lacinia elit. Nunc nisi. Quisque at"
      text run at (0,900) width 190: "erat. Vestibulum dictum quam"
      text run at (0,918) width 197: "vitae nibh. Nunc vitae ante non"
      text run at (0,936) width 203: "odio interdum blandit. Curabitur"
      text run at (0,954) width 210: "leo quam, fermentum sed, feugiat"
      text run at (0,972) width 151: "in, ullamcorper id, nibh."
      text run at (0,990) width 199: "Suspendisse ac turpis. In iaculis"
      text run at (0,1008) width 184: "sollicitudin dui. Aenean vitae"
      text run at (0,1026) width 187: "lectus vitae nulla pellentesque"
      text run at (0,1044) width 218: "sollicitudin. Nunc gravida pharetra"
      text run at (0,1062) width 213: "lectus. Etiam lacus ligula, placerat"
      text run at (0,1080) width 214: "ut, dictum vitae, tempus vel, risus."
      text run at (0,1098) width 186: "Cras rhoncus. Praesent varius"
      text run at (0,1116) width 214: "ultricies orci. Donec mattis, neque"
      text run at (0,1134) width 175: "ut ornare fringilla, ante urna"
      text run at (0,1152) width 199: "placerat eros, vel commodo nisi"
      text run at (0,1170) width 217: "tortor ut mauris. Morbi magna dui,"
      text run at (0,1188) width 177: "sagittis sit amet, tincidunt et,"
      text run at (0,1206) width 187: "elementum eget, quam. Fusce"
      text run at (0,1224) width 219: "molestie nisl vitae nisi. Vestibulum"
      text run at (0,1242) width 188: "a sapien. Phasellus ante lacus,"
      text run at (0,1260) width 212: "vehicula non, cursus a, tempor ut,"
      text run at (0,1278) width 219: "magna. Suspendisse potenti. Fusce"
      text run at (0,1296) width 188: "aliquet, odio viverra vulputate"
      text run at (0,1314) width 214: "dictum, enim odio luctus purus, ut"
      text run at (0,1332) width 196: "scelerisque quam nulla non est."
      text run at (0,1350) width 199: "Donec eros lacus, egestas vitae,"
      text run at (0,1368) width 195: "lacinia quis, tempor quis, pede."
      text run at (0,1386) width 206: "Morbi orci erat, iaculis id, ornare"
      text run at (0,1404) width 182: "ac, elementum at, sem. Nunc"
      text run at (0,1422) width 163: "ornare sodales nisi. Morbi"
      text run at (0,1440) width 194: "interdum commodo nisl. Fusce"
      text run at (0,1458) width 209: "eget eros non nisi ornare facilisis."
      text run at (0,1476) width 183: "Sed placerat, est non posuere"
      text run at (0,1494) width 185: "posuere, purus sem dignissim"
      text run at (0,1512) width 196: "libero, a viverra tellus dolor vel"
      text run at (0,1530) width 213: "lorem. Cras augue. Etiam ultricies"
      text run at (0,1548) width 209: "consequat odio. Mauris ac libero."
      text run at (0,1566) width 168: "Etiam posuere, libero vitae"
      text run at (0,1584) width 163: "euismod gravida, urna elit"
      text run at (0,1602) width 199: "imperdiet magna, vel cursus elit"
      text run at (0,1620) width 209: "felis non mauris. Donec orci erat,"
      text run at (0,1638) width 189: "porta id, dignissim ut, posuere"
      text run at (0,1656) width 155: "dictum, leo. Suspendisse"
      text run at (0,1674) width 157: "scelerisque egestas nulla."
