layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 450x500
  RenderSVGRoot {svg} at (0,0) size 448x498
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
      RenderSVGResourceFilter {filter} [id="gaussianBlur"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
        [feGaussianBlur stdDeviation="2.00, 2.00"]
          [SourceGraphic]
      RenderSVGText {text} at (-22,-14) size 44x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 44x17
          chunk 1 (middle anchor) text run 1 at (-22.00,0.00) startOffset 0 endOffset 6 width 44.00: "sample"
    RenderSVGContainer {g} at (0,36) size 430x434
      RenderSVGText {text} at (58,36) size 334x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 334x17
          chunk 1 (middle anchor) text run 1 at (58.00,50.00) startOffset 0 endOffset 47 width 334.00: "Text Alignment, Geometry, References, and Spans"
      RenderSVGContainer {g} at (111,70) size 231x70
        RenderSVGPath {line} at (224,70) size 2x70 [stroke={[type=SOLID] [color=#808080]}] [fill={[type=SOLID] [color=#000000]}] [x1=225.00] [y1=70.00] [x2=225.00] [y2=140.00]
        RenderSVGText {text} at (225,77) size 117x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 117x16
            chunk 1 text run 1 at (225.00,90.00) startOffset 0 endOffset 19 width 117.00: "text-anchor=\"start\""
        RenderSVGText {text} at (158,97) size 134x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 134x16
            chunk 1 (middle anchor) text run 1 at (158.00,110.00) startOffset 0 endOffset 20 width 134.00: "text-anchor=\"middle\""
        RenderSVGText {text} at (111,117) size 114x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 114x16
            chunk 1 (end anchor) text run 1 at (111.00,130.00) startOffset 0 endOffset 17 width 114.00: "text-anchor=\"end\""
      RenderSVGContainer {g} at (45,146) size 110x52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,180.00)}]
        RenderSVGText {text} at (-55,-34) size 110x42 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 109x42
            chunk 1 (middle anchor) text run 1 at (-54.50,0.00) startOffset 0 endOffset 6 width 109.00: "sample"
        RenderSVGText {text} at (-52,1) size 104x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 104x17
            chunk 1 (middle anchor) text run 1 at (-52.00,15.00) startOffset 0 endOffset 15 width 104.00: "font-size=\"1cm\""
      RenderSVGContainer {g} at (168,151) size 114x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,180.00)}]
        RenderSVGText {text} at (-45,-29) size 90x36 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 90x36
            chunk 1 (middle anchor) text run 1 at (-45.00,0.00) startOffset 0 endOffset 6 width 90.00: "sample"
        RenderSVGText {text} at (-57,1) size 114x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 114x17
            chunk 1 (middle anchor) text run 1 at (-57.00,15.00) startOffset 0 endOffset 16 width 114.00: "font-size=\"200%\""
      RenderSVGContainer {g} at (293,144) size 114x54 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,180.00)}]
        RenderSVGText {text} at (-57,-36) size 114x45 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 114x45
            chunk 1 (middle anchor) text run 1 at (-57.00,0.00) startOffset 0 endOffset 6 width 114.00: "sample"
        RenderSVGText {text} at (-47,1) size 94x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 93x17
            chunk 1 (middle anchor) text run 1 at (-46.50,15.00) startOffset 0 endOffset 14 width 93.00: "font-size=\"28\""
      RenderSVGContainer {g} at (20,198) size 160x45 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,225.00)}]
        RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
          RenderSVGInline {tref} at (0,0) size 84x33
            RenderSVGInlineText {#text} at (0,0) size 84x33
              chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-80,1) size 160x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 159x17
            chunk 1 (middle anchor) text run 1 at (-79.50,15.00) startOffset 0 endOffset 26 width 159.00: "referenced text via <tref>"
      RenderSVGContainer {g} at (178,198) size 94x45 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,225.00)}]
        RenderSVGText {text} at (-43,-27) size 86x33 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 25x33
            chunk 1 (middle anchor) text run 1 at (-43.00,0.00) startOffset 0 endOffset 2 width 25.00: "sa"
          RenderSVGTSpan {tspan} at (0,0) size 25x33
            RenderSVGInlineText {#text} at (25,0) size 25x33
              chunk 1 (middle anchor) text run 1 at (-18.00,0.00) startOffset 0 endOffset 1 width 25.00: "m"
          RenderSVGInlineText {#text} at (50,0) size 36x33
            chunk 1 (middle anchor) text run 1 at (7.00,0.00) startOffset 0 endOffset 3 width 36.00: "ple"
        RenderSVGText {text} at (-47,1) size 94x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 93x17
            chunk 1 (middle anchor) text run 1 at (-46.50,15.00) startOffset 0 endOffset 14 width 93.00: "use of <tspan>"
      RenderSVGContainer {g} at (270,198) size 160x45 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,225.00)}]
        RenderSVGContainer {g} at (308,198) size 84x33
          RenderSVGContainer {use} at (308,198) size 84x33
            RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x33
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-80,1) size 160x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 160x17
            chunk 1 (middle anchor) text run 1 at (-80.00,15.00) startOffset 0 endOffset 25 width 160.00: "predefined text via <use>"
      RenderSVGText {text} at (143,267) size 164x16 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 163x16
          chunk 1 (middle anchor) text run 1 at (143.50,280.00) startOffset 0 endOffset 25 width 163.00: "Text Rendering Properties"
      RenderSVGContainer {g} at (24,299) size 152x39 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,305.00)}]
        RenderSVGContainer {g} at (58,299) size 84x33 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}]
          RenderSVGContainer {use} at (58,299) size 84x33
            RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x33
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-76,16) size 152x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 152x17
            chunk 1 (middle anchor) text run 1 at (-76.00,30.00) startOffset 0 endOffset 23 width 152.00: "transform=\"rotate(180)\""
      RenderSVGContainer {g} at (180,293) size 90x45 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,320.00)}]
        RenderSVGContainer {g} at (183,293) size 84x33 [opacity=0.50]
          RenderSVGContainer {use} at (183,293) size 84x33
            RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x33
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-45,1) size 90x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x17
            chunk 1 (middle anchor) text run 1 at (-44.50,15.00) startOffset 0 endOffset 13 width 89.00: "opacity=\"0.5\""
      RenderSVGContainer {g} at (301,293) size 98x45 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,320.00)}]
        RenderSVGContainer {g} at (308,293) size 84x33
          RenderSVGContainer {use} at (308,293) size 84x33
            RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x33
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-49,1) size 98x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 98x17
            chunk 1 (middle anchor) text run 1 at (-49.00,15.00) startOffset 0 endOffset 14 width 98.00: "fill=\"DarkRed\""
      RenderSVGContainer {g} at (0,270) size 200x200 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,370.00)}]
        RenderSVGContainer {g} at (0,270) size 200x200
          [filter="gaussianBlur"] RenderSVGResourceFilter {filter} at (-100,-100) size 200x200
          RenderSVGContainer {use} at (58,343) size 84x33
            RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x33
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-85,1) size 170x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 169x17
            chunk 1 (middle anchor) text run 1 at (-84.50,15.00) startOffset 0 endOffset 27 width 169.00: "filter=\"url(#gaussianBlur)\""
      RenderSVGContainer {g} at (150,342) size 150x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,370.00)}]
        RenderSVGContainer {g} at (182,342) size 86x35
          RenderSVGContainer {use} at (182,342) size 86x35
            RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x33
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-44,1) size 88x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 87x17
            chunk 1 (middle anchor) text run 1 at (-43.50,15.00) startOffset 0 endOffset 14 width 87.00: "fill=\"yellow\";"
        RenderSVGText {text} at (-75,11) size 150x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 149x17
            chunk 1 (middle anchor) text run 1 at (-74.50,25.00) startOffset 0 endOffset 21 width 149.00: "stroke=\"MidnightBlue\""
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGResourceClipper {clipPath} [id="textClip"] [clipPathUnits=userSpaceOnUse]
          RenderSVGText {text} at (-42,-27) size 84x33 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 84x33
              chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGResourceLinearGradient {linearGradient} [id="gradient"] [gradientUnits=userSpaceOnUse] [start=(-50,-25)] [end=(50,25)]
          RenderSVGGradientStop {stop} [offset=0.00] [color=#0000FF]
          RenderSVGGradientStop {stop} [offset=1.00] [color=#008000]
      RenderSVGContainer {g} at (300,345) size 100x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,370.00)}]
        RenderSVGRect {rect} at (308,345) size 84x31 [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-50.00] [y=-25.00] [width=100.00] [height=50.00]
          [clipPath="textClip"] RenderSVGResourceClipper {clipPath} at (-42,-27) size 84x33
        RenderSVGText {text} at (-50,1) size 100x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 99x17
            chunk 1 (middle anchor) text run 1 at (-49.50,15.00) startOffset 0 endOffset 17 width 99.00: "text as clip-path"
      RenderSVGText {text} at (136,387) size 28x66 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 27x66
          chunk 1 (middle anchor) text run 1 at (136.50,440.00) startOffset 0 endOffset 1 width 27.00: "a"
      RenderSVGText {text} at (77,441) size 146x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 145x17
          chunk 1 (middle anchor) text run 1 at (77.50,455.00) startOffset 0 endOffset 23 width 145.00: "stroke-linejoin=\"miter\""
      RenderSVGText {text} at (74,451) size 152x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 152x17
          chunk 1 (middle anchor) text run 1 at (74.00,465.00) startOffset 0 endOffset 23 width 152.00: "stroke-linecap=\"square\""
      RenderSVGText {text} at (286,387) size 28x66 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 27x66
          chunk 1 (middle anchor) text run 1 at (286.50,440.00) startOffset 0 endOffset 1 width 27.00: "a"
      RenderSVGText {text} at (225,441) size 150x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 150x17
          chunk 1 (middle anchor) text run 1 at (225.00,455.00) startOffset 0 endOffset 23 width 150.00: "stroke-linejoin=\"round\""
      RenderSVGText {text} at (226,451) size 148x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 148x17
          chunk 1 (middle anchor) text run 1 at (226.00,465.00) startOffset 0 endOffset 22 width 148.00: "stroke-linecap=\"round\""
    RenderSVGContainer {use} at (0,0) size 448x498
      RenderSVGContainer {g} at (0,0) size 448x498
        RenderSVGRect {rect} at (0,0) size 448x498 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=446.00] [height=496.00]
        RenderSVGContainer {g} at (418,466) size 27x29 [transform={m=((1.00,0.00)(0.00,1.00)) t=(418.00,467.00)}]
          RenderSVGViewportContainer {svg} at (418,466) size 27x29
            RenderSVGPath {path} at (418,469) size 13x18 [fill={[type=SOLID] [color=#6666FF]}] [data="M 172 44 C 137 60 31 135 11 199 C 3 226 33 247 55 232 C 14 306 -1 332 0 356 C 0 370 13 398 44 383 C 52 379 79 358 96 342 C 110 341 120 331 138 314 C 155 328 174 324 190 307 C 212 309 272 229 234 199 C 231 175 204 162 181 181 C 175 179 168 180 163 182 C 185 147 206 100 212 77 C 219 47 188 36 172 44 Z"]
            RenderSVGPath {path} at (432,466) size 13x16 [fill={[type=SOLID] [color=#FF0000]}] [data="M 400 0 C 382 3 351 31 351 31 C 322 54 308 89 323 126 C 310 140 294 170 294 193 C 294 221 314 245 344 222 C 351 230 365 238 381 227 C 376 256 384 275 407 276 C 408 286 420 307 443 293 C 459 283 501 254 522 237 C 547 214 547 143 504 148 C 537 89 501 52 477 64 C 467 68 431 89 425 94 C 424 87 420 82 414 80 C 436 45 436 -5 401 0 Z"]
            RenderSVGPath {path} at (426,484) size 15x11 [fill={[type=SOLID] [color=#33CC33]}] [data="M 275 353 C 229 365 187 396 161 444 C 152 460 167 481 186 477 C 172 501 146 544 171 558 C 199 574 223 550 231 543 C 249 564 281 553 312 526 C 353 540 380 524 415 473 C 423 461 445 430 445 408 C 445 392 430 378 410 387 C 409 375 401 349 357 368 C 347 362 326 363 303 385 C 308 375 300 347 275 353 Z"]
