oooooooooooo oooooo oooo oooo .ooooo. d'""""""d888' `888. .8' `888 d88' `8. .oooo. .888P `888. .8' 888 .oo. oooo oooo Y88.. .8' `P )88b d888' `888.8' 888P"Y88b `888 `888 `88888b. .oP"888 .888P `888' 888 888 888 888 .8' ``88b d8( 888 d888' .P 888 888 888 888 888 `8. .88P `Y888""8o .8888888888P o888o o888o o888o `V88V"V8P' `boood8'