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