layer at (0,0) size 785x914
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x914
  RenderBlock {HTML} at (0,0) size 785x914
    RenderBody {BODY} at (8,8) size 769x898 [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 769x165
        RenderText {#text} at (0,0) size 227x165
          text run at (0,0) width 211: ".one {word-spacing: 0.3in;}"
          text run at (210,0) width 1: " "
          text run at (0,15) width 211: ".two {word-spacing: 0.5cm;}"
          text run at (210,15) width 1: " "
          text run at (0,30) width 211: ".three {word-spacing: 5mm;}"
          text run at (210,30) width 1: " "
          text run at (0,45) width 203: ".four {word-spacing: 3pt;}"
          text run at (202,45) width 1: " "
          text run at (0,60) width 227: ".five {word-spacing: 0.25pc;}"
          text run at (226,60) width 1: " "
          text run at (0,75) width 196: ".six {word-spacing: 1em;}"
          text run at (195,75) width 1: " "
          text run at (0,90) width 211: ".seven {word-spacing: 1ex;}"
          text run at (210,90) width 1: " "
          text run at (0,105) width 211: ".eight {word-spacing: 5px;}"
          text run at (210,105) width 1: " "
          text run at (0,120) width 227: ".nine {word-spacing: normal;}"
          text run at (226,120) width 1: " "
          text run at (0,135) width 219: ".ten {word-spacing: -0.2em;}"
          text run at (218,135) width 1: " "
          text run at (0,150) width 0: " "
      RenderBlock {HR} at (0,212) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,230) size 769x18
        RenderText {#text} at (0,0) size 716x18
          text run at (0,0) width 716: "This words in this sentence should have extra space between them."
      RenderBlock {P} at (0,264) size 769x18
        RenderText {#text} at (0,0) size 617x18
          text run at (0,0) width 617: "This words in this sentence should have extra space between them."
      RenderBlock {P} at (0,298) size 769x18
        RenderText {#text} at (0,0) size 617x18
          text run at (0,0) width 617: "This words in this sentence should have extra space between them."
      RenderBlock {P} at (0,332) size 769x18
        RenderText {#text} at (0,0) size 468x18
          text run at (0,0) width 468: "This words in this sentence should have extra space between them."
      RenderBlock {P} at (0,366) size 769x18
        RenderText {#text} at (0,0) size 468x18
          text run at (0,0) width 468: "This words in this sentence should have extra space between them."
      RenderBlock {P} at (0,400) size 769x18
        RenderText {#text} at (0,0) size 588x18
          text run at (0,0) width 588: "This words in this sentence should have extra space between them."
      RenderBlock {P} at (0,434) size 769x18
        RenderText {#text} at (0,0) size 500x18
          text run at (0,0) width 500: "This words in this sentence should have extra space between them."
      RenderBlock {P} at (0,468) size 769x36
        RenderText {#text} at (0,0) size 763x18
          text run at (0,0) width 763: "This words in this sentence should have extra space between them, but the last few words in the sentence"
        RenderInline {SPAN} at (0,0) size 180x18
          RenderText {#text} at (0,18) size 180x18
            text run at (0,18) width 180: "should have normal spacing"
        RenderText {#text} at (179,18) size 5x18
          text run at (179,18) width 5: "."
      RenderBlock {P} at (0,520) size 769x18
        RenderText {#text} at (0,0) size 716x18
          text run at (0,0) width 716: "This words in this sentence should have reduced space between them, since negative values are allowed on this property."
      RenderTable {TABLE} at (0,554) size 769x344 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x342
          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 767x316
            RenderTableCell {TD} at (0,171) 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 755x316 [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 716x18
                  text run at (0,0) width 716: "This words in this sentence should have extra space between them."
              RenderBlock {P} at (4,38) size 747x18
                RenderText {#text} at (0,0) size 617x18
                  text run at (0,0) width 617: "This words in this sentence should have extra space between them."
              RenderBlock {P} at (4,72) size 747x18
                RenderText {#text} at (0,0) size 617x18
                  text run at (0,0) width 617: "This words in this sentence should have extra space between them."
              RenderBlock {P} at (4,106) size 747x18
                RenderText {#text} at (0,0) size 468x18
                  text run at (0,0) width 468: "This words in this sentence should have extra space between them."
              RenderBlock {P} at (4,140) size 747x18
                RenderText {#text} at (0,0) size 468x18
                  text run at (0,0) width 468: "This words in this sentence should have extra space between them."
              RenderBlock {P} at (4,174) size 747x18
                RenderText {#text} at (0,0) size 588x18
                  text run at (0,0) width 588: "This words in this sentence should have extra space between them."
              RenderBlock {P} at (4,208) size 747x18
                RenderText {#text} at (0,0) size 500x18
                  text run at (0,0) width 500: "This words in this sentence should have extra space between them."
              RenderBlock {P} at (4,242) size 747x36
                RenderText {#text} at (0,0) size 699x36
                  text run at (0,0) width 699: "This words in this sentence should have extra space between them, but the last few words in the"
                  text run at (0,18) width 65: "sentence "
                RenderInline {SPAN} at (0,0) size 180x18
                  RenderText {#text} at (64,18) size 180x18
                    text run at (64,18) width 180: "should have normal spacing"
                RenderText {#text} at (243,18) size 5x18
                  text run at (243,18) width 5: "."
              RenderBlock {P} at (4,294) size 747x18
                RenderText {#text} at (0,0) size 716x18
                  text run at (0,0) width 716: "This words in this sentence should have reduced space between them, since negative values are allowed on this property."
