layer at (0,0) size 785x662
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x600
  RenderBlock {HTML} at (0,0) size 785x600
    RenderBody {BODY} at (0,0) size 785x600 [border: (1px solid #000000)]
      RenderBlock {DIV} at (21,21) size 202x202 [border: (1px solid #000000)]
      RenderText {#text} at (243,229) size 4x17
        text run at (243,229) width 4: " "
      RenderBlock {DIV} at (267,21) size 202x202 [border: (1px solid #000000)]
      RenderText {#text} at (489,229) size 4x17
        text run at (489,229) width 4: " "
      RenderBR {BR} at (493,243) size 0x0
      RenderBlock {DIV} at (21,267) size 202x202 [border: (1px solid #000000)]
      RenderText {#text} at (243,475) size 4x17
        text run at (243,475) width 4: " "
      RenderBlock {DIV} at (267,267) size 202x202 [border: (1px solid #000000)]
      RenderText {#text} at (0,0) size 0x0
      RenderText {#text} at (0,0) size 0x0
layer at (30,500) size 338x162
  RenderBlock (positioned) {DIV} at (30,500) size 338x162
    RenderInline {SPAN} at (0,0) size 298x17 [color=#008000]
      RenderText {#text} at (0,0) size 298x17
        text run at (0,0) width 298: "PASS: event at (48, 48) hit box1 at offset (6, 6)"
    RenderBR {BR} at (298,14) size 0x0
    RenderInline {SPAN} at (0,0) size 298x17 [color=#008000]
      RenderText {#text} at (0,18) size 298x17
        text run at (0,18) width 298: "PASS: event at (70, 41) hit box2 at offset (3, 3)"
    RenderBR {BR} at (298,32) size 0x0
    RenderInline {SPAN} at (0,0) size 330x17 [color=#008000]
      RenderText {#text} at (0,36) size 330x17
        text run at (0,36) width 330: "PASS: event at (185, 164) hit box2 at offset (97, 97)"
    RenderBR {BR} at (330,50) size 0x0
    RenderInline {SPAN} at (0,0) size 306x17 [color=#008000]
      RenderText {#text} at (0,54) size 306x17
        text run at (0,54) width 306: "PASS: event at (338, 64) hit box7 at offset (3, 3)"
    RenderBR {BR} at (306,68) size 0x0
    RenderInline {SPAN} at (0,0) size 314x17 [color=#008000]
      RenderText {#text} at (0,72) size 314x17
        text run at (0,72) width 314: "PASS: event at (92, 310) hit box10 at offset (3, 3)"
    RenderBR {BR} at (314,86) size 0x0
    RenderInline {SPAN} at (0,0) size 338x17 [color=#008000]
      RenderText {#text} at (0,90) size 338x17
        text run at (0,90) width 338: "PASS: event at (217, 444) hit box10 at offset (96, 96)"
    RenderBR {BR} at (338,104) size 0x0
    RenderInline {SPAN} at (0,0) size 322x17 [color=#008000]
      RenderText {#text} at (0,108) size 322x17
        text run at (0,108) width 322: "PASS: event at (337, 309) hit box13 at offset (2, 2)"
    RenderBR {BR} at (322,122) size 0x0
    RenderInline {SPAN} at (0,0) size 322x17 [color=#008000]
      RenderText {#text} at (0,126) size 322x17
        text run at (0,126) width 322: "PASS: event at (360, 334) hit box14 at offset (2, 2)"
    RenderBR {BR} at (322,140) size 0x0
    RenderInline {SPAN} at (0,0) size 338x17 [color=#008000]
      RenderText {#text} at (0,144) size 338x17
        text run at (0,144) width 338: "PASS: event at (500, 484) hit box14 at offset (96, 96)"
    RenderBR {BR} at (338,158) size 0x0
layer at (42,42) size 140x140
  RenderBlock {DIV} at (21,21) size 140x140 [bgcolor=#DDDDDD] [border: (1px solid #000000)]
layer at (63,63) size 100x100
  RenderBlock (relative positioned) {DIV} at (21,21) size 100x100 [bgcolor=#AAAAAA] [border: (1px solid #000000)]
layer at (288,42) size 140x140
  RenderBlock {DIV} at (21,21) size 140x140 [bgcolor=#DDDDDD] [border: (1px solid #000000)]
layer at (309,63) size 100x100
  RenderBlock (relative positioned) {DIV} at (21,21) size 100x100 [bgcolor=#AAAAAA] [border: (1px solid #000000)]
    RenderBlock {DIV} at (21,21) size 100x100 [bgcolor=#0000FF] [border: (1px solid #000000)]
layer at (42,288) size 140x140
  RenderBlock {DIV} at (21,21) size 140x140 [bgcolor=#DDDDDD] [border: (1px solid #000000)]
layer at (63,309) size 100x100
  RenderBlock (relative positioned) {DIV} at (21,21) size 100x100 [bgcolor=#AAAAAA] [border: (1px solid #000000)]
layer at (84,330) size 100x100
  RenderBlock (relative positioned) {DIV} at (21,21) size 100x100 [bgcolor=#0000FF] [border: (1px solid #000000)]
layer at (288,288) size 140x140
  RenderBlock {DIV} at (21,21) size 140x140 [bgcolor=#DDDDDD] [border: (1px solid #000000)]
layer at (309,309) size 100x100
  RenderBlock (relative positioned) {DIV} at (21,21) size 100x100 [bgcolor=#AAAAAA] [border: (1px solid #000000)]
    RenderBlock {DIV} at (21,21) size 100x100 [bgcolor=#C0D69E] [border: (1px solid #000000)]
layer at (351,351) size 100x100
  RenderBlock (relative positioned) {DIV} at (21,21) size 100x100 [bgcolor=#0000FF] [border: (1px solid #000000)]
