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
    RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 264x46
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.7 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
    RenderSVGText {text} at (173,11) size 134x18 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 133x18
        chunk 1 (middle anchor) text run 1 at (173.50,25.00) startOffset 0 endOffset 18 width 133.00: "<animateTransform>"
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
      RenderSVGContainer {g} at (0,0) size 45x45
        RenderSVGEllipse {circle} at (0,0) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=40.00]
        RenderSVGPath {line} at (0,0) size 45x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=-45.00] [y1=0.00] [x2=45.00] [y2=0.00]
        RenderSVGPath {line} at (0,0) size 1x45 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=0.00] [y1=-45.00] [x2=0.00] [y2=45.00]
    RenderSVGContainer {g} at (14,34) size 466x302
      RenderSVGContainer {g} at (18,65) size 84x104 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
        RenderSVGRect {rect} at (35,65) size 50x50 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (35,65) size 50x50 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (39,69) size 42x42 [transform={m=((0.38,0.92)(-0.92,0.38)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (44,74) size 32x32 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-42,46) size 84x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 84x18
            chunk 1 (middle anchor) text run 1 at (-42.00,60.00) startOffset 0 endOffset 13 width 84.00: "same rotation"
        RenderSVGText {text} at (-19,61) size 38x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 38x18
            chunk 1 (middle anchor) text run 1 at (-19.00,75.00) startOffset 0 endOffset 6 width 38.00: "center"
      RenderSVGContainer {g} at (127,65) size 106x104 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
        RenderSVGRect {rect} at (155,65) size 50x50 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (155,65) size 50x50 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (148,72) size 41x41 [transform={m=((0.38,0.92)(-0.92,0.38)) t=(-11.56,2.30)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (134,74) size 32x32 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(-30.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-53,46) size 106x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 105x18
            chunk 1 (middle anchor) text run 1 at (-52.50,60.00) startOffset 0 endOffset 18 width 105.00: "different rotation"
        RenderSVGText {text} at (-22,61) size 44x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 44x18
            chunk 1 (middle anchor) text run 1 at (-22.00,75.00) startOffset 0 endOffset 7 width 44.00: "centers"
      RenderSVGContainer {g} at (243,34) size 113x135 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
        RenderSVGRect {rect} at (243,113) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-40.00,40.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (243,113) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-40.00,40.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (284,74) size 32x32 [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (324,34) size 32x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-40.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-53,61) size 106x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 106x18
            chunk 1 (middle anchor) text run 1 at (-53.00,75.00) startOffset 0 endOffset 17 width 106.00: "paced translation"
      RenderSVGContainer {g} at (363,34) size 113x135 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,90.00)}]
        RenderSVGRect {rect} at (363,113) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-40.00,40.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (363,113) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-40.00,40.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (384,54) size 32x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-20.00,-20.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (444,34) size 32x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-40.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-52,61) size 104x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 104x18
            chunk 1 (middle anchor) text run 1 at (-52.00,75.00) startOffset 0 endOffset 18 width 104.00: "linear translation"
      RenderSVGContainer {g} at (14,188) size 92x96 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,220.00)}]
        RenderSVGRect {rect} at (45,190) size 30x60 [transform={m=((1.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (43,188) size 34x64 [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-30.00] [width=30.00] [height=60.00]
        RenderSVGRect {rect} at (14,197) size 92x46 [stroke={[type=SOLID] [color=#FFB400]}] [x=-45.00] [y=-22.50] [width=90.00] [height=45.00]
        RenderSVGRect {rect} at (44,204) size 32x32 [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-36,46) size 72x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 72x18
            chunk 1 (middle anchor) text run 1 at (-36.00,60.00) startOffset 0 endOffset 11 width 72.00: "paced scale"
      RenderSVGContainer {g} at (134,188) size 92x96 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,220.00)}]
        RenderSVGRect {rect} at (165,190) size 30x60 [transform={m=((1.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (163,188) size 34x64 [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-30.00] [width=30.00] [height=60.00]
        RenderSVGRect {rect} at (134,189) size 92x62 [stroke={[type=SOLID] [color=#FFB400]}] [x=-45.00] [y=-30.00] [width=90.00] [height=60.00]
        RenderSVGRect {rect} at (164,204) size 32x32 [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-35,46) size 70x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 70x18
            chunk 1 (middle anchor) text run 1 at (-35.00,60.00) startOffset 0 endOffset 12 width 70.00: "linear scale"
      RenderSVGContainer {g} at (255,203) size 121x133 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,220.00)}]
        RenderSVGRect {rect} at (283,203) size 34x34 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (283,203) size 34x34 [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (289,209) size 32x32 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(5.00,5.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (344,304) size 32x32 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(60.00,100.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-45,61) size 90x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x18
            chunk 1 (middle anchor) text run 1 at (-44.50,75.00) startOffset 0 endOffset 14 width 89.00: "paced rotation"
      RenderSVGContainer {g} at (376,202) size 104x134 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,220.00)}]
        RenderSVGRect {rect} at (403,203) size 34x34 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (403,203) size 34x34 [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (379,202) size 45x45 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(-18.54,4.75)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (464,304) size 16x32 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(60.00,100.00)}] [stroke={[type=SOLID] [color=#FFB400]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-44,61) size 88x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 87x18
            chunk 1 (middle anchor) text run 1 at (-43.50,75.00) startOffset 0 endOffset 15 width 87.00: "linear rotation"
