layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (0,0) size 800x584
      RenderBlock {P} at (0,0) size 800x60
        RenderText {#text} at (20,0) size 603x19
          text run at (20,0) width 405: "Here's the structure of the problem table (which usually begins with "
          text run at (425,0) width 64: "'N E W S "
          text run at (489,0) width 134: "H E A D L I N E S'). "
        RenderBR {BR} at (623,15) size 0x0
        RenderText {#text} at (20,20) size 309x19
          text run at (20,20) width 309: "This table is width 100%; two rows; three columns;"
        RenderBR {BR} at (329,35) size 0x0
        RenderText {#text} at (20,40) size 452x19
          text run at (20,40) width 452: "The first row: widths 15, 125, 15 ... The second row: widths 15, 100%, 15"
      RenderTable {TABLE} at (0,76) size 800x41 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 798x39
          RenderTableRow {TR} at (0,0) size 798x17
            RenderTableCell {TD} at (0,7) size 17x3 [bgcolor=#666666] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
            RenderTableCell {TD} at (17,0) size 764x17 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 110x15
            RenderTableCell {TD} at (781,7) size 17x3 [bgcolor=#666666] [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
          RenderTableRow {TR} at (0,17) size 798x22
            RenderTableCell {TD} at (0,26) size 17x4 [bgcolor=#666666] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
            RenderTableCell {TD} at (17,17) size 764x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderText {#text} at (1,1) size 22x19
                text run at (1,1) width 22: "that"
            RenderTableCell {TD} at (781,26) size 17x4 [bgcolor=#666666] [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
      RenderBlock {P} at (0,133) size 800x20
        RenderText {#text} at (20,0) size 734x19
          text run at (20,0) width 247: "Here's the first row in a table on its own. "
          text run at (267,0) width 487: "This table is width 100%; one rows; three columns; This row: widths 15, 125, 15"
      RenderTable {TABLE} at (0,169) size 800x19 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 798x17
          RenderTableRow {TR} at (0,0) size 798x17
            RenderTableCell {TD} at (0,7) size 85x3 [bgcolor=#666666] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
            RenderTableCell {TD} at (84,0) size 630x17 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 110x15
            RenderTableCell {TD} at (713,7) size 86x3 [bgcolor=#666666] [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
      RenderBlock {P} at (0,204) size 800x40
        RenderText {#text} at (20,0) size 748x39
          text run at (20,0) width 268: "Here's the second row in a table on its own. "
          text run at (288,0) width 480: "This table is width 100%; one rows; three columns; This row: widths 15, 100%,"
          text run at (20,20) width 16: "15"
      RenderTable {TABLE} at (0,260) size 800x24 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 798x22
          RenderTableRow {TR} at (0,0) size 798x22
            RenderTableCell {TD} at (0,9) size 17x4 [bgcolor=#666666] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
            RenderTableCell {TD} at (17,0) size 764x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (1,1) size 22x19
                text run at (1,1) width 22: "that"
            RenderTableCell {TD} at (781,9) size 17x4 [bgcolor=#666666] [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
              RenderImage {IMG} at (1,1) size 15x1
      RenderBlock {P} at (0,300) size 800x40
        RenderText {#text} at (20,0) size 759x39
          text run at (20,0) width 575: "Note that in Nav4.x, the middle column gets the width of the maximum width cell in the column; "
          text run at (595,0) width 184: "on 5.0, the middle column gets"
          text run at (20,20) width 138: "the opposite treatment."
