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