##  ###   ###    #                                                                                                              #     #    # #   # #                                                                                                             # #   #    # #   # #                                                                                                             # #   #    # #   # #           _____     _____     _____                                                                          ##  ###   # #    #           / ___ \   / ___ \   / ___ \                                                                                                     | |   | | | |   | | | |   | |                                                                                                    | |   | | | |   | | | |   | |                                                                                                    | |___| | | |___| | | |___| |                                                                                                     \_____/   \_____/   \_____/                                                                              //   )       //   )       //   )       //   )                                                                           //   / /       //___/ /       //   / /       //___/ /                                                                           //   / /       / ___ (        //   / /       / ___ (                                                                            //   / /       //   | |       //   / /       //   | |                                                                           ((___/       //    |      ((___/       //    |                                                                         .o88b.  d888888b   .d88b.    .d8b.                                                                                              d8P  Y8    `88'    .8P  Y8.  d8' `8b                                                                                             8P          88     88    88  88ooo88                                                                                             8b          88     88    88  88~~~88                                                                                             Y8b  d8    .88.    `8b  d8'  88   88                                                                                              `Y88P'  Y888888P   `Y88P'   YP   YP                                                                                                     dBBBBP  dBBBBBBP   dBBBBBb                                                                                                      dB'.BP                  dBP                                                                                                     dB'.BP     dBP       dBBBBK'                                                                                                    dB'.BP     dBP       dBP  BB                                                                                                    dBBBBP     dBP       dBP  dB'