layer at (0,0) size 785x961
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x961
  RenderBlock {HTML} at (0,0) size 785x961
    RenderBody {BODY} at (8,8) size 769x945 [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 769x150
        RenderText {#text} at (0,0) size 710x150
          text run at (0,0) width 609: "<LINK rel=\"stylesheet\" type=\"text/css\" href=\"linktest.css\" title=\"Default SS\">"
          text run at (608,0) width 1: " "
          text run at (0,15) width 710: "<LINK rel=\"alternate stylesheet\" type=\"text/css\" href=\"linktest2.css\" title=\"Alternate SS\">"
          text run at (709,15) width 1: " "
          text run at (0,30) width 203: "@import url(imptest1.css);"
          text run at (202,30) width 1: " "
          text run at (0,45) width 188: "@import \"imptest1a.css\";"
          text run at (187,45) width 1: " "
          text run at (0,60) width 125: "UL {color: red;}"
          text run at (124,60) width 1: " "
          text run at (0,75) width 172: ".four {color: purple;}"
          text run at (171,75) width 1: " "
          text run at (0,90) width 203: "@import url(imptest2.css);"
          text run at (202,90) width 1: " "
          text run at (0,105) width 32: "<!--"
          text run at (31,105) width 1: " "
          text run at (0,120) width 164: "P.six {color: green;}"
          text run at (163,120) width 1: " "
          text run at (0,135) width 24: "-->"
          text run at (23,135) width 1: " "
      RenderBlock {HR} at (0,197) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,215) size 769x18
        RenderText {#text} at (0,0) size 412x18
          text run at (0,0) width 412: "This sentence should be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 95x15
          RenderText {#text} at (411,2) size 95x15
            text run at (411,2) width 95: "linktest.css"
        RenderText {#text} at (505,0) size 258x18
          text run at (505,0) width 258: ", the reference to which is shown above."
      RenderBlock {P} at (0,249) size 769x36
        RenderText {#text} at (0,0) size 449x18
          text run at (0,0) width 449: "This sentence should NOT be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 102x15
          RenderText {#text} at (448,2) size 102x15
            text run at (448,2) width 102: "linktest2.css"
        RenderText {#text} at (549,0) size 9x18
          text run at (549,0) width 9: ", "
        RenderInline {STRONG} at (0,0) size 43x18
          RenderText {#text} at (557,0) size 43x18
            text run at (557,0) width 43: "unless"
        RenderText {#text} at (599,0) size 750x36
          text run at (599,0) width 151: " the external style sheet"
          text run at (0,18) width 330: "\"Alternate SS\" has been selected via the user agent."
      RenderBlock {UL} at (0,301) size 769x54 [color=#FF0000]
        RenderListItem {LI} at (40,0) size 729x18 [color=#008000]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 398x18
            text run at (0,0) width 398: "This sentence should be green due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 204x15
            RenderText {#text} at (397,2) size 204x15
              text run at (397,2) width 204: "@import url(imptest1.css);"
          RenderText {#text} at (600,0) size 10x18
            text run at (600,0) width 10: "]."
        RenderListItem {LI} at (40,18) size 729x18 [color=#800080]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 404x18
            text run at (0,0) width 404: "This sentence should be purple due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 180x15
            RenderText {#text} at (403,2) size 180x15
              text run at (403,2) width 180: "@import \"imptest1a.css\""
          RenderText {#text} at (582,0) size 10x18
            text run at (582,0) width 10: "]."
        RenderListItem {LI} at (40,36) size 729x18 [color=#008000]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 400x18
            text run at (0,0) width 400: "This sentence should be green thanks to the STYLE attribute ["
          RenderInline {CODE} at (0,0) size 164x15
            RenderText {#text} at (399,2) size 164x15
              text run at (399,2) width 164: "STYLE=\"color: green;\""
          RenderText {#text} at (562,0) size 11x18
            text run at (562,0) width 11: "]."
      RenderBlock {P} at (0,371) size 769x18 [color=#800080]
        RenderText {#text} at (0,0) size 510x18
          text run at (0,0) width 510: "This sentence should be purple, and it doesn't have a terminating paragraph tag."
      RenderBlock {OL} at (0,405) size 769x54
        RenderListItem {LI} at (40,0) size 729x18
          RenderListMarker at (-20,0) size 16x18: "1"
          RenderText {#text} at (0,0) size 204x18
            text run at (0,0) width 204: "This list should NOT be purple."
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x18: "2"
          RenderText {#text} at (0,0) size 176x18
            text run at (0,0) width 176: "It should, instead, be black."
        RenderListItem {LI} at (40,36) size 729x18
          RenderListMarker at (-20,0) size 16x18: "3"
          RenderText {#text} at (0,0) size 512x18
            text run at (0,0) width 512: "If it IS purple, then the browser hasn't correctly parsed the preceding paragraph."
      RenderBlock {P} at (0,475) size 769x36
        RenderText {#text} at (0,0) size 714x18
          text run at (0,0) width 200: "This sentence should be black. "
          text run at (199,0) width 515: "If it is red, then the browser has inappropriately imported the styles from the file"
        RenderInline {TT} at (0,0) size 94x15
          RenderText {#text} at (0,20) size 94x15
            text run at (0,20) width 94: "imptest2.css"
        RenderText {#text} at (93,18) size 35x18
          text run at (93,18) width 35: " (see "
        RenderInline {A} at (0,0) size 70x18 [color=#0000FF]
          RenderText {#text} at (127,18) size 70x18
            text run at (127,18) width 70: "section 3.0"
        RenderText {#text} at (196,18) size 282x18
          text run at (196,18) width 282: " of the CSS1 specification for more details)."
      RenderBlock {P} at (0,527) size 769x18 [color=#008000]
        RenderText {#text} at (0,0) size 206x18
          text run at (0,0) width 206: "This paragraph should be green."
      RenderTable {TABLE} at (0,561) size 769x384 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x382
          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 767x356
            RenderTableCell {TD} at (0,191) 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 755x356 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x36
                RenderText {#text} at (0,0) size 412x18
                  text run at (0,0) width 412: "This sentence should be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 95x15
                  RenderText {#text} at (411,2) size 95x15
                    text run at (411,2) width 95: "linktest.css"
                RenderText {#text} at (505,0) size 717x36
                  text run at (505,0) width 212: ", the reference to which is shown"
                  text run at (0,18) width 43: "above."
              RenderBlock {P} at (4,56) size 747x36
                RenderText {#text} at (0,0) size 449x18
                  text run at (0,0) width 449: "This sentence should NOT be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 102x15
                  RenderText {#text} at (448,2) size 102x15
                    text run at (448,2) width 102: "linktest2.css"
                RenderText {#text} at (549,0) size 9x18
                  text run at (549,0) width 9: ", "
                RenderInline {STRONG} at (0,0) size 43x18
                  RenderText {#text} at (557,0) size 43x18
                    text run at (557,0) width 43: "unless"
                RenderText {#text} at (599,0) size 714x36
                  text run at (599,0) width 115: " the external style"
                  text run at (0,18) width 367: "sheet \"Alternate SS\" has been selected via the user agent."
              RenderBlock {UL} at (4,108) size 747x54 [color=#FF0000]
                RenderListItem {LI} at (40,0) size 707x18 [color=#008000]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 398x18
                    text run at (0,0) width 398: "This sentence should be green due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 204x15
                    RenderText {#text} at (397,2) size 204x15
                      text run at (397,2) width 204: "@import url(imptest1.css);"
                  RenderText {#text} at (600,0) size 10x18
                    text run at (600,0) width 10: "]."
                RenderListItem {LI} at (40,18) size 707x18 [color=#800080]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 404x18
                    text run at (0,0) width 404: "This sentence should be purple due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 180x15
                    RenderText {#text} at (403,2) size 180x15
                      text run at (403,2) width 180: "@import \"imptest1a.css\""
                  RenderText {#text} at (582,0) size 10x18
                    text run at (582,0) width 10: "]."
                RenderListItem {LI} at (40,36) size 707x18 [color=#008000]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 400x18
                    text run at (0,0) width 400: "This sentence should be green thanks to the STYLE attribute ["
                  RenderInline {CODE} at (0,0) size 164x15
                    RenderText {#text} at (399,2) size 164x15
                      text run at (399,2) width 164: "STYLE=\"color: green;\""
                  RenderText {#text} at (562,0) size 11x18
                    text run at (562,0) width 11: "]."
              RenderBlock {P} at (4,178) size 747x18 [color=#800080]
                RenderText {#text} at (0,0) size 510x18
                  text run at (0,0) width 510: "This sentence should be purple, and it doesn't have a terminating paragraph tag."
              RenderBlock {OL} at (4,212) size 747x54
                RenderListItem {LI} at (40,0) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "1"
                  RenderText {#text} at (0,0) size 204x18
                    text run at (0,0) width 204: "This list should NOT be purple."
                RenderListItem {LI} at (40,18) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "2"
                  RenderText {#text} at (0,0) size 176x18
                    text run at (0,0) width 176: "It should, instead, be black."
                RenderListItem {LI} at (40,36) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "3"
                  RenderText {#text} at (0,0) size 512x18
                    text run at (0,0) width 512: "If it IS purple, then the browser hasn't correctly parsed the preceding paragraph."
              RenderBlock {P} at (4,282) size 747x36
                RenderText {#text} at (0,0) size 714x18
                  text run at (0,0) width 200: "This sentence should be black. "
                  text run at (199,0) width 515: "If it is red, then the browser has inappropriately imported the styles from the file"
                RenderInline {TT} at (0,0) size 94x15
                  RenderText {#text} at (0,20) size 94x15
                    text run at (0,20) width 94: "imptest2.css"
                RenderText {#text} at (93,18) size 35x18
                  text run at (93,18) width 35: " (see "
                RenderInline {A} at (0,0) size 70x18 [color=#0000FF]
                  RenderText {#text} at (127,18) size 70x18
                    text run at (127,18) width 70: "section 3.0"
                RenderText {#text} at (196,18) size 282x18
                  text run at (196,18) width 282: " of the CSS1 specification for more details)."
              RenderBlock {P} at (4,334) size 747x18 [color=#008000]
                RenderText {#text} at (0,0) size 206x18
                  text run at (0,0) width 206: "This paragraph should be green."
