layer at (0,0) size 785x1105
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1105
  RenderBlock {HTML} at (0,0) size 785x1105
    RenderBody {BODY} at (8,8) size 769x1089 [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 769x176
        RenderText {#text} at (0,0) size 240x176
          text run at (0,0) width 200: ".one {font-weight: bold;}"
          text run at (0,16) width 216: ".two {font-weight: bolder;}"
          text run at (0,32) width 240: ".three {font-weight: lighter;}"
          text run at (0,48) width 200: ".four {font-weight: 100;}"
          text run at (0,64) width 200: ".five {font-weight: 300;}"
          text run at (0,80) width 192: ".six {font-weight: 500;}"
          text run at (0,96) width 208: ".seven {font-weight: 700;}"
          text run at (0,112) width 208: ".eight {font-weight: 900;}"
          text run at (0,128) width 224: ".nine {font-weight: normal;}"
          text run at (0,144) width 200: "B {font-weight: lighter;}"
          text run at (0,160) width 0: " "
      RenderBlock {HR} at (0,225) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,243) size 769x20
        RenderText {#text} at (0,0) size 195x19
          text run at (0,0) width 195: "This sentence should be bold."
      RenderBlock {P} at (0,279) size 769x20
        RenderText {#text} at (0,0) size 292x19
          text run at (0,0) width 292: "This sentence should be bolder than normal."
      RenderBlock {H4} at (0,320) size 769x21
        RenderText {#text} at (0,0) size 129x19
          text run at (0,0) width 129: "This is a heading-4."
      RenderBlock {H4} at (0,361) size 769x21
        RenderText {#text} at (0,0) size 175x19
          text run at (0,0) width 175: "This is a bolder heading-4."
      RenderBlock {P} at (0,402) size 769x21
        RenderInline {B} at (0,0) size 335x19
          RenderText {#text} at (0,0) size 335x19
            text run at (0,0) width 335: "This sentence should be normal (boldface made lighter)."
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,438) size 769x21
        RenderText {#text} at (0,0) size 218x19
          text run at (0,0) width 218: "This sentence should be weight 100."
      RenderBlock {P} at (0,474) size 769x21
        RenderText {#text} at (0,0) size 218x19
          text run at (0,0) width 218: "This sentence should be weight 300."
      RenderBlock {P} at (0,510) size 769x21
        RenderText {#text} at (0,0) size 218x19
          text run at (0,0) width 218: "This sentence should be weight 500."
      RenderBlock {P} at (0,546) size 769x21
        RenderText {#text} at (0,0) size 238x19
          text run at (0,0) width 238: "This sentence should be weight 700."
      RenderBlock {P} at (0,582) size 769x21
        RenderText {#text} at (0,0) size 238x19
          text run at (0,0) width 238: "This sentence should be weight 900."
      RenderBlock {P} at (0,618) size 769x21
        RenderText {#text} at (0,0) size 484x19
          text run at (0,0) width 484: "This sentence should be bold, but the last word in the sentence should be "
        RenderInline {SPAN} at (0,0) size 41x19
          RenderText {#text} at (484,0) size 41x19
            text run at (484,0) width 41: "normal"
        RenderText {#text} at (525,0) size 4x19
          text run at (525,0) width 4: "."
      RenderTable {TABLE} at (0,654) size 551x435 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 549x432
          RenderTableRow {TR} at (0,0) size 549x28
            RenderTableCell {TD} at (0,0) size 549x28 [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 549x404
            RenderTableCell {TD} at (0,215) size 12x29 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x20
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,28) size 537x404 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 529x20
                RenderText {#text} at (0,0) size 195x19
                  text run at (0,0) width 195: "This sentence should be bold."
              RenderBlock {P} at (4,40) size 529x20
                RenderText {#text} at (0,0) size 292x19
                  text run at (0,0) width 292: "This sentence should be bolder than normal."
              RenderBlock {H4} at (4,81) size 529x21
                RenderText {#text} at (0,0) size 129x19
                  text run at (0,0) width 129: "This is a heading-4."
              RenderBlock {H4} at (4,122) size 529x21
                RenderText {#text} at (0,0) size 175x19
                  text run at (0,0) width 175: "This is a bolder heading-4."
              RenderBlock {P} at (4,163) size 529x21
                RenderInline {B} at (0,0) size 335x19
                  RenderText {#text} at (0,0) size 335x19
                    text run at (0,0) width 335: "This sentence should be normal (boldface made lighter)."
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,199) size 529x21
                RenderText {#text} at (0,0) size 218x19
                  text run at (0,0) width 218: "This sentence should be weight 100."
              RenderBlock {P} at (4,235) size 529x21
                RenderText {#text} at (0,0) size 218x19
                  text run at (0,0) width 218: "This sentence should be weight 300."
              RenderBlock {P} at (4,271) size 529x21
                RenderText {#text} at (0,0) size 218x19
                  text run at (0,0) width 218: "This sentence should be weight 500."
              RenderBlock {P} at (4,307) size 529x21
                RenderText {#text} at (0,0) size 238x19
                  text run at (0,0) width 238: "This sentence should be weight 700."
              RenderBlock {P} at (4,343) size 529x21
                RenderText {#text} at (0,0) size 238x19
                  text run at (0,0) width 238: "This sentence should be weight 900."
              RenderBlock {P} at (4,379) size 529x21
                RenderText {#text} at (0,0) size 484x19
                  text run at (0,0) width 484: "This sentence should be bold, but the last word in the sentence should be "
                RenderInline {SPAN} at (0,0) size 41x19
                  RenderText {#text} at (484,0) size 41x19
                    text run at (484,0) width 41: "normal"
                RenderText {#text} at (525,0) size 4x19
                  text run at (525,0) width 4: "."
