.oooo. ooooooooo oooo .o
.dP""Y88b d"""""""8' `888 o888
]8P' .8' ooo. .oo. 888 oooo oooo ooo 888
<88b. .8' `888P"Y88b 888 .8P' `88b..8P' 888
`88b. .8' 888 888 888888. Y888' 888
o. .88P .8' 888 888 888 `88b. .o8"'88b 888
`8bd88P' .8' o888o o888o o888o o888o o88' 888o o888o