layer at (0,0) size 785x1458
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1458
  RenderBlock {HTML} at (0,0) size 785x1458
    RenderBody {BODY} at (8,8) size 769x1442 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x255
        RenderText {#text} at (0,0) size 671x255
          text run at (0,0) width 632: "BODY {background-image: url(../resources/bg.gif); background-position: right top;"
          text run at (631,0) width 1: " "
          text run at (0,15) width 281: "      background-repeat: no-repeat;}"
          text run at (280,15) width 1: " "
          text run at (0,30) width 609: ".one {background-image: url(../resources/bg.gif); background-position: center;"
          text run at (608,30) width 1: " "
          text run at (0,45) width 469: "      background-repeat: no-repeat; background-color: aqua;}"
          text run at (468,45) width 1: " "
          text run at (0,60) width 617: ".two {background-image: url(../resources/bg.gif); background-position: 50% 50%;"
          text run at (616,60) width 1: " "
          text run at (0,75) width 469: "      background-repeat: no-repeat; background-color: aqua;}"
          text run at (468,75) width 1: " "
          text run at (0,90) width 671: ".three {background-image: url(../resources/bg.gif); background-position: bottom right;"
          text run at (670,90) width 1: " "
          text run at (0,105) width 484: "        background-repeat: no-repeat; background-color: aqua;}"
          text run at (483,105) width 1: " "
          text run at (0,120) width 640: ".four {background-image: url(../resources/bg.gif); background-position: 100% 100%;"
          text run at (639,120) width 1: " "
          text run at (0,135) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (475,135) width 1: " "
          text run at (0,150) width 617: ".five {background-image: url(../resources/bg.gif); background-position: 0% 50%;"
          text run at (616,150) width 1: " "
          text run at (0,165) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (475,165) width 1: " "
          text run at (0,180) width 617: ".six {background-image: url(../resources/bg.gif); background-position: 75% 25%;"
          text run at (616,180) width 1: " "
          text run at (0,195) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (475,195) width 1: " "
          text run at (0,210) width 648: ".seven {background-image: url(../resources/bg.gif); background-position: 20px 20px;"
          text run at (647,210) width 1: " "
          text run at (0,225) width 476: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (475,225) width 1: " "
          text run at (0,240) width 0: " "
      RenderBlock {HR} at (0,302) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,320) size 769x18
        RenderText {#text} at (0,0) size 514x18
          text run at (0,0) width 514: "This document should have a single, small green image in its upper right corner."
      RenderBlock {P} at (0,354) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 756x54
          text run at (0,0) width 753: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be"
          text run at (0,18) width 232: "fixed at the center of the paragraph. "
          text run at (231,18) width 525: "The background color will make it easier to determine the edges of the paragraph,"
          text run at (0,36) width 295: "and therefore allow you to calculate its center."
      RenderBlock {P} at (0,424) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 756x54
          text run at (0,0) width 753: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be"
          text run at (0,18) width 232: "fixed at the center of the paragraph. "
          text run at (231,18) width 525: "The background color will make it easier to determine the edges of the paragraph,"
          text run at (0,36) width 295: "and therefore allow you to calculate its center."
      RenderBlock {P} at (0,494) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 764x54
          text run at (0,0) width 748: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the"
          text run at (0,18) width 417: "image should be fixed at the lower right corner of the paragraph. "
          text run at (416,18) width 348: "The background color will make it easier to determine"
          text run at (0,36) width 445: "the edges of the paragraph, and therefore allow you to see its corners."
      RenderBlock {P} at (0,564) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 764x54
          text run at (0,0) width 748: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the"
          text run at (0,18) width 417: "image should be fixed at the lower right corner of the paragraph. "
          text run at (416,18) width 348: "The background color will make it easier to determine"
          text run at (0,36) width 445: "the edges of the paragraph, and therefore allow you to see its corners."
      RenderBlock {P} at (0,634) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 751x54
          text run at (0,0) width 741: "This paragraph should have a single, small green image exactly at the left center; that is, the left center of the image"
          text run at (0,18) width 323: "should be fixed at the left center of the paragraph. "
          text run at (322,18) width 429: "The background color will make it easier to determine the edges of"
          text run at (0,36) width 391: "the paragraph, and therefore allow you to calculate its center."
      RenderBlock {P} at (0,704) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 762x54
          text run at (0,0) width 762: "This paragraph should have a single, small green image positioned 75% of the way across the element, and 25% down."
          text run at (0,18) width 758: "The background color will make it easier to determine the edges of the paragraph, which should help in determining if"
          text run at (0,36) width 683: "all this is so, and the extra text should make the element long enough for this test to be simpler to evaluate."
      RenderBlock {P} at (0,774) size 769x72 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 769x72
          text run at (0,0) width 764: "This paragraph should have a single, small green image positioned 20 pixels down and to the left of the upper left-hand"
          text run at (0,18) width 759: "corner; that is, the upper left-hand corner of the image should be 20 pixels down and to the left of the upper-left corner"
          text run at (0,36) width 100: "of the element. "
          text run at (99,36) width 670: "The background color will make it easier to determine the edges of the paragraph, which should assist in"
          text run at (0,54) width 124: "evaluating this test."
      RenderTable {TABLE} at (0,862) size 769x580 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x578
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x552
            RenderTableCell {TD} at (0,289) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x552 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x18
                RenderText {#text} at (0,0) size 514x18
                  text run at (0,0) width 514: "This document should have a single, small green image in its upper right corner."
              RenderBlock {P} at (4,38) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 734x54
                  text run at (0,0) width 734: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should"
                  text run at (0,18) width 251: "be fixed at the center of the paragraph. "
                  text run at (250,18) width 453: "The background color will make it easier to determine the edges of the"
                  text run at (0,36) width 367: "paragraph, and therefore allow you to calculate its center."
              RenderBlock {P} at (4,108) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 734x54
                  text run at (0,0) width 734: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should"
                  text run at (0,18) width 251: "be fixed at the center of the paragraph. "
                  text run at (250,18) width 453: "The background color will make it easier to determine the edges of the"
                  text run at (0,36) width 367: "paragraph, and therefore allow you to calculate its center."
              RenderBlock {P} at (4,178) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 724x54
                  text run at (0,0) width 724: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of"
                  text run at (0,18) width 440: "the image should be fixed at the lower right corner of the paragraph. "
                  text run at (439,18) width 281: "The background color will make it easier to"
                  text run at (0,36) width 513: "determine the edges of the paragraph, and therefore allow you to see its corners."
              RenderBlock {P} at (4,248) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 724x54
                  text run at (0,0) width 724: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of"
                  text run at (0,18) width 440: "the image should be fixed at the lower right corner of the paragraph. "
                  text run at (439,18) width 281: "The background color will make it easier to"
                  text run at (0,36) width 513: "determine the edges of the paragraph, and therefore allow you to see its corners."
              RenderBlock {P} at (4,318) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 741x54
                  text run at (0,0) width 741: "This paragraph should have a single, small green image exactly at the left center; that is, the left center of the image"
                  text run at (0,18) width 323: "should be fixed at the left center of the paragraph. "
                  text run at (322,18) width 412: "The background color will make it easier to determine the edges"
                  text run at (0,36) width 408: "of the paragraph, and therefore allow you to calculate its center."
              RenderBlock {P} at (4,388) size 747x72 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 719x72
                  text run at (0,0) width 719: "This paragraph should have a single, small green image positioned 75% of the way across the element, and 25%"
                  text run at (0,18) width 44: "down. "
                  text run at (43,18) width 663: "The background color will make it easier to determine the edges of the paragraph, which should help in"
                  text run at (0,36) width 717: "determining if all this is so, and the extra text should make the element long enough for this test to be simpler to"
                  text run at (0,54) width 58: "evaluate."
              RenderBlock {P} at (4,476) size 747x72 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 738x72
                  text run at (0,0) width 733: "This paragraph should have a single, small green image positioned 20 pixels down and to the left of the upper left-"
                  text run at (0,18) width 728: "hand corner; that is, the upper left-hand corner of the image should be 20 pixels down and to the left of the upper-"
                  text run at (0,36) width 170: "left corner of the element. "
                  text run at (169,36) width 569: "The background color will make it easier to determine the edges of the paragraph, which"
                  text run at (0,54) width 226: "should assist in evaluating this test."
