----------O-----------O--------------O-------------O--------- ----------O-----------O--------------O-------------O--------- ----------O-----------O--------------O-------------O--------- ----------O-----------O--------------O-------------O--------- ----------O-----------O--------------O-------------O--------- ----------O-----------O--------------O-------------O--------- ----------O-----------O--------------O-------------O--------- ----------O-----------O--------------O-------------O---------