:       :       :        ###   #:
:   #########   :        ###### :
: ############# :       ######  :
:## # #   # # ##:     ####      :
:###############:    ## ##      :
: ############# :    #  ####    :
:   #########   :  ###  ## ##   :
:##   #####   ##:.##.#. ##..#...:
:######   ######: #  #  ##  ### :
:  ## ##### ##  : #   ####  # ##:
: # ######### # : #     ## #   #:
   ####   ####  :  ##  ####    #:
  ############# :   ### :  ##  #:
 ##   #####   ##:   ##  :   ### :
##   #######   ##  ###  :   ### :
##.###########.##..##...:....##.:
