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 (14,17) size 776x480
      RenderSVGText {text} at (164,10) size 152x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 152x19
          chunk 1 (middle anchor) text run 1 at (164.40,25.00) startOffset 0 endOffset 18 width 151.20: "<animateTransform>"
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGContainer {g} at (0,0) size 75x75
          RenderSVGEllipse {circle} at (0,0) size 69x69 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=40.00]
          RenderSVGPath {line} at (0,0) size 75x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=-45.00] [y1=0.00] [x2=45.00] [y2=0.00]
          RenderSVGPath {line} at (0,0) size 1x75 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=0.00] [y1=-45.00] [x2=0.00] [y2=45.00]
      RenderSVGContainer {g} at (14,93) size 776x404
        RenderSVGContainer {g} at (14,93) size 172x162 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
          RenderSVGRect {rect} at (71,121) size 58x58 [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 (43,93) size 114x114 [transform={m=((2.00,0.00)(0.00,2.00)) 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]
          RenderSVGText {text} at (-52,47) size 103x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 103x16
              chunk 1 (middle anchor) text run 1 at (-51.00,60.00) startOffset 0 endOffset 16 width 102.00: "additive=replace"
        RenderSVGContainer {g} at (210,93) size 180x162 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
          RenderSVGRect {rect} at (255,121) size 90x58 [transform={m=((1.00,0.00)(0.58,1.00)) 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 (210,93) size 180x114 [transform={m=((1.15,2.00)(-2.00,0.00)) 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]
          RenderSVGText {text} at (-42,47) size 84x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x16
              chunk 1 (middle anchor) text run 1 at (-41.10,60.00) startOffset 0 endOffset 12 width 82.20: "additive=sum"
        RenderSVGContainer {g} at (407,93) size 186x187 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
          RenderSVGRect {rect} at (471,121) size 58x58 [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 (443,93) size 114x114 [transform={m=((2.00,0.00)(0.00,2.00)) 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]
          RenderSVGText {text} at (-56,47) size 112x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 111x16
              chunk 1 (middle anchor) text run 1 at (-55.20,60.00) startOffset 0 endOffset 15 width 110.40: "accumulate=none"
          RenderSVGText {text} at (-52,62) size 103x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 103x16
              chunk 1 (middle anchor) text run 1 at (-51.00,75.00) startOffset 0 endOffset 16 width 102.00: "additive=replace"
        RenderSVGContainer {g} at (611,93) size 178x187 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,90.00)}]
          RenderSVGRect {rect} at (0,0) size 0x0 [transform={m=((0.00,0.00)(0.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=2.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGRect {rect} at (643,93) size 114x114 [transform={m=((4.00,0.00)(0.00,4.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=2.00]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGText {text} at (-53,47) size 106x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 106x16
              chunk 1 (middle anchor) text run 1 at (-52.80,60.00) startOffset 0 endOffset 14 width 105.60: "accumulate=sum"
          RenderSVGText {text} at (-52,62) size 103x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 103x16
              chunk 1 (middle anchor) text run 1 at (-51.00,75.00) startOffset 0 endOffset 16 width 102.00: "additive=replace"
        RenderSVGContainer {g} at (407,310) size 186x187 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,220.00)}]
          RenderSVGRect {rect} at (455,338) size 90x57 [transform={m=((1.00,0.00)(0.58,1.00)) 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 (410,310) size 180x114 [transform={m=((2.00,0.00)(1.15,2.00)) 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]
          RenderSVGText {text} at (-56,47) size 112x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 111x16
              chunk 1 (middle anchor) text run 1 at (-55.20,60.00) startOffset 0 endOffset 15 width 110.40: "accumulate=none"
          RenderSVGText {text} at (-42,62) size 84x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x16
              chunk 1 (middle anchor) text run 1 at (-41.10,75.00) startOffset 0 endOffset 12 width 82.20: "additive=sum"
        RenderSVGContainer {g} at (610,310) size 180x187 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,220.00)}]
          RenderSVGRect {rect} at (0,0) size 0x0 [transform={m=((0.00,0.00)(0.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=2.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGRect {rect} at (610,310) size 180x114 [transform={m=((4.00,0.00)(2.31,4.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=2.00]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGText {text} at (-53,47) size 106x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 106x16
              chunk 1 (middle anchor) text run 1 at (-52.80,60.00) startOffset 0 endOffset 14 width 105.60: "accumulate=sum"
          RenderSVGText {text} at (-42,62) size 84x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x16
              chunk 1 (middle anchor) text run 1 at (-41.10,75.00) startOffset 0 endOffset 12 width 82.20: "additive=sum"
    RenderSVGContainer {g} at (16,518) size 380x60
      RenderSVGText {text} at (10,311) size 228x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x36
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.8 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
