layer at (0,0) size 785x1028
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1028
  RenderBlock {HTML} at (0,0) size 785x1028
    RenderBody {BODY} at (8,8) size 769x1012 [bgcolor=#CCCCCC]
      RenderBlock {P} at (20,0) size 749x18
        RenderText {#text} at (0,0) size 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x105
        RenderText {#text} at (0,0) size 344x105
          text run at (0,0) width 176: "P {margin-left: 20px;}"
          text run at (0,15) width 312: ".one {border-left: purple double 10px;}"
          text run at (0,30) width 304: ".two {border-left: purple thin solid;}"
          text run at (0,45) width 336: ".threea {border-left: black medium solid;}"
          text run at (0,60) width 344: ".threeb {border-left: purple medium solid;}"
          text run at (0,75) width 328: ".threec {border-left: blue medium solid;}"
          text run at (0,90) width 272: "TD {border-left: green 2px solid;}"
      RenderBlock {HR} at (0,152) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (20,170) size 749x36
        RenderText {#text} at (0,0) size 707x35
          text run at (0,0) width 634: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
          text run at (634,0) width 73: "This border"
          text run at (0,18) width 365: "applies only to the cells, not the rows which contain them."
      RenderBlock {P} at (20,222) size 749x18 [border: none (10px double #800080)]
        RenderText {#text} at (10,0) size 414x17
          text run at (10,0) width 414: "This paragraph should have a purple, double, 10-pixel left border."
      RenderBlock {P} at (20,256) size 749x18 [border: none (1px solid #800080)]
        RenderText {#text} at (1,0) size 331x17
          text run at (1,0) width 331: "This paragraph should have a thin purple left border."
      RenderTable {TABLE} at (0,290) size 769x107 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x105
          RenderTableRow {TR} at (0,5) size 767x40
            RenderTableCell {TD} at (5,5) size 758x40 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (3,2) size 735x35
                text run at (3,2) width 429: "Every cell in this table should have a 2-pixel solid green left border. "
                text run at (432,2) width 306: "This is also true of the table-testing section in the"
                text run at (3,20) width 175: "second half of the test page."
          RenderTableRow {TR} at (0,50) size 767x50
            RenderTableCell {TD} at (5,64) size 194x22 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (3,2) size 53x17
                text run at (3,2) width 53: "Cell one"
            RenderTableCell {TD} at (203,50) size 560x50 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (3,2) size 554x18
                RenderText {#text} at (0,0) size 54x17
                  text run at (0,0) width 54: "Cell two"
              RenderTable {TABLE} at (3,20) size 162x28 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 160x26
                  RenderTableRow {TR} at (0,2) size 160x22
                    RenderTableCell {TD} at (2,2) size 156x22 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 151x17
                        text run at (3,2) width 151: "Nested single-cell table!"
      RenderBlock {UL} at (0,413) size 769x144
        RenderListItem {LI} at (40,0) size 729x72 [border: none (3px solid #000000)]
          RenderBlock (anonymous) at (3,0) size 726x18
            RenderListMarker at (-20,0) size 7x17: bullet
            RenderText {#text} at (0,0) size 118x17
              text run at (0,0) width 118: "This is a list item..."
          RenderBlock {UL} at (3,18) size 726x54
            RenderListItem {LI} at (40,0) size 686x18
              RenderListMarker at (-17,0) size 7x17: white bullet
              RenderText {#text} at (0,0) size 73x17
                text run at (0,0) width 73: "...and this..."
            RenderListItem {LI} at (40,18) size 686x18
              RenderListMarker at (-17,0) size 7x17: white bullet
              RenderText {#text} at (0,0) size 115x17
                text run at (0,0) width 115: "...is a second list..."
            RenderListItem {LI} at (40,36) size 686x18
              RenderListMarker at (-17,0) size 7x17: white bullet
              RenderText {#text} at (0,0) size 176x17
                text run at (0,0) width 176: "...nested within the list item."
        RenderListItem {LI} at (40,72) size 729x18 [border: none (3px solid #800080)]
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (3,0) size 158x17
            text run at (3,0) width 158: "This is a second list item."
        RenderListItem {LI} at (40,90) size 729x54 [border: none (3px solid #0000FF)]
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (3,0) size 720x53
            text run at (3,0) width 695: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors. "
            text run at (698,0) width 25: "The"
            text run at (3,18) width 719: "first item's border should travel the entire height the nested list (to end near the baseline of the line \"...nested within"
            text run at (3,36) width 490: "the list item.\"), even though the nested list does not have any border styles set."
      RenderTable {TABLE} at (0,573) size 769x439 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x437
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x17
                RenderText {#text} at (5,4) size 163x17
                  text run at (5,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x411
            RenderTableCell {TD} at (0,218) size 13x27 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (5,4) size 4x18
                text run at (5,5) width 4: " "
            RenderTableCell {TD} at (13,26) size 754x411 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (25,4) size 725x36
                RenderText {#text} at (0,0) size 707x35
                  text run at (0,0) width 634: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
                  text run at (634,0) width 73: "This border"
                  text run at (0,18) width 365: "applies only to the cells, not the rows which contain them."
              RenderBlock {P} at (25,56) size 725x18 [border: none (10px double #800080)]
                RenderText {#text} at (10,0) size 414x17
                  text run at (10,0) width 414: "This paragraph should have a purple, double, 10-pixel left border."
              RenderBlock {P} at (25,90) size 725x18 [border: none (1px solid #800080)]
                RenderText {#text} at (1,0) size 331x17
                  text run at (1,0) width 331: "This paragraph should have a thin purple left border."
              RenderTable {TABLE} at (5,124) size 745x107 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 743x105
                  RenderTableRow {TR} at (0,5) size 743x40
                    RenderTableCell {TD} at (5,5) size 734x40 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (3,2) size 712x35
                        text run at (3,2) width 429: "Every cell in this table should have a 2-pixel solid green left border. "
                        text run at (432,2) width 283: "This is also true of the table-testing section in"
                        text run at (3,20) width 198: "the second half of the test page."
                  RenderTableRow {TR} at (0,50) size 743x50
                    RenderTableCell {TD} at (5,64) size 188x22 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 53x17
                        text run at (3,2) width 53: "Cell one"
                    RenderTableCell {TD} at (197,50) size 542x50 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (3,2) size 536x18
                        RenderText {#text} at (0,0) size 54x17
                          text run at (0,0) width 54: "Cell two"
                      RenderTable {TABLE} at (3,20) size 162x28 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 160x26
                          RenderTableRow {TR} at (0,2) size 160x22
                            RenderTableCell {TD} at (2,2) size 156x22 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (3,2) size 151x17
                                text run at (3,2) width 151: "Nested single-cell table!"
              RenderBlock {UL} at (5,247) size 745x144
                RenderListItem {LI} at (40,0) size 705x72 [border: none (3px solid #000000)]
                  RenderBlock (anonymous) at (3,0) size 702x18
                    RenderListMarker at (-20,0) size 7x17: bullet
                    RenderText {#text} at (0,0) size 118x17
                      text run at (0,0) width 118: "This is a list item..."
                  RenderBlock {UL} at (3,18) size 702x54
                    RenderListItem {LI} at (40,0) size 662x18
                      RenderListMarker at (-17,0) size 7x17: white bullet
                      RenderText {#text} at (0,0) size 73x17
                        text run at (0,0) width 73: "...and this..."
                    RenderListItem {LI} at (40,18) size 662x18
                      RenderListMarker at (-17,0) size 7x17: white bullet
                      RenderText {#text} at (0,0) size 115x17
                        text run at (0,0) width 115: "...is a second list..."
                    RenderListItem {LI} at (40,36) size 662x18
                      RenderListMarker at (-17,0) size 7x17: white bullet
                      RenderText {#text} at (0,0) size 176x17
                        text run at (0,0) width 176: "...nested within the list item."
                RenderListItem {LI} at (40,72) size 705x18 [border: none (3px solid #800080)]
                  RenderListMarker at (-17,0) size 7x17: bullet
                  RenderText {#text} at (3,0) size 158x17
                    text run at (3,0) width 158: "This is a second list item."
                RenderListItem {LI} at (40,90) size 705x54 [border: none (3px solid #0000FF)]
                  RenderListMarker at (-17,0) size 7x17: bullet
                  RenderText {#text} at (3,0) size 691x53
                    text run at (3,0) width 691: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors."
                    text run at (3,18) width 641: "The first item's border should travel the entire height the nested list (to end near the baseline of the line"
                    text run at (3,36) width 597: "\"...nested within the list item.\"), even though the nested list does not have any border styles set."
