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 (16,25) size 702x469
      RenderSVGContainer {g} at (16,25) size 702x469 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
        RenderSVGText {text} at (78,-15) size 324x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 324x19
            chunk 1 (middle anchor) text run 1 at (78.26,0.00) startOffset 0 endOffset 45 width 323.47: "Test available options of preserveAspectRatio"
        RenderSVGText {text} at (16,21) size 39x12 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 39x11
            chunk 1 (middle anchor) text run 1 at (16.24,30.00) startOffset 0 endOffset 10 width 38.51: "SVG to fit"
        RenderSVGContainer {g} at (32,115) size 53x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
          RenderSVGRect {rect} at (32,115) size 53x70 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
          RenderSVGContainer {g} at (41,133) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
            RenderSVGEllipse {circle} at (41,133) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
            RenderSVGEllipse {circle} at (50,142) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
            RenderSVGEllipse {circle} at (59,142) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
            RenderSVGPath {path} at (48,155) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
        RenderSVGText {text} at (14,101) size 43x12 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 43x11
            chunk 1 (middle anchor) text run 1 at (14.24,110.00) startOffset 0 endOffset 10 width 42.52: "Viewport 1"
        RenderSVGContainer {g} at (16,250) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
          RenderSVGRect {rect} at (16,250) size 84x50 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
        RenderSVGText {text} at (14,171) size 43x12 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 43x11
            chunk 1 (middle anchor) text run 1 at (14.24,180.00) startOffset 0 endOffset 10 width 42.52: "Viewport 2"
        RenderSVGContainer {g} at (33,366) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
          RenderSVGRect {rect} at (33,366) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
        RenderSVGContainer {g} at (199,85) size 201x183 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 115x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 115x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 114.92: "---------- meet --------------------"
          RenderSVGContainer {g} at (199,110) size 85x74
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMin*"
            RenderSVGRect {rect} at (200,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGViewportContainer {svg} at (199,132) size 40x52
              RenderSVGRect {rect} at (199,132) size 40x52 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (206,145) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (206,145) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (213,152) size 4x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (219,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (211,162) size 15x8 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (316,110) size 84x74 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMid*"
            RenderSVGRect {rect} at (316,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGViewportContainer {svg} at (338,132) size 40x52
              RenderSVGRect {rect} at (338,132) size 40x52 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (345,145) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (345,145) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (352,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (358,152) size 5x5 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (351,162) size 15x8 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (200,193) size 84x75 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-14) size 26x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "xMax*"
            RenderSVGRect {rect} at (200,216) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGViewportContainer {svg} at (245,216) size 39x52
              RenderSVGRect {rect} at (245,216) size 39x52 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (252,229) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (252,229) size 26x26 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (258,236) size 5x4 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (265,236) size 4x4 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (257,245) size 15x9 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
        RenderSVGContainer {g} at (499,85) size 219x150 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 127x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 127x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 126.91: "---------- meet ------------------------"
          RenderSVGContainer {g} at (499,110) size 52x124
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMin"
            RenderSVGRect {rect} at (500,133) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGViewportContainer {svg} at (499,132) size 52x69
              RenderSVGRect {rect} at (499,132) size 52x69 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (508,150) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (508,150) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (517,159) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (525,159) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (515,172) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (582,110) size 53x124 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMid"
            RenderSVGRect {rect} at (583,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGViewportContainer {svg} at (582,149) size 53x69
              RenderSVGRect {rect} at (582,149) size 53x69 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (591,166) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (591,166) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (600,175) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (609,175) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (598,188) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (665,110) size 53x125 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMax"
            RenderSVGRect {rect} at (666,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGViewportContainer {svg} at (665,165) size 53x70
              RenderSVGRect {rect} at (665,165) size 53x70 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (675,183) size 34x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (675,183) size 34x34 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (684,192) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (692,192) size 6x6 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (682,205) size 20x11 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
        RenderSVGContainer {g} at (198,310) size 220x150 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
          RenderSVGText {text} at (0,-29) size 128x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 128x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 127.90: "---------- slice -------------------------"
          RenderSVGContainer {g} at (198,335) size 79x125
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMin*"
            RenderSVGRect {rect} at (200,358) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGViewportContainer {svg} at (198,357) size 79x103
              RenderSVGRect {rect} at (198,357) size 79x103 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (212,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (212,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (226,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (238,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (223,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (269,335) size 79x125 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMid*"
            RenderSVGRect {rect} at (283,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGViewportContainer {svg} at (269,357) size 79x103
              RenderSVGRect {rect} at (269,357) size 79x103 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (283,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (283,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (297,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (309,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (294,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (340,335) size 78x125 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 26x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "xMax*"
            RenderSVGRect {rect} at (366,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGViewportContainer {svg} at (340,357) size 78x103
              RenderSVGRect {rect} at (340,357) size 78x103 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (354,383) size 51x51 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (354,383) size 51x51 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (367,397) size 9x8 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (380,397) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (365,416) size 29x16 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
        RenderSVGContainer {g} at (498,310) size 204x184 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
          RenderSVGText {text} at (0,-29) size 116x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 116x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 115.91: "---------- slice ---------------------"
          RenderSVGContainer {g} at (498,335) size 87x136
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMin"
            RenderSVGRect {rect} at (500,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGViewportContainer {svg} at (498,356) size 87x115
              RenderSVGRect {rect} at (498,356) size 87x115 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (513,386) size 57x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (513,386) size 57x56 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (529,401) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (543,401) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (526,422) size 32x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (615,326) size 87x115 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMid"
            RenderSVGRect {rect} at (616,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGViewportContainer {svg} at (615,326) size 87x115
              RenderSVGRect {rect} at (615,326) size 87x115 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (630,355) size 57x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (630,355) size 57x57 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (645,370) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (659,370) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (642,392) size 32x18 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
          RenderSVGContainer {g} at (498,379) size 87x115 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMax"
            RenderSVGRect {rect} at (500,441) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGViewportContainer {svg} at (498,379) size 87x115
              RenderSVGRect {rect} at (498,379) size 87x115 [stroke={[type=SOLID] [color=#FFA500] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [x=0.50] [y=0.50] [width=29.00] [height=39.00]
              RenderSVGContainer {g} at (513,408) size 57x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
                RenderSVGEllipse {circle} at (513,408) size 57x56 [fill={[type=SOLID] [color=#FFFF00]}] [cx=15.00] [cy=15.00] [r=10.00]
                RenderSVGEllipse {circle} at (529,423) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=12.00] [cy=12.00] [r=1.50]
                RenderSVGEllipse {circle} at (543,423) size 9x9 [fill={[type=SOLID] [color=#000000]}] [cx=17.00] [cy=12.00] [r=1.50]
                RenderSVGPath {path} at (526,445) size 32x17 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M 10 19 L 15 23 L 20 19"]
    RenderSVGContainer {g} at (16,516) size 385x64
      RenderSVGText {text} at (10,310) size 231x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 231x38
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 230.19: "$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]
