.----------------.  .----------------.  .----------------.  .----------------. 
| .--------------. || .--------------. || .--------------. || .--------------. |
| |     ____     | || | ____    ____ | || |  _________   | || |    ______    | |
| |   .'    `.   | || ||_   \  /   _|| || | |_   ___  |  | || |  .' ___  |   | |
| |  /  .--.  \  | || |  |   \/   |  | || |   | |_  \_|  | || | / .'   \_|   | |
| |  | |    | |  | || |  | |\  /| |  | || |   |  _|      | || | | |    ____  | |
| |  \  `--'  /  | || | _| |_\/_| |_ | || |  _| |_       | || | \ `.___]  _| | |
| |   `.____.'   | || ||_____||_____|| || | |_____|      | || |  `._____.'   | |
| |              | || |              | || |              | || |              | |
| '--------------' || '--------------' || '--------------' || '--------------' |
 '----------------'  '----------------'  '----------------'  '----------------'