layer at (0,0) size 785x997
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x997
  RenderBlock {HTML} at (0,0) size 785x997
    RenderBody {BODY} at (8,8) size 769x981 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x48
        RenderText {#text} at (0,0) size 168x48
          text run at (0,0) width 160: ".one {height: 50px;}"
          text run at (160,0) width 0: " "
          text run at (0,16) width 168: ".two {height: 100px;}"
          text run at (168,16) width 0: " "
          text run at (0,32) width 0: " "
      RenderBlock {HR} at (0,97) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,107) size 769x50
        RenderImage {IMG} at (0,0) size 50x50
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,173) size 769x20
        RenderText {#text} at (0,0) size 259x19
          text run at (0,0) width 259: "The square above should be fifty pixels tall."
      RenderBlock (anonymous) at (0,209) size 769x100
        RenderImage {IMG} at (0,0) size 100x100
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,325) size 769x20
        RenderText {#text} at (0,0) size 320x19
          text run at (0,0) width 320: "The square above should be 100 pixels tall and wide."
      RenderBlock (anonymous) at (0,361) size 769x100
        RenderImage {IMG} at (0,0) size 30x100
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,477) size 769x40
        RenderText {#text} at (0,0) size 743x39
          text run at (0,0) width 743: "The rectangular image above should be 100 pixels tall and 30 pixels wide (the original image is 50x15, and the size has been"
          text run at (0,20) width 109: "doubled using the "
        RenderInline {CODE} at (0,0) size 48x16
          RenderText {#text} at (109,23) size 48x16
            text run at (109,23) width 48: "height"
        RenderText {#text} at (157,20) size 65x19
          text run at (157,20) width 65: " property)."
      RenderTable {TABLE} at (0,533) size 769x448 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x446
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 767x418
            RenderTableCell {TD} at (0,223) size 12x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x418 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (4,4) size 747x50
                RenderImage {IMG} at (0,0) size 50x50
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,70) size 747x20
                RenderText {#text} at (0,0) size 259x19
                  text run at (0,0) width 259: "The square above should be fifty pixels tall."
              RenderBlock (anonymous) at (4,106) size 747x100
                RenderImage {IMG} at (0,0) size 100x100
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,222) size 747x20
                RenderText {#text} at (0,0) size 320x19
                  text run at (0,0) width 320: "The square above should be 100 pixels tall and wide."
              RenderBlock (anonymous) at (4,258) size 747x100
                RenderImage {IMG} at (0,0) size 30x100
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,374) size 747x40
                RenderText {#text} at (0,0) size 743x39
                  text run at (0,0) width 743: "The rectangular image above should be 100 pixels tall and 30 pixels wide (the original image is 50x15, and the size has been"
                  text run at (0,20) width 109: "doubled using the "
                RenderInline {CODE} at (0,0) size 48x16
                  RenderText {#text} at (109,23) size 48x16
                    text run at (109,23) width 48: "height"
                RenderText {#text} at (157,20) size 65x19
                  text run at (157,20) width 65: " property)."
