                                                                            
                       ...::::::::::...                     ..::......:::.  
                    .::::::::::::::::::::..                 ::::::::::::::  
                 .::::::::::::::::::::::::::.               ::::::::::::'   
                .:::::::::::::::::::::::::::::             .:::::::::::     
               ::::::::::::::::::::::::::::::::.        .: '::::::::::      
              ::::::::::::::::::::::::::::::::::.    ::. ': '''':::::'      
             ::::::::::::::::::::::::::::::::'' ..:: '::          '         
             ::::::::::::::::::::::::::::'' ..::::::'                       
            ::::::::::::::::::::::::::'' .:::::::'                          
            ::::::::::::::::::::::'' ..::::::'' ..                          
         ..  ::::::::::::::::''' ..::::::'' ..:::'                          
      .::::  ::::::::::::'' ..:::::::'' ..:::::::                           
    ::::'    '::::::'' ...:::::::'' ..::::::::::'                           
  .::'         '' ...:::::::'' ...:::::::::::::'                            
  ''        ....:::::::''  ..:::::::::::::::::                              
  .....::::::::::''' ...::::::::::::::::::::'                               
   '::::''''''      '::::::::::::::::::::'                                  
                       '''::::::::::'''                                     
                                                                            
