.:::-------------::..                                        
                                  .:-----::::::...::::::::-----:.                                   
                              .----::.::::::..........:::::::.::----.                               
                           :-=-:.::::..                     ..::::.:-=-.                            
                        .-=-..::..                               .:::.:-=-.                         
                      :=-:.::.          .:--===========-::.          .::.:=-.                       
                    :=-..::.        .-====---------------====-.        .::.:==.                     
                  .==..:.        :=+==-----------------------=++-.        ::..=-                    
                 -=:.:.       .-+==-----------------------------=+=:        ::.:+:                  
               .=- ::       .-+=--------------------+=-------------++-        ::.==                 
              :+:.-.  .....-+=----------------------#=---------------=+:.....  .: :+.               
             :+..:  ......+*=================+======*=**===============*=......  :..+:              
            -= ::  .....:+=--==-------------=*=--=--+-+=----------------=+:.....  :..+:             
           -+ :: .::::.-*===++#+================+-++*+**++==+============+*-.::::  :..+:            
          :+ :: .:::::-*=-==--*=-------------*++.::-+==--:::-+=--------==-=*-:::::. :..+.           
         .+..: .::::::*=======*============++*+= .:::=::    --=+============*::::::  :.:+           
         +: -  ::::::*+==+*===*======+++==---------:-- :-=--:::++===========*+::::::  - -=          
        -= -. ::::::=*===+*=+*#*+===+=:--====---:::-= ..-+++..::+============*-:::::: .: +:         
        +..: .::::::*====+*=*+*+#=*+..-----:::::...=.-=:-=---::--*===========+*::::::. :.:+         
       -= -  ------=*=+*++*+#+**#*+ .::::........ =..-+++:-++=:::++++++++++++=#-------  : +:        
       +..: :::::::**++#+**+#+##%#. ...   .  .   -: :::======::.::*+++++++++++*+::::::. :.:=        
      .+ :. -------**+*#+*#+#*#*%-     -. -. -. :-.::::::--:::.-::-*++++++++++**------: .: +        
      -= : .-------#***#*##*#*##+ .....::::::.....-===-::::.-+=+-::******##****#-------. : +:       
      =- : .-------#***#*##*%###- ....    ...:.  ::=+++:---:-=+=-: +*******#***#-------. : =-       
      =:.: :=======####%##*+=-:.      .::::::::: ----=-::---:-:--: .:=+#########=======: : --       
      =:.: -=======#%%%%:             :::-::-:-- ---- :::. .:: ==- .::---=%%%##*=======: : --       
      =:.: -=======*%%%%. :: .-: .-:  ---#--=:++.====.==--.-==.=+- .----.-%%%%%+=======: : --       
      -: : -******+=+*##. +- .+- .+=  ==========.====.+=--.--+.++- -%%%%=:%##++++******: : -:       
      :- : :*+++-:  ..::  -: .-:  -:  ==+=======.====.=---.=--.==- .::::..::.:. .:=++**. : -.       
      .- :. ::.                       ---------- :::: ..::.::. ::.                 .::: .: -        
       - .:  .............              .  .           .               ...............  :..-        
       :. :  ...:......::............... .:. .:  -  :. .:. ..... ...:...........::::..  : :.        
        : :. .....::......::..   .::.  .-:  .-  .-  .-.  :-:  .::.   ..::.. .......... :. -         
        :. :  ...    ..:..    :--:   :-:   :-.  .=   .=:   :=-   :--:    ..:..    ...  : :.         
         : .:     ....     .-=-.   :=-.   -=.   .+.   :+-   .-=-   .-=-:     ....     :. :          
         .. :.          .-==:.   :=-.    -=.    :+.    :+-    .-=:   .:==-.          .. :           
          .. :       .-==-.   .-=-.     =+.     :+.     :+-     :==-.   .-==-.      .: ..           
           .. :  ..:==-:.   .-=-.  .  .=+:  .   :+:      :+=.     :==-. . .:-==:.. .: ..            
            .  :  ==-......-+=:..... .=+:.......-+: .... .-+=. ... .:=+-......-=- .: ..             
             .  :.  ..  .-+=:  .:.  .++:   ..   -+:   ..   -+=.  .:.  :==-. .:.  .: ..              
              .. :. .:::-=::.:--:..:=+::...-:..:-+-::.:-...:-+=::.:--..::=-:::. .: ..               
               .. .:  :-:   .-.   :==:     -    -+:    -     -+=.   :-.  .:-:  :. .                 
                 . .:.     ::    :--:     ::   .-=-    -.     :=-.   .-:     .:  .                  
                  .. .:.  -.    ::::      =.   .-=-    .-      :-::    :-  .:. ..                   
                    .  .:.     :::.      .=    .:-:.    =       .::.     .:.  .                     
                      .  .:.  ...:.......--.....:::.....=-......::..   .:.  .                       
                           ....  .......:+.....:::::....:+.......   ....                            
                              .....     .-     .....     -      .....                               
                                 ........       ...        ......                                   
                                      .......................                                       
                                              .......