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
    RenderSVGContainer {g} at (25,25) size 400x273
      RenderSVGContainer {g} at (25,25) size 400x273
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGResourceFilter {filter} [id="Turb1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.05, 0.05" seed="0.00" numOctaves="2" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="2" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.05, 0.05" seed="0.00" numOctaves="8" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb4"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="4" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb5"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.40, 0.40" seed="0.00" numOctaves="4" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb6"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="1" stitchTiles="0"]
        RenderSVGRect {rect} at (25,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=25.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb1"] RenderSVGResourceFilter {filter} at (25,25) size 100x75
        RenderSVGText {text} at (43,108) size 64x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 64x11
            chunk 1 (middle anchor) text run 1 at (43.00,117.00) startOffset 0 endOffset 15 width 64.00: "type=turbulence"
        RenderSVGText {text} at (34,120) size 82x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 82x11
            chunk 1 (middle anchor) text run 1 at (34.00,129.00) startOffset 0 endOffset 18 width 82.00: "baseFrequency=0.05"
        RenderSVGText {text} at (45,132) size 60x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 60x11
            chunk 1 (middle anchor) text run 1 at (45.00,141.00) startOffset 0 endOffset 12 width 60.00: "numOctaves=2"
        RenderSVGRect {rect} at (175,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=175.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb2"] RenderSVGResourceFilter {filter} at (175,25) size 100x75
        RenderSVGText {text} at (193,108) size 64x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 64x11
            chunk 1 (middle anchor) text run 1 at (193.00,117.00) startOffset 0 endOffset 15 width 64.00: "type=turbulence"
        RenderSVGText {text} at (186,120) size 78x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 77x11
            chunk 1 (middle anchor) text run 1 at (186.50,129.00) startOffset 0 endOffset 17 width 77.00: "baseFrequency=0.1"
        RenderSVGText {text} at (195,132) size 60x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 60x11
            chunk 1 (middle anchor) text run 1 at (195.00,141.00) startOffset 0 endOffset 12 width 60.00: "numOctaves=2"
        RenderSVGRect {rect} at (325,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=325.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb3"] RenderSVGResourceFilter {filter} at (325,25) size 100x75
        RenderSVGText {text} at (343,108) size 64x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 64x11
            chunk 1 (middle anchor) text run 1 at (343.00,117.00) startOffset 0 endOffset 15 width 64.00: "type=turbulence"
        RenderSVGText {text} at (334,120) size 82x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 82x11
            chunk 1 (middle anchor) text run 1 at (334.00,129.00) startOffset 0 endOffset 18 width 82.00: "baseFrequency=0.05"
        RenderSVGText {text} at (345,132) size 60x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 60x11
            chunk 1 (middle anchor) text run 1 at (345.00,141.00) startOffset 0 endOffset 12 width 60.00: "numOctaves=8"
        RenderSVGRect {rect} at (25,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=25.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb4"] RenderSVGResourceFilter {filter} at (25,180) size 100x75
        RenderSVGText {text} at (40,263) size 70x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 70x11
            chunk 1 (middle anchor) text run 1 at (40.00,272.00) startOffset 0 endOffset 17 width 70.00: "type=fractalNoise"
        RenderSVGText {text} at (36,275) size 78x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 77x11
            chunk 1 (middle anchor) text run 1 at (36.50,284.00) startOffset 0 endOffset 17 width 77.00: "baseFrequency=0.1"
        RenderSVGText {text} at (45,287) size 60x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 60x11
            chunk 1 (middle anchor) text run 1 at (45.00,296.00) startOffset 0 endOffset 12 width 60.00: "numOctaves=4"
        RenderSVGRect {rect} at (175,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=175.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb5"] RenderSVGResourceFilter {filter} at (175,180) size 100x75
        RenderSVGText {text} at (190,263) size 70x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 70x11
            chunk 1 (middle anchor) text run 1 at (190.00,272.00) startOffset 0 endOffset 17 width 70.00: "type=fractalNoise"
        RenderSVGText {text} at (186,275) size 78x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 77x11
            chunk 1 (middle anchor) text run 1 at (186.50,284.00) startOffset 0 endOffset 17 width 77.00: "baseFrequency=0.4"
        RenderSVGText {text} at (195,287) size 60x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 60x11
            chunk 1 (middle anchor) text run 1 at (195.00,296.00) startOffset 0 endOffset 12 width 60.00: "numOctaves=4"
        RenderSVGRect {rect} at (325,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=325.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb6"] RenderSVGResourceFilter {filter} at (325,180) size 100x75
        RenderSVGText {text} at (340,263) size 70x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 70x11
            chunk 1 (middle anchor) text run 1 at (340.00,272.00) startOffset 0 endOffset 17 width 70.00: "type=fractalNoise"
        RenderSVGText {text} at (336,275) size 78x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 77x11
            chunk 1 (middle anchor) text run 1 at (336.50,284.00) startOffset 0 endOffset 17 width 77.00: "baseFrequency=0.1"
        RenderSVGText {text} at (345,287) size 60x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 60x11
            chunk 1 (middle anchor) text run 1 at (345.00,296.00) startOffset 0 endOffset 12 width 60.00: "numOctaves=1"
    RenderSVGText {text} at (10,304) size 264x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 264x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.1 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
