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,-15) size 44x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 44x18
          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 (59,36) size 332x18 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 332x17
          chunk 1 (middle anchor) text run 1 at (59.39,50.00) startOffset 0 endOffset 47 width 331.22: "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,76) size 117x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 117x17
            chunk 1 text run 1 at (225.00,90.00) startOffset 0 endOffset 19 width 117.00: "text-anchor=\"start\""
        RenderSVGText {text} at (158,96) size 134x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 134x17
            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,116) size 114x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 114x17
            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 110x53 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,180.00)}]
        RenderSVGText {text} at (-55,-34) size 110x43 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 109x43
            chunk 1 (middle anchor) text run 1 at (-54.50,0.00) startOffset 0 endOffset 6 width 109.00: "sample"
        RenderSVGText {text} at (-52,0) size 104x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 104x18
            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 114x48 [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,0) size 114x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 114x18
            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 114x55 [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,0) size 94x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 93x18
            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 160x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,225.00)}]
        RenderSVGText {text} at (-42,-27) size 84x34 contains 1 chunk(s)
          RenderSVGInline {tref} at (0,0) size 84x34
            RenderSVGInlineText {#text} at (0,0) size 84x34
              chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-80,0) size 160x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 159x18
            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 94x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,225.00)}]
        RenderSVGText {text} at (-43,-27) size 86x34 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 25x34
            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 25x34
            RenderSVGInlineText {#text} at (25,0) size 25x34
              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 36x34
            chunk 1 (middle anchor) text run 1 at (7.00,0.00) startOffset 0 endOffset 3 width 36.00: "ple"
        RenderSVGText {text} at (-47,0) size 94x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 93x18
            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 160x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,225.00)}]
        RenderSVGContainer {g} at (308,198) size 84x34
          RenderSVGContainer {use} at (308,198) size 84x34
            RenderSVGText {text} at (-42,-27) size 84x34 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x34
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-80,0) size 160x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 160x18
            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 (144,266) size 162x18 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 162x17
          chunk 1 (middle anchor) text run 1 at (144.02,280.00) startOffset 0 endOffset 25 width 161.95: "Text Rendering Properties"
      RenderSVGContainer {g} at (24,298) size 152x41 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,305.00)}]
        RenderSVGContainer {g} at (58,298) size 84x34 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}]
          RenderSVGContainer {use} at (58,298) size 84x34
            RenderSVGText {text} at (-42,-27) size 84x34 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x34
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-76,15) size 152x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 152x18
            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 90x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,320.00)}]
        RenderSVGContainer {g} at (183,293) size 84x34 [opacity=0.50]
          RenderSVGContainer {use} at (183,293) size 84x34
            RenderSVGText {text} at (-42,-27) size 84x34 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x34
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-45,0) size 90x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x18
            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 98x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,320.00)}]
        RenderSVGContainer {g} at (308,293) size 84x34
          RenderSVGContainer {use} at (308,293) size 84x34
            RenderSVGText {text} at (-42,-27) size 84x34 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x34
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-49,0) size 98x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 98x18
            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 84x34
            RenderSVGText {text} at (-42,-27) size 84x34 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x34
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-85,0) size 170x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 169x18
            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 150x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,370.00)}]
        RenderSVGContainer {g} at (182,342) size 86x36
          RenderSVGContainer {use} at (182,342) size 86x36
            RenderSVGText {text} at (-42,-27) size 84x34 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 84x34
                chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
        RenderSVGText {text} at (-44,0) size 88x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 87x18
            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,10) size 150x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 149x18
            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 84x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 84x34
              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 100x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,370.00)}]
        RenderSVGRect {rect} at (308,345) size 84x32 [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-50.00] [y=-25.00] [width=100.00] [height=50.00]
          [clipPath="textClip"] RenderSVGResourceClipper {clipPath} at (-42,-26.73) size 84x33.23
        RenderSVGText {text} at (-50,0) size 100x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 99x18
            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,386) size 28x67 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 27x67
          chunk 1 (middle anchor) text run 1 at (136.50,440.00) startOffset 0 endOffset 1 width 27.00: "a"
      RenderSVGText {text} at (77,440) size 146x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 145x18
          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,450) size 152x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 152x18
          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,386) size 28x67 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 27x67
          chunk 1 (middle anchor) text run 1 at (286.50,440.00) startOffset 0 endOffset 1 width 27.00: "a"
      RenderSVGText {text} at (225,440) size 150x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 150x18
          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,450) size 148x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 148x18
          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"]
