Spirit (Extended Version)

Spirit (Extended Version)