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 (122,17) size 190x271
      RenderSVGResourceMarker {marker} [id="marker1"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
        RenderSVGRect {rect} at (0,0) size 2x2 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
      RenderSVGResourceMarker {marker} [id="marker2"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=auto]
        RenderSVGPath {path} at (0,0) size 2x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
      RenderSVGResourceMarker {marker} [id="markerStart"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
        RenderSVGRect {rect} at (0,0) size 2x2 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
      RenderSVGResourceMarker {marker} [id="markerMiddle"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
        RenderSVGEllipse {circle} at (0,0) size 2x2 [fill={[type=SOLID] [color=#008000]}] [cx=5.00] [cy=5.00] [r=5.00]
      RenderSVGResourceMarker {marker} [id="markerEnd"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
        RenderSVGPath {path} at (0,0) size 2x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
      RenderSVGText {text} at (170,17) size 90x16 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 90x16
          chunk 1 text run 1 at (170.00,30.00) startOffset 0 endOffset 13 width 90.00: "Basic Markers"
      RenderSVGPath {path} at (122,32) size 66x66 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=marker1] [middle marker=marker1] [end marker=marker1] [data="M 130 40 L 180 40 L 180 90"]
      RenderSVGContainer {g} at (242,32) size 66x66 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
        RenderSVGPath {path} at (250,36) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M 130 40 L 180 40 L 180 90"]
        RenderSVGContainer {g} at (242,32) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(122.00,32.00)}]
          RenderSVGRect {rect} at (242,32) size 16x16 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGContainer {g} at (292,32) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,32.00)}]
          RenderSVGRect {rect} at (292,32) size 16x16 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGContainer {g} at (292,82) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,82.00)}]
          RenderSVGRect {rect} at (292,82) size 16x16 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
      RenderSVGText {text} at (145,112) size 137x16 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 137x16
          chunk 1 text run 1 at (145.00,125.00) startOffset 0 endOffset 21 width 137.00: "Start, Middle and End"
      RenderSVGPath {path} at (122,127) size 66x66 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=markerStart] [middle marker=markerMiddle] [end marker=markerEnd] [data="M 130 135 L 180 135 L 180 185"]
      RenderSVGContainer {g} at (242,127) size 66x66 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
        RenderSVGPath {path} at (250,131) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M 130 135 L 180 135 L 180 185"]
        RenderSVGContainer {g} at (242,127) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(122.00,127.00)}]
          RenderSVGRect {rect} at (242,127) size 16x16 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGContainer {g} at (292,127) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,127.00)}]
          RenderSVGEllipse {circle} at (292,127) size 16x16 [fill={[type=SOLID] [color=#008000]}] [cx=5.00] [cy=5.00] [r=5.00]
        RenderSVGContainer {g} at (292,177) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,177.00)}]
          RenderSVGPath {path} at (292,177) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
      RenderSVGText {text} at (145,207) size 137x16 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 137x16
          chunk 1 text run 1 at (145.00,220.00) startOffset 0 endOffset 21 width 137.00: "Automatic Orientation"
      RenderSVGPath {path} at (122,218) size 70x70 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=marker2] [middle marker=marker2] [end marker=marker2] [data="M 130 230 L 180 230 L 180 280"]
      RenderSVGContainer {g} at (242,218) size 70x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
        RenderSVGPath {path} at (250,226) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M 130 230 L 180 230 L 180 280"]
        RenderSVGContainer {g} at (242,222) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(122.00,222.00)}]
          RenderSVGPath {path} at (242,222) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
        RenderSVGContainer {g} at (288,218) size 24x24 [transform={m=((1.13,1.13)(-1.13,1.13)) t=(180.00,218.69)}]
          RenderSVGPath {path} at (288,218) size 24x24 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
        RenderSVGContainer {g} at (292,272) size 16x16 [transform={m=((0.00,1.60)(-1.60,0.00)) t=(188.00,272.00)}]
          RenderSVGPath {path} at (292,272) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
    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.8 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
