----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
------------------------------------------------+  -------------------------------------------------
-----------------------------------------------###   -----------------------------------------------
---------------------------------------------+####    .---------------------------------------------
--------------------------------------------#######     --------------------------------------------
-------------------------------------------#####+ ##      ------------------------------------------
------------------------------------------######.  ++      -----------------------------------------
----------------------------------------+#######     -      ----------------------------------------
----------------------------------------########             ---------------------------------------
---------------------------------------##########             --------------------------------------
-------------------------------------+############        +    -------------------------------------
------------------------------------######- #######+      +#    ------------------------------------
----------------------------------#######  ######+ ##      +#    -----------------------------------
--------------------------------########  #######-   -      ##   .----------------------------------
------------------------------+########  ######+             ##     --------------------------------
-----------------------------+########--#######+             +##-     .-----------------------------
----------------------------+########++##########+            ####      ----------------------------
---------------------------+#######################     +      ## #+     ---------------------------
--------------------------+#########################    .#-     ++  #     .-------------------------
-------------------------####################+#######     ##.     -  .     .------------------------
------------------------+################## ##########    -##                -----------------------
-----------------------##################  +####### -##-   +#+                ----------------------
---------------------+#################   +#########   #+   ###                ---------------------
--------------------#########+#######-   ############        +###    .          --------------------
------------------#########  ######+  ################+       +###-    #+        -------------------
----------------+#######-  .######-#######################     +####   +###       ------------------
---------------#######+  .##################################+    ####+  +####+      ----------------
-------------+#######  #######################################+   +####+ ######+     ---------------
------------######+ ############################################+  +#############+     -------------
----------#######+#################################################.+###############    .-----------
--------+#############################################################################    ----------
-------#################################################################################-   --------
------###################################################################################### .------
----+##########################################################################################-----
---#############################################################################################----
--###############################################################################################+--
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------