.---.                                                                                           _______                                       
|   |.--.   _..._        .                   _________   _...._                                 \  ___ `'.   .--.              __.....__      
|   ||__| .'     '.    .'|                   \        |.'      '-.                               ' |--.\  \  |__|          .-''         '.    
|   |.--..   .-.   . .'  |                    \        .'```'.    '.          .-,.--.            | |    \  ' .--.         /     .-''"'-.  `.  
|   ||  ||  '   '  |<    |                     \      |       \     \   __    |  .-. |    __     | |     |  '|  |        /     /________\   \ 
|   ||  ||  |   |  | |   | ____                 |     |        |    |.:--.'.  | |  | | .:--.'.   | |     |  ||  |     _  |                  | 
|   ||  ||  |   |  | |   | \ .'                 |      \      /    ./ |   \ | | |  | |/ |   \ |  | |     ' .'|  |   .' | \    .-------------' 
|   ||  ||  |   |  | |   |/  .                  |     |\`'-.-'   .' `" __ | | | |  '- `" __ | |  | |___.' /' |  |  .   | /\    '-.____...---. 
|   ||__||  |   |  | |    /\  \                 |     | '-....-'`    .'.''| | | |      .'.''| | /_______.'/  |__|.'.'| |// `.             .'  
'---'    |  |   |  | |   |  \  \               .'     '.            / /   | |_| |     / /   | |_\_______|/     .'.'.-'  /    `''-...... -'    
         |  |   |  | '    \  \  \            '-----------'          \ \._,\ '/|_|     \ \._,\ '/               .'   \_.'                      
         '--'   '--''------'  '---'                                  `--'  `"          `--'  `"