layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderSVGRoot {svg} at (0,0) size 800x600
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (50,21) size 709x553
      RenderSVGText {text} at (30,12) size 369x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 369x22
          chunk 1 text run 1 at (30.00,30.00) startOffset 0 endOffset 42 width 368.14: "Testing SVGAnimationElement.getStartTime()"
      RenderSVGText {text} at (340,322) size 116x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 116x22
          chunk 1 text run 1 at (340.00,340.00) startOffset 0 endOffset 15 width 115.06: "Test running..."
        RenderSVGInlineText {#text} at (0,0) size 0x0
      RenderSVGHiddenContainer {g} at (0,0) size 0x0
      RenderSVGContainer {g} at (50,66) size 42x393 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,-10.00)}]
        RenderSVGRect {rect} at (50,66) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=50.00] [width=25.00] [height=25.00]
        RenderSVGRect {rect} at (50,116) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=80.00] [width=25.00] [height=25.00]
        RenderSVGRect {rect} at (50,166) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=110.00] [width=25.00] [height=25.00]
        RenderSVGRect {rect} at (50,216) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=140.00] [width=25.00] [height=25.00]
        RenderSVGRect {rect} at (50,266) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=170.00] [width=25.00] [height=25.00]
        RenderSVGRect {rect} at (50,316) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=200.00] [width=25.00] [height=25.00]
        RenderSVGRect {rect} at (50,366) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=230.00] [width=25.00] [height=25.00]
        RenderSVGRect {rect} at (50,416) size 42x43 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=260.00] [width=25.00] [height=25.00]
      RenderSVGContainer {g} at (116,72) size 559x379 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,-15.00)}]
        RenderSVGText {text} at (0,58) size 214x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 214x17
            chunk 1 text run 1 at (0.00,72.00) startOffset 0 endOffset 36 width 213.96: "Called before a lone interval starts"
        RenderSVGText {text} at (0,88) size 250x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 250x17
            chunk 1 text run 1 at (0.00,102.00) startOffset 0 endOffset 40 width 249.24: "Called on an animation with no intervals"
        RenderSVGText {text} at (0,118) size 153x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 153x17
            chunk 1 text run 1 at (0.00,132.00) startOffset 0 endOffset 25 width 152.06: "Called during an interval"
        RenderSVGText {text} at (0,148) size 285x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 285x17
            chunk 1 text run 1 at (0.00,162.00) startOffset 0 endOffset 48 width 284.71: "Called after a lone interval ends, fill=\"remove\""
        RenderSVGText {text} at (0,178) size 277x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 277x17
            chunk 1 text run 1 at (0.00,192.00) startOffset 0 endOffset 48 width 276.88: "Called after a lone interval ends, fill=\"freeze\""
        RenderSVGText {text} at (0,208) size 205x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 205x17
            chunk 1 text run 1 at (0.00,222.00) startOffset 0 endOffset 33 width 204.56: "Called with multiple begin values"
        RenderSVGText {text} at (0,238) size 335x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 335x17
            chunk 1 text run 1 at (0.00,252.00) startOffset 0 endOffset 56 width 334.50: "Called with multiple begin values including \"indefinite\""
        RenderSVGText {text} at (0,268) size 209x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 209x17
            chunk 1 text run 1 at (0.00,282.00) startOffset 0 endOffset 32 width 208.49: "Called with syncbase begin value"
    RenderSVGContainer {g} at (16,516) size 415x64
      RenderSVGText {text} at (10,310) size 249x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 249x38
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 17 width 248.04: "$Revision: 1.11 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
