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