
(Frame scrolling node
  (scroll position 40 460)
  (scrollable area size 785 585)
  (contents size 4016 4042)
  (requested scroll position 40 460)
  (requested scroll position represents programmatic scroll 1)
  (parent relative scrollable rect at (0,0) size 800x600)
  (scrollable area parameters 
    (horizontal scroll elasticity 2)
    (vertical scroll elasticity 2)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0)
    (has enabled horizontal scrollbar 1)
    (has enabled vertical scrollbar 1))
  (frame scale factor 2.00)
  (layout viewport at (0,230) size 785x585)
  (min layout viewport origin (0,0))
  (max layout viewport origin (1223,1436))
  (behavior for fixed 0)
  (visual viewport smaller than layout viewport 1)
  (children 4
    (Fixed node
      (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
      (viewport rect at last layout at (0,230) size 785x585)
      (layer position at last layout (0,230))
    )
    (Fixed node
      (anchor edges: AnchorEdgeLeft AnchorEdgeBottom)
      (viewport rect at last layout at (0,230) size 785x585)
      (layer position at last layout (0,715))
    )
    (Fixed node
      (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
      (viewport rect at last layout at (0,230) size 785x585)
      (layer position at last layout (0,230))
    )
    (Fixed node
      (anchor edges: AnchorEdgeRight AnchorEdgeTop)
      (viewport rect at last layout at (0,230) size 785x585)
      (layer position at last layout (685,230))
    )
  )
)
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 4016.00 4042.00)
  (children 1
    (GraphicsLayer
      (anchor 0.00 0.00)
      (bounds 2008.00 2021.00)
      (contentsOpaque 1)
      (transform [2.00 0.00 0.00 0.00] [0.00 2.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
      (children 4
        (GraphicsLayer
          (position 0.00 230.00)
          (bounds 785.00 100.00)
          (contentsOpaque 1)
        )
        (GraphicsLayer
          (position 0.00 715.00)
          (bounds 785.00 100.00)
          (contentsOpaque 1)
        )
        (GraphicsLayer
          (position 0.00 230.00)
          (bounds 100.00 585.00)
          (contentsOpaque 1)
        )
        (GraphicsLayer
          (position 685.00 230.00)
          (bounds 100.00 585.00)
          (contentsOpaque 1)
        )
      )
    )
  )
)

