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 (116,58) size 559x367
      RenderSVGText {text} at (125,35) size 230x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 230x19
          chunk 1 (middle anchor) text run 1 at (125.10,50.00) startOffset 0 endOffset 31 width 229.80: "feSpotLight's limitingConeAngle"
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGResourceFilter {filter} [id="spotLightA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
        RenderSVGResourceFilter {filter} [id="spotLightB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
        RenderSVGResourceFilter {filter} [id="spotLightC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
        RenderSVGResourceFilter {filter} [id="spotLightD"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
        RenderSVGResourceFilter {filter} [id="spotLightE"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
        RenderSVGResourceFilter {filter} [id="spotLightF"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
        RenderSVGResourceFilter {filter} [id="spotLightG"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
        RenderSVGResourceFilter {filter} [id="spotLightH"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feDiffuseLighting surfaceScale="10.00" diffuseConstant="1.00" kernelUnitLength="0.00, 0.00"]
            [SourceGraphic]
      RenderSVGContainer {g} at (116,186) size 559x239 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-20.00)}]
        RenderSVGContainer {g} at (116,186) size 489x184 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,110.00)}]
          RenderSVGText {text} at (70,21) size 10x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 10x11
              chunk 1 text run 1 at (70.00,30.00) startOffset 0 endOffset 2 width 9.60: "30"
          RenderSVGText {text} at (165,21) size 10x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 10x11
              chunk 1 text run 1 at (165.00,30.00) startOffset 0 endOffset 2 width 9.60: "20"
          RenderSVGText {text} at (260,21) size 65x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 65x11
              chunk 1 text run 1 at (260.00,30.00) startOffset 0 endOffset 16 width 64.80: "Animated (0..50)"
          RenderSVGText {text} at (355,21) size 5x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 5x11
              chunk 1 text run 1 at (355.00,30.00) startOffset 0 endOffset 1 width 4.80: "5"
          RenderSVGContainer {g} at (116,353) size 489x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,100.00)}]
            RenderSVGText {text} at (70,21) size 13x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 13x11
                chunk 1 text run 1 at (70.00,30.00) startOffset 0 endOffset 3 width 12.60: "-30"
            RenderSVGText {text} at (165,21) size 13x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 13x11
                chunk 1 text run 1 at (165.00,30.00) startOffset 0 endOffset 3 width 12.60: "-20"
            RenderSVGText {text} at (260,21) size 68x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 68x11
                chunk 1 text run 1 at (260.00,30.00) startOffset 0 endOffset 17 width 67.80: "Animated (0..-50)"
            RenderSVGText {text} at (355,21) size 8x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 8x11
                chunk 1 text run 1 at (355.00,30.00) startOffset 0 endOffset 2 width 7.80: "-5"
        RenderSVGContainer {g} at (116,208) size 559x217
          RenderSVGRect {rect} at (116,208) size 84x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,145.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightA"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGRect {rect} at (275,208) size 84x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,145.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightB"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGRect {rect} at (433,208) size 84x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,145.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightC"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGRect {rect} at (591,208) size 84x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,145.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightD"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGRect {rect} at (116,375) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightE"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGRect {rect} at (275,375) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightF"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGRect {rect} at (433,375) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightG"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGRect {rect} at (591,375) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
            [filter="spotLightH"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
    RenderSVGContainer {g} at (16,524) size 380x54
      RenderSVGText {text} at (10,314) size 228x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x32
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.4 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
