layer at (0,0) size 800x4064
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x4064
  RenderBlock {HTML} at (0,0) size 800x4064 [color=#FF0000] [bgcolor=#FFFFFF]
    RenderBody {BODY} at (0,84) size 800x2780
      RenderBlock {H2} at (72,2482) size 656x72 [color=#000080]
        RenderText {#text} at (12,46) size 129x28
          text run at (12,46) width 129: "Hello World!"
layer at (36,2638) size 764x226
  RenderBlock (relative positioned) {DIV} at (36,2554) size 764x226 [border: (12px solid #00000000)]
    RenderTable {TABLE} at (12,12) size 0x0
      RenderTableSection {TBODY} at (0,0) size 0x0
        RenderTableRow {TR} at (0,0) size 0x0
          RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
    RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: none (12px solid #000000) none (12px solid #000000)]
      RenderBlock {DIV} at (12,0) size 144x12
        RenderText {#text} at (0,-1) size 90x14
          text run at (0,-1) width 90: "                              "
    RenderBlock (floating) {DIV} at (36,96) size 168x48 [border: none (12px solid #000000)]
      RenderBlock {DIV} at (12,0) size 144x48 [bgcolor=#FFFF00]
        RenderBlock {DIV} at (60,12) size 24x24 [bgcolor=#FF0000]
          RenderBlock (generated) at (0,0) size 24x12 [border: none (12px solid #FFFF00) (12px solid #000000) (12px solid #FFFF00)]
            RenderText at (0,0) size 0x0
          RenderBlock (generated) at (0,12) size 24x12 [border: (12px solid #000000) (12px solid #FFFF00) none (12px solid #FFFF00)]
            RenderText at (0,0) size 0x0
    RenderBlock {DIV} at (87,75) size 590x0
      RenderBlock {DIV} at (48,0) size 518x0
    RenderBlock {DIV} at (48,132) size 668x24
    RenderBlock {DIV} at (60,168) size 120x12 [bgcolor=#FFFF00] [border: none (12px solid #000000) none (12px solid #000000)]
      RenderInline {DIV} at (0,0) size 1x3
        RenderText {#text} at (12,8) size 1x3
          text run at (12,8) width 1: " "
    RenderBlock {DIV} at (12,180) size 740x12
      RenderBlock {DIV} at (60,0) size 96x12 [color=#FFA500] [bgcolor=#FFFF00] [border: none (24px solid #000000) none (24px solid #000000)]
    RenderTable {UL} at (96,192) size 48x12 [bgcolor=#FF0000]
      RenderTableSection (anonymous) at (0,0) size 48x12
        RenderTableRow (anonymous) at (0,0) size 48x12
          RenderTableCell {LI} at (0,0) size 12x0 [bgcolor=#000000] [r=0 c=0 rs=1 cs=1]
          RenderTableCell (anonymous) at (12,0) size 12x12 [r=0 c=1 rs=1 cs=1]
            RenderTable {LI} at (0,0) size 12x12 [bgcolor=#000000]
          RenderTableCell {LI} at (24,0) size 12x0 [bgcolor=#000000] [r=0 c=2 rs=1 cs=1]
          RenderTableCell (anonymous) at (36,0) size 12x12 [r=0 c=3 rs=1 cs=1]
            RenderListItem {LI} at (0,0) size 12x12 [bgcolor=#000000]
layer at (48,2842) size 740x10 scrollHeight 276
  RenderBlock {DIV} at (12,204) size 740x10
    RenderTable {TABLE} at (0,0) size 64x276
      RenderTableSection {TBODY} at (0,0) size 64x276
        RenderTableRow {TR} at (0,0) size 64x276
          RenderTableCell {TD} at (0,0) size 64x276 [r=0 c=0 rs=1 cs=1]
            RenderImage {IMG} at (0,152) size 64x64
layer at (132,108) size 48x18
  RenderBlock (positioned) {P} at (132,108) size 48x18 [bgcolor=#000000] [border: none (6px solid #FFFF00) none]
layer at (132,144) size 48x15
  RenderBlock (positioned) {P} at (132,144) size 48x15 [bgcolor=#000000] [border: none (3px solid #FF0000) none]
layer at (108,2686) size 96x12
  RenderBlock (positioned) {BLOCKQUOTE} at (72,48) size 96x12 [border: none (24px solid #000000) none (24px solid #000000)]
    RenderBlock (floating) {ADDRESS} at (24,0) size 48x12 [bgcolor=#FFFF00]
layer at (84,2710) size 144x24
  RenderBlock (positioned) {DIV} at (48,72) size 144x24 [bgcolor=#FF0000]
    RenderBlock {DIV} at (0,0) size 144x0
      RenderInline {OBJECT} at (0,0) size 131x14
        RenderInline {OBJECT} at (0,0) size 131x14
          RenderImage {OBJECT} at (13,0) size 131x24 [border: none (12px solid #000000) none]
    RenderBlock (floating) {DIV} at (0,0) size 144x24 [border: none (12px solid #FF0000) none (12px solid #000000)]
    RenderBlock {DIV} at (0,0) size 144x24 [border: none (24px solid #FFFF00)]
layer at (84,2782) size 144x24
  RenderBlock (relative positioned) {DIV} at (0,0) size 144x24 [bgcolor=#000000]
layer at (96,2782) size 120x24
  RenderBlock (positioned) {DIV} at (12,0) size 120x24 [border: (12px solid #FFFF00)]
    RenderBlock (floating) {SPAN} at (12,0) size 96x12 [border: none (12px solid #00000000) none (12px solid #00000000)]
      RenderBlock (floating) {EM} at (12,0) size 72x24 [border: (12px solid #FFFF00) none (12px solid #000000) none]
        RenderBlock {STRONG} at (0,12) size 72x0
layer at (48,84) size 704x82
  RenderBlock (relative positioned) zI: 2 {DIV} at (48,0) size 704x82 [color=#000000] [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {H1} at (13,13) size 678x28
      RenderText {#text} at (0,0) size 253x28
        text run at (0,0) width 253: "Standards compliant?"
    RenderBlock {P} at (13,41) size 678x28
      RenderInline {A} at (0,0) size 221x28 [color=#0000FF]
        RenderText {#text} at (0,0) size 221x28
          text run at (0,0) width 221: "Take The Acid2 Test"
      RenderText {#text} at (221,0) size 198x28
        text run at (221,0) width 198: " and compare it to "
      RenderInline {A} at (0,0) size 246x28 [color=#0000FF]
        RenderText {#text} at (419,0) size 246x28
          text run at (419,0) width 246: "the reference rendering"
      RenderText {#text} at (665,0) size 7x28
        text run at (665,0) width 7: "."
