.-------.         .-''-.      .-'''-.                 .-------.   ______       ________                 .-------.    .---.        ___    _     .-'''-.
|  _ _   \      .'_ _   \    / _     \                \  _(`)_ \ |    _ `''.  |        |                \  _(`)_ \   | ,_|      .'   |  | |   / _     \
| ( ' )  |     / ( ` )   '  (`' )/`--'                | (_ o._)| | _ | ) _  \ |   .----'                | (_ o._)| ,-./  )      |   .'  | |  (`' )/`--'
|(_ o _) /    . (_ o _)  | (_ o _).      _ _    _ _   |  (_,_) / |( ''_'  ) | |  _|____    _ _    _ _   |  (_,_) / \  '_ '`)    .'  '_  | | (_ o _).
| (_,_).' __  |  (_,_)___|  (_,_). '.   ( ' )--( ' )  |   '-.-'  | . (_) `. | |_( )_   |  ( ' )--( ' )  |   '-.-'   > (_)  )    '   ( \.-.|  (_,_). '.
|  |\ \  |  | '  \   .---. .---.  \  : (_{;}_)(_{;}_) |   |      |(_    ._) ' (_ o._)__| (_{;}_)(_{;}_) |   |      (  .  .-'    ' (`. _` /| .---.  \  :
|  | \ `'   /  \  `-'    / \    `-'  |  (_,_)--(_,_)  |   |      |  (_.\.' /  |(_,_)      (_,_)--(_,_)  |   |       `-'`-'|___  | (_ (_) _) \    `-'  |
|  |  \    /    \       /   \       /                 /   )      |       .'   |   |                     /   )        |        \  \ /  . \ /  \       /
''-'   `'-'      `'-..-'     `-...-'                  `---'      '-----'`     '---'                     `---'        `--------`   ``-'`-''    `-...-'
                                                                                                                                                        