layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 400x400
  RenderSVGRoot {svg} at (10,0) size 103x368
    RenderSVGContainer {g} at (10,0) size 103x20
      RenderSVGText {text} at (10,-3) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,14) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,27) size 103x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
      RenderSVGText {text} at (10,-3) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,44) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,57) size 103x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}]
      RenderSVGText {text} at (10,-3) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,74) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,87) size 103x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,90.00)}]
      RenderSVGText {text} at (10,-3) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,104) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,122) size 103x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
      RenderSVGText {text} at (10,2) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,134) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,147) size 103x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
      RenderSVGText {text} at (10,-3) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,164) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,191) size 103x24 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,180.00)}]
      RenderSVGText {text} at (10,11) size 103x24 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,29.40) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,194) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,216) size 103x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,210.00)}]
      RenderSVGText {text} at (10,6) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,24.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,224) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,243) size 103x24 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}]
      RenderSVGText {text} at (10,3) size 103x24 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,21.50) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,254) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,271) size 103x24 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
      RenderSVGText {text} at (10,1) size 103x24 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,19.49) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,284) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,302) size 103x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,300.00)}]
      RenderSVGText {text} at (10,2) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,314) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,344) size 103x24 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,330.00)}]
      RenderSVGText {text} at (10,15) size 103x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 103x23
          chunk 1 text run 1 at (10.00,33.00) startOffset 0 endOffset 14 width 103.00: "This is a test"
      RenderSVGPath {line} at (10,344) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
