8888ba.88ba a88888b. .d8888P dP dP dP dP
88 `8b `8b d8' `88 88' 88 88 88 88
dP dP dP 88 88 88 88 88baaa. 88 88 .8P .8P
88 88 88 88 88 88 88 88` `88 88 88 d8' d8'
88.88b.88' 88 88 88 Y8. .88 8b. .d8 88. .d8P 88.d8P8.d8P
8888P Y8P dP dP dP Y88888P' `Y888P' `Y8888' 8888' Y88'