__        __   _                            _             _                             _____               _   _          
\ \      / /__| | ___ ___  _ __ ___   ___  | |_ ___      / \   _ __   __ _ _ __ _   _  |_   _|   ___  __   | |_| |__   ___ 
 \ \ /\ / / _ \ |/ __/ _ \| '_ ` _ \ / _ \ | __/ _ \    / _ \ | '_ \ / _` | '__| | | |   | || | | \ \/ /   | __| '_ \ / _ \
  \ V  V /  __/ | (_| (_) | | | | | |  __/ | || (_) |  / ___ \| | | | (_| | |  | |_| |   | || |_| |>  < _  | |_| | | |  __/
   \_/\_/ \___|_|\___\___/|_| |_| |_|\___|  \__\___/  /_/   \_\_| |_|\__, |_|   \__, |   |_| \__,_/_/\_( )  \__|_| |_|\___|
                                                                     |___/      |___/                  |/                  
             _   _                        _                           __      _                             ____  _         _     _ 
 _ __  _   _| |_| |__   ___  _ __     ___| | ___  _ __   ___    ___  / _|    / \   _ __   __ _ _ __ _   _  | __ )(_)_ __ __| |___| |
| '_ \| | | | __| '_ \ / _ \| '_ \   / __| |/ _ \| '_ \ / _ \  / _ \| |_    / _ \ | '_ \ / _` | '__| | | | |  _ \| | '__/ _` / __| |
| |_) | |_| | |_| | | | (_) | | | | | (__| | (_) | | | |  __/ | (_) |  _|  / ___ \| | | | (_| | |  | |_| | | |_) | | | | (_| \__ \_|
| .__/ \__, |\__|_| |_|\___/|_| |_|  \___|_|\___/|_| |_|\___|  \___/|_|   /_/   \_\_| |_|\__, |_|   \__, | |____/|_|_|  \__,_|___(_)
|_|    |___/                                                                             |___/      |___/