.-') _                       .-') _   .-')                     .-') _                          _   .-')    
  (  OO) )                     ( OO ) ) ( OO ).                  ( OO ) )                        ( '.( OO )_  
,(_)----.   ,-.-')  ,-.-') ,--./ ,--,' (_)---\_) ,--. ,--.   ,--./ ,--,'     .-----.  .-'),-----. ,--.   ,--.)
|       |   |  |OO) |  |OO)|   \ |  |\ /    _ |  |  | |  |   |   \ |  |\    '  .--./ ( OO'  .-.  '|   `.'   | 
'--.   /    |  |  \ |  |  \|    \|  | )\  :` `.  |  | | .-') |    \|  | )   |  |('-. /   |  | |  ||         | 
(_/   /     |  |(_/ |  |(_/|  .     |/  '..`''.) |  |_|( OO )|  .     |/   /_) |OO  )\_) |  |\|  ||  |'.'|  | 
 /   /___  ,|  |_.',|  |_.'|  |\    |  .-._)   \ |  | | `-' /|  |\    |    ||  |`-'|   \ |  | |  ||  |   |  | 
|        |(_|  |  (_|  |   |  | \   |  \       /('  '-'(_.-' |  | \   |.-.(_'  '--'\    `'  '-'  '|  |   |  | 
`--------'  `--'    `--'   `--'  `--'   `-----'   `-----'    `--'  `--'`-'   `-----'      `-----' `--'   `--'