layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0,0) size 480x360
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (49,40) size 391x251
      RenderSVGText {text} at (49,40) size 161x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 161x19
          chunk 1 (end anchor) text run 1 at (49.42,55.00) startOffset 0 endOffset 19 width 160.58: "animVal != baseVal:"
      RenderSVGContainer {g} at (240,40) size 200x251 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(500.00,0.00)}]
        RenderSVGRect {rect} at (420,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=60.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,63) size 161x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 161x15
            chunk 1 text run 1 at (70.00,75.00) startOffset 0 endOffset 21 width 160.27: "SVGAnimatedNumberList"
        RenderSVGRect {rect} at (390,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=90.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,93) size 132x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 132x15
            chunk 1 text run 1 at (70.00,105.00) startOffset 0 endOffset 17 width 131.52: "SVGAnimatedLength"
        RenderSVGRect {rect} at (360,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=120.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,123) size 154x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 154x15
            chunk 1 text run 1 at (70.00,135.00) startOffset 0 endOffset 21 width 153.30: "SVGAnimatedLengthList"
        RenderSVGRect {rect} at (330,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=150.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,153) size 125x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 125x15
            chunk 1 text run 1 at (70.00,165.00) startOffset 0 endOffset 16 width 124.50: "SVGAnimatedAngle"
        RenderSVGRect {rect} at (300,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=180.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,183) size 118x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 118x15
            chunk 1 text run 1 at (70.00,195.00) startOffset 0 endOffset 15 width 117.49: "SVGAnimatedRect"
        RenderSVGRect {rect} at (270,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=210.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,213) size 175x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 175x15
            chunk 1 text run 1 at (70.00,225.00) startOffset 0 endOffset 24 width 174.27: "SVGAnimatedTransformList"
        RenderSVGRect {rect} at (240,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=240.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,243) size 221x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 221x15
            chunk 1 text run 1 at (70.00,255.00) startOffset 0 endOffset 30 width 220.19: "SVGAnimatedPreserveAspectRatio"
      RenderSVGHiddenContainer {g} at (0,0) size 0x0
        RenderSVGText {text} at (0,-15) size 37x24 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 37x24
            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 10.01: "a"
            chunk 1 text run 2 at (10.01,0.00) startOffset 1 endOffset 2 width 10.01: "b"
            chunk 1 text run 3 at (20.02,0.00) startOffset 2 endOffset 3 width 9.00: "c"
        RenderSVGEllipse {circle} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [cx=0.00] [cy=0.00] [r=50.00]
        RenderSVGResourceMarker {marker} [id="marker"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=90.00]
        RenderSVGViewportContainer {svg} at (0,0) size 0x0
    RenderSVGContainer {g} at (10,314) size 230x33
      RenderSVGText {text} at (10,314) size 230x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 230x33
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.44: "$Revision: 1.8 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
