:::::::: ::::::::: ::: ::::::::: ::: ::: :::: :::: ::: :::: :::
:+: :+: :+: :+: :+: :+: :+: :+: :+: +:+:+: :+:+:+ :+: :+: :+:+: :+:
+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+:+ +:+ +:+ +:+ :+:+:+ +:+
+#+ +#++:++#: +#++:++#++: +#+ +#++: +#+ +:+ +#+ +#++:++#++: +#+ +:+ +#+
+#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+#
#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#+#
######## ### ### ### ### ######### ### ### ### ### ### ### ####
:+: :+: :+: :+: :+: :+: :+: :+: :+: +:+:+: :+:+:+ :+: :+: :+:+: :+:
+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+:+ +:+ +:+ +:+ :+:+:+ +:+
+#+ +#++:++#: +#++:++#++: +#+ +#++: +#+ +:+ +#+ +#++:++#++: +#+ +:+ +#+
+#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+#
#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#+#
######## ### ### ### ### ######### ### ### ### ### ### ### ####