__    __  ____    ____ .______    _______ .______       __       __  .__   __.  __  ___ 
|  |  |  | \   \  /   / |   _  \  |   ____||   _  \     |  |     |  | |  \ |  | |  |/  / 
|  |__|  |  \   \/   /  |  |_)  | |  |__   |  |_)  |    |  |     |  | |   \|  | |  '  /  
|   __   |   \_    _/   |   ___/  |   __|  |      /     |  |     |  | |  . `  | |    <   
|  |  |  |     |  |     |  |      |  |____ |  |\  \----.|  `----.|  | |  |\   | |  .  \  
|__|  |__|     |__|     | _|      |_______|| _| `._____||_______||__| |__| \__| |__|\__\ 

                                   __  
             /|/              .--'"`__`
            / |-.,,____       |--'"`__`
         __/|   ______/       |--'"`__`
     ..""_ |   |              |--'"`_ `
     ..""_ |   |              |--'"` ` 
     ..""_ |   |           __,'-'"``   
     ..""_ |   |     __,."`    \       
     .."" ,\   ,\,."`  ,       `:      
          \ :,; `: \`: :  ,-"\   \     
          :    ` | | ' ;_"\   `. `:    
          | .^.  ;_,.""    \  | ;  \   
          : ; ', :          `.\  \ `;  
          | ;  : |           '`, : ;`  
          :;    ;|           /;  ' /   
          :;    ;:          ';   ;;    
          ;:    :|         //    :/    
          ||    ||        //    /;     
          ||    || ctr   ,;    ;/      
          "     "       "     "        

888888 88""Yb 88""Yb  dP"Yb  88""Yb       dP88   dP"Yb    dP88  
88__   88__dP 88__dP dP   Yb 88__dP      dP 88  dP   Yb  dP 88  
88""   88"Yb  88"Yb  Yb   dP 88"Yb      d888888 Yb   dP d888888 
888888 88  Yb 88  Yb  YbodP  88  Yb         88   YbodP      88