layer at (0,0) size 785x2379
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2379
  RenderBlock {HTML} at (0,0) size 785x2379
    RenderBody {BODY} at (8,8) size 769x2363 [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 769x128
        RenderText {#text} at (0,0) size 504x128
          text run at (0,0) width 208: "IMG.one {display: inline;}"
          text run at (208,0) width 0: " "
          text run at (0,16) width 200: "IMG.two {display: block;}"
          text run at (200,16) width 0: " "
          text run at (0,32) width 208: "IMG.three {display: block;"
          text run at (208,32) width 0: " "
          text run at (0,48) width 504: "           margin-right: auto; margin-left: auto; width: auto;}"
          text run at (504,48) width 0: " "
          text run at (0,64) width 200: "IMG.four {display: block;"
          text run at (200,64) width 0: " "
          text run at (0,80) width 488: "          margin-right: auto; margin-left: auto; width: 50%;}"
          text run at (488,80) width 0: " "
          text run at (0,96) width 200: "IMG.five {display: block;"
          text run at (200,96) width 0: " "
          text run at (0,112) width 464: "          margin-right: 0; margin-left: auto; width: 50%;}"
          text run at (464,112) width 0: " "
      RenderBlock {HR} at (0,177) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,195) size 769x20
        RenderImage {IMG} at (0,0) size 15x15
        RenderText {#text} at (15,0) size 411x19
          text run at (15,0) width 411: "The image at the beginning of this sentence should be a 15px square."
      RenderImage {IMG} at (0,231) size 15x15
      RenderBlock {P} at (0,262) size 769x20
        RenderText {#text} at (0,0) size 467x19
          text run at (0,0) width 467: "The above image should be a 15px square with the same left edge as this text."
      RenderImage {IMG} at (377,298) size 15x15
      RenderBlock {P} at (0,329) size 769x20
        RenderText {#text} at (0,0) size 383x19
          text run at (0,0) width 383: "The above image should be a 15px square aligned at the center."
      RenderImage {IMG} at (192,365) size 385x385
      RenderBlock {P} at (0,766) size 769x40
        RenderText {#text} at (0,0) size 750x39
          text run at (0,0) width 750: "The above image should be a square resized so its width is 50% of the its parent element, and centered horizontally within the"
          text run at (0,20) width 95: "parent element: "
          text run at (95,20) width 375: "the document body in the first half, and the table in the second."
      RenderImage {IMG} at (384,822) size 385x385
      RenderBlock {P} at (0,1223) size 769x40
        RenderText {#text} at (0,0) size 765x39
          text run at (0,0) width 765: "The above image should be a square resized so its width is 50% of its parent element, and aligned at the right edge of the parent"
          text run at (0,20) width 53: "element: "
          text run at (53,20) width 375: "the document body in the first half, and the table in the second."
      RenderTable {TABLE} at (0,1279) size 769x1084 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x1082
          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 767x1054
            RenderTableCell {TD} at (0,541) 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 755x1054 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x20
                RenderImage {IMG} at (0,0) size 15x15
                RenderText {#text} at (15,0) size 411x19
                  text run at (15,0) width 411: "The image at the beginning of this sentence should be a 15px square."
              RenderImage {IMG} at (4,40) size 15x15
              RenderBlock {P} at (4,71) size 747x20
                RenderText {#text} at (0,0) size 467x19
                  text run at (0,0) width 467: "The above image should be a 15px square with the same left edge as this text."
              RenderImage {IMG} at (370,107) size 15x15
              RenderBlock {P} at (4,138) size 747x20
                RenderText {#text} at (0,0) size 383x19
                  text run at (0,0) width 383: "The above image should be a 15px square aligned at the center."
              RenderImage {IMG} at (190,174) size 375x374
              RenderBlock {P} at (4,564) size 747x40
                RenderText {#text} at (0,0) size 728x39
                  text run at (0,0) width 728: "The above image should be a square resized so its width is 50% of the its parent element, and centered horizontally within"
                  text run at (0,20) width 117: "the parent element: "
                  text run at (117,20) width 375: "the document body in the first half, and the table in the second."
              RenderImage {IMG} at (377,620) size 374x374
              RenderBlock {P} at (4,1010) size 747x40
                RenderText {#text} at (0,0) size 723x39
                  text run at (0,0) width 723: "The above image should be a square resized so its width is 50% of its parent element, and aligned at the right edge of the"
                  text run at (0,20) width 95: "parent element: "
                  text run at (95,20) width 375: "the document body in the first half, and the table in the second."
