__  __                   _               _ _____   _ _    ___  ____   _ ____     ____ _____ ____ _____   ____   ___  _  ___  
|  \/  | ___  _ __       | |_   _ _ __   / |___  | / / |_ / _ \| ___|_/ | ___|   / ___| ____/ ___|_   _| |___ \ / _ \/ |/ _ \ 
| |\/| |/ _ \| '_ \   _  | | | | | '_ \  | |  / /  | | (_) | | |___ (_) |___ \  | |   |  _| \___ \ | |     __) | | | | | (_) |
| |  | | (_) | | | | | |_| | |_| | | | | | | / /   | | |_| |_| |___) || |___) | | |___| |___ ___) || |    / __/| |_| | |\__, |
|_|  |_|\___/|_| |_|  \___/ \__,_|_| |_| |_|/_/    |_|_(_)\___/|____(_)_|____/   \____|_____|____/ |_|   |_____|\___/|_|  /_/