
(Frame scrolling node
  (scrollable area size 785 600)
  (contents size 785 1016)
  (scrollable area parameters 
    (horizontal scroll elasticity 2)
    (vertical scroll elasticity 2)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0)
    (has enabled vertical scrollbar 1))
  (layout viewport at (0,0) size 785x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,416))
  (synchronous event dispatch region for event wheel
    at (45,47) size 404x304)
  (behavior for fixed 0)
  (children 1
    (Frame hosting node
      (children 1
        (Frame scrolling node
          (scrollable area size 485 300)
          (contents size 485 420)
          (scrollable area parameters 
            (horizontal scroll elasticity 0)
            (vertical scroll elasticity 0)
            (horizontal scrollbar mode 0)
            (vertical scrollbar mode 0)
            (has enabled vertical scrollbar 1))
          (layout viewport at (0,0) size 485x300)
          (min layout viewport origin (0,0))
          (max layout viewport origin (0,120))
          (behavior for fixed 0)
          (children 1
            (Sticky node
              (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
              (top offset 10.00)
              (bottom offset 10.00)
              (containing block rect at (8,8) size 469x404)
              (sticky box rect at (8,312) size 100x100)
              (constraining rect at (0,0) size 485x300)
              (sticky offset at last layout width=0 height=-122)
              (layer position at last layout (8,190))
            )
          )
        )
      )
    )
  )
)

