.o. oooooooooooo .oooooo. ooooo ooooo oooo oooo ooooo
.888. d'""""""d888' d8P' `Y8b `888' `888' `888 .8P' `888'
.8"888. .888P 888 888 888 888 d8' 888
.8' `888. d888' 888 888ooooo888 88888[ 888
.88ooo8888. .888P 888 ooooo 888 888 888`88b. 888
.8' `888. d888' .P `88. .88' 888 888 888 `88b. 888
o88o o8888o .8888888888P `Y8bood8P' o888o o888o o888o o888o o888o