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 (36,10) size 411x271
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGResourceLinearGradient {linearGradient} [id="gradientDefault"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
          RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
          RenderSVGGradientStop {stop} [offset=0.33] [color=#0000FF]
          RenderSVGGradientStop {stop} [offset=0.66] [color=#FF0000]
          RenderSVGGradientStop {stop} [offset=1.00] [color=#FFFF00]
        RenderSVGResourceLinearGradient {linearGradient} [id="gradientSRGB"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
          RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
          RenderSVGGradientStop {stop} [offset=0.33] [color=#0000FF]
          RenderSVGGradientStop {stop} [offset=0.66] [color=#FF0000]
          RenderSVGGradientStop {stop} [offset=1.00] [color=#FFFF00]
        RenderSVGResourceLinearGradient {linearGradient} [id="gradientLinearRGB"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
          RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
          RenderSVGGradientStop {stop} [offset=0.33] [color=#0000FF]
          RenderSVGGradientStop {stop} [offset=0.66] [color=#FF0000]
          RenderSVGGradientStop {stop} [offset=1.00] [color=#FFFF00]
      RenderSVGText {text} at (41,10) size 368x25 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 367x25
          chunk 1 (middle anchor) text run 1 at (41.50,30.00) startOffset 0 endOffset 43 width 367.00: "Basic test of color-interpolation property."
      RenderSVGContainer {g} at (36,66) size 411x55 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,80.00)}]
        RenderSVGRect {rect} at (39,79) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=LINEAR-GRADIENT] [id="gradientDefault"]}] [x=0.00] [y=0.00] [width=300.00] [height=40.00]
        RenderSVGEllipse {circle} at (36,66) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [cx=0.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (39,73) size 2x47 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (87,97) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#8080FF]}] [x=48.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (89,95) size 2x10 [stroke={[type=SOLID] [color=#8080FF]}] [fill={[type=SOLID] [color=#000000]}] [x1=50.00] [y1=15.00] [x2=50.00] [y2=25.00]
        RenderSVGEllipse {circle} at (136,66) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (139,73) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (187,97) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#800080]}] [x=148.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (189,95) size 2x10 [stroke={[type=SOLID] [color=#800080]}] [fill={[type=SOLID] [color=#000000]}] [x1=150.00] [y1=15.00] [x2=150.00] [y2=25.00]
        RenderSVGEllipse {circle} at (236,66) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [cx=200.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (239,73) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (287,97) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF8000]}] [x=248.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (289,95) size 2x10 [stroke={[type=SOLID] [color=#FF8000]}] [fill={[type=SOLID] [color=#000000]}] [x1=250.00] [y1=15.00] [x2=250.00] [y2=25.00]
        RenderSVGEllipse {circle} at (336,66) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFF00]}] [cx=300.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (339,73) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGText {text} at (310,6) size 97x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 97x17
            chunk 1 text run 1 at (310.00,20.00) startOffset 0 endOffset 14 width 97.00: "default (sRGB)"
      RenderSVGContainer {g} at (36,146) size 354x55 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,160.00)}]
        RenderSVGRect {rect} at (39,159) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=LINEAR-GRADIENT] [id="gradientSRGB"]}] [x=0.00] [y=0.00] [width=300.00] [height=40.00]
        RenderSVGEllipse {circle} at (36,146) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [cx=0.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (39,153) size 2x47 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (87,177) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#8080FF]}] [x=48.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (89,175) size 2x10 [stroke={[type=SOLID] [color=#8080FF]}] [fill={[type=SOLID] [color=#000000]}] [x1=50.00] [y1=15.00] [x2=50.00] [y2=25.00]
        RenderSVGEllipse {circle} at (136,146) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (139,153) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (187,177) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#800080]}] [x=148.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (189,175) size 2x10 [stroke={[type=SOLID] [color=#800080]}] [fill={[type=SOLID] [color=#000000]}] [x1=150.00] [y1=15.00] [x2=150.00] [y2=25.00]
        RenderSVGEllipse {circle} at (236,146) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [cx=200.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (239,153) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (287,177) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF8000]}] [x=248.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (289,175) size 2x10 [stroke={[type=SOLID] [color=#FF8000]}] [fill={[type=SOLID] [color=#000000]}] [x1=250.00] [y1=15.00] [x2=250.00] [y2=25.00]
        RenderSVGEllipse {circle} at (336,146) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFF00]}] [cx=300.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (339,153) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGText {text} at (310,6) size 40x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 40x17
            chunk 1 text run 1 at (310.00,20.00) startOffset 0 endOffset 4 width 40.00: "sRGB"
      RenderSVGContainer {g} at (36,226) size 383x55 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,240.00)}]
        RenderSVGRect {rect} at (39,239) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=LINEAR-GRADIENT] [id="gradientLinearRGB"]}] [x=0.00] [y=0.00] [width=300.00] [height=40.00]
        RenderSVGEllipse {circle} at (36,226) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [cx=0.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (39,233) size 2x47 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (87,257) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#8080FF]}] [x=48.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (89,255) size 2x10 [stroke={[type=SOLID] [color=#8080FF]}] [fill={[type=SOLID] [color=#000000]}] [x1=50.00] [y1=15.00] [x2=50.00] [y2=25.00]
        RenderSVGEllipse {circle} at (136,226) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (139,233) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (187,257) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#800080]}] [x=148.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (189,255) size 2x10 [stroke={[type=SOLID] [color=#800080]}] [fill={[type=SOLID] [color=#000000]}] [x1=150.00] [y1=15.00] [x2=150.00] [y2=25.00]
        RenderSVGEllipse {circle} at (236,226) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [cx=200.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (239,233) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGRect {rect} at (287,257) size 6x6 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF8000]}] [x=248.00] [y=18.00] [width=4.00] [height=4.00]
        RenderSVGPath {line} at (289,255) size 2x10 [stroke={[type=SOLID] [color=#FF8000]}] [fill={[type=SOLID] [color=#000000]}] [x1=250.00] [y1=15.00] [x2=250.00] [y2=25.00]
        RenderSVGEllipse {circle} at (336,226) size 8x8 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFF00]}] [cx=300.00] [cy=-10.00] [r=3.00]
        RenderSVGPath {line} at (339,233) size 2x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-7.00] [x2=0.00] [y2=40.00]
        RenderSVGText {text} at (310,6) size 69x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 69x17
            chunk 1 text run 1 at (310.00,20.00) startOffset 0 endOffset 9 width 69.00: "linearRGB"
    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.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]
