......############## .................... .##################. .....##############. .....##############. .....##############. .....##############. .................... ###################. ###################. ###################. ###################. ###################. ###################. ###################. ###################. ###################. ###################. ###################. ###################.