(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 821.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 821.00)
      (contentsOpaque 1)
      (drawsContent 1)
      (backgroundColor #FFFFFF)
      (event region
        (rect (0,0) width=800 height=821)
      )
      (children 5
        (GraphicsLayer
          (position 8.00 8.00)
          (bounds 100.00 100.00)
          (contentsOpaque 1)
          (event region
            (rect (0,0) width=100 height=100)
            (touch-action
              (none              
                (rect (0,0) width=100 height=100)
              )
            )
          )
        )
        (GraphicsLayer
          (position 8.00 208.00)
          (bounds 200.00 100.00)
          (drawsContent 1)
          (event region
            (rect (0,0) width=200 height=25)
            (rect (0,25) width=100 height=75)
            (touch-action
              (none              
                (rect (0,0) width=200 height=25)
                (rect (0,25) width=100 height=75)
              )
            )
          )
        )
        (GraphicsLayer
          (position 8.00 408.00)
          (bounds 100.00 100.00)
          (contentsOpaque 1)
          (event region
            (rect (0,0) width=100 height=100)
            (touch-action
              (none              
                (rect (0,0) width=100 height=100)
              )
            )
          )
        )
        (GraphicsLayer
          (position 58.00 458.00)
          (bounds 100.00 100.00)
          (contentsOpaque 1)
          (event region
            (rect (0,0) width=100 height=100)
          )
        )
        (GraphicsLayer
          (position 8.00 608.00)
          (bounds 150.00 150.00)
          (opacity 0.90)
          (drawsContent 1)
          (event region
            (rect (0,0) width=100 height=50)
            (rect (0,50) width=150 height=50)
            (rect (50,100) width=100 height=50)
            (touch-action
              (none              
                (rect (0,0) width=100 height=50)
                (rect (0,50) width=150 height=50)
                (rect (50,100) width=100 height=50)
              )
            )
          )
          (children 2
            (GraphicsLayer
              (bounds 150.00 150.00)
              (drawsContent 1)
            )
            (GraphicsLayer
              (position 25.00 25.00)
              (bounds 100.00 100.00)
              (contentsOpaque 1)
              (event region
                (rect (0,0) width=100 height=100)
                (touch-action
                  (none                  
                    (rect (0,0) width=100 height=100)
                  )
                )
              )
            )
          )
        )
      )
    )
  )
)

