(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (visible rect 0.00, 0.00 800.00 x 600.00)
  (coverage rect 0.00, 0.00 800.00 x 600.00)
  (intersects coverage rect 1)
  (contentsScale 2.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (visible rect 0.00, 0.00 800.00 x 600.00)
      (coverage rect 0.00, 0.00 800.00 x 600.00)
      (intersects coverage rect 1)
      (contentsScale 2.00)
      (children 1
        (GraphicsLayer
          (position 8.00 8.00)
          (bounds 502.00 202.00)
          (visible rect 0.00, 0.00 502.00 x 202.00)
          (coverage rect -8.00, -8.00 800.00 x 600.00)
          (intersects coverage rect 1)
          (contentsScale 2.00)
          (children 1
            (GraphicsLayer
              (offsetFromRenderer width=1 height=1)
              (position 1.00 1.00)
              (bounds 500.00 200.00)
              (visible rect 0.00, 0.00 500.00 x 200.00)
              (coverage rect 0.00, 0.00 500.00 x 200.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
              (children 3
                (GraphicsLayer
                  (position -100.00 0.00)
                  (bounds 200.00 200.00)
                  (contentsOpaque 1)
                  (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
                  (visible rect 100.00, 0.00 100.00 x 200.00)
                  (coverage rect 100.00, 0.00 500.00 x 200.00)
                  (intersects coverage rect 1)
                  (contentsScale 2.00)
                )
                (GraphicsLayer
                  (position 150.00 0.00)
                  (bounds 200.00 200.00)
                  (contentsOpaque 1)
                  (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
                  (visible rect 0.00, 0.00 200.00 x 200.00)
                  (coverage rect -150.00, 0.00 500.00 x 200.00)
                  (intersects coverage rect 1)
                  (contentsScale 2.00)
                )
                (GraphicsLayer
                  (position 400.00 0.00)
                  (bounds 200.00 200.00)
                  (contentsOpaque 1)
                  (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
                  (visible rect 0.00, 0.00 100.00 x 200.00)
                  (coverage rect -400.00, 0.00 500.00 x 200.00)
                  (intersects coverage rect 1)
                  (contentsScale 2.00)
                )
              )
            )
          )
        )
      )
    )
  )
)

