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 (8,8) size 784x584
      RenderTable {TABLE} at (0,0) size 468x154 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 466x152
          RenderTableRow {TR} at (0,0) size 466x152
            RenderTableCell {TD} at (0,0) size 466x152 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderTable {TABLE} at (1,1) size 464x150 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 462x148
                  RenderTableRow {TR} at (0,1) size 462x30
                    RenderTableCell {TD} at (1,1) size 140x30 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (5,5) size 130x19
                        text run at (5,5) width 130: "General Preferences"
                    RenderTableCell {TD} at (141,1) size 148x30 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 137x19 [color=#0000EE]
                        RenderText {#text} at (5,5) size 137x19
                          text run at (5,5) width 137: "Groups / Permissions"
                    RenderTableCell {TD} at (289,1) size 72x30 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 62x19 [color=#0000EE]
                        RenderText {#text} at (5,5) size 62x19
                          text run at (5,5) width 62: "Password"
                    RenderTableCell {TD} at (361,1) size 49x30 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 39x19 [color=#0000EE]
                        RenderText {#text} at (5,5) size 39x19
                          text run at (5,5) width 39: "Email"
                    RenderTableCell {TD} at (410,1) size 51x30 [border: (1px inset #808080)] [r=0 c=4 rs=1 cs=1]
                      RenderText {#text} at (5,5) size 40x19
                        text run at (5,5) width 40: "Views"
                  RenderTableRow {TR} at (0,32) size 462x115
                    RenderTableCell {TD} at (1,32) size 460x115 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=5]
                      RenderBlock (anonymous) at (5,5) size 450x20
                        RenderBR {BR} at (224,0) size 1x19
                      RenderTable {TABLE} at (87,25) size 285x85
                        RenderTableSection {TBODY} at (0,0) size 285x85
                          RenderTableRow {TR} at (0,2) size 285x81
                            RenderTableCell {TD} at (2,2) size 281x81 [r=0 c=0 rs=1 cs=1]
                              RenderBlock {FORM} at (1,1) size 279x63
                                RenderTable {TABLE} at (0,0) size 279x63 [border: (1px outset #808080)]
                                  RenderTableSection {TBODY} at (1,1) size 277x61
                                    RenderTableRow {TR} at (0,0) size 277x61
                                      RenderTableCell {TD} at (0,0) size 277x61 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                                        RenderBlock (anonymous) at (1,1) size 275x20
                                          RenderText {#text} at (82,0) size 110x19
                                            text run at (82,0) width 110: "User Preferences"
                                        RenderTable {TABLE} at (1,21) size 275x39 [border: (1px outset #808080)]
                                          RenderTableSection {TBODY} at (1,1) size 273x37
                                            RenderTableRow {TR} at (0,1) size 273x35
                                              RenderTableCell {TH} at (1,3) size 120x31 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                                                RenderInline {NOBR} at (0,0) size 110x19
                                                  RenderText {#text} at (5,5) size 110x20
                                                    text run at (5,6) width 110: "Email Address :"
                                              RenderTableCell {TD} at (121,1) size 151x35 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                                                RenderTextControl {INPUT} at (7,7) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
                                                RenderText {#text} at (0,0) size 0x0
layer at (241,105) size 122x14 scrollWidth 177
  RenderBlock {DIV} at (6,3) size 123x15
    RenderText {#text} at (0,0) size 177x14
      text run at (0,0) width 177: "simon.king@pipinghotnetworks.com"
