,..oooooooooob..                         
                       ,.dodOOOO"""""":"ooPO88bo..                     
                     .o8O""" '            "'"""PO8b.                   
                 .dd8P'"                       ''::Y8o.               
               ,d8Po'                             "':7Ob;             
              d8P::'                                 ';:8b.           
            ;d8''"                                     ';Y8;           
          ,d8O:'                                        ';:8b.         
         ,88o:'                                           ';Yb.       
        ,8P::'                                           . ';Yb       
       ,8o;:'                                          ,;'  ':8b       
      ,8:::'                                           ;:    :;8b     
     d8o;::                                            o:     ::8,     
    ,8':::                                            :::     :;Y8     
    8'oo:'                                            :::     :::8:   
   dP;:YO                                             ':::;.;;:::Y8.   
  ,8:::;Yb                                            :b::::::::::8b   
  dO;::::8b                                           'Yb::::::::::8. 
 ,8;:::::O8,                                           'Y88::::::::8: 
 8P;::::::88                                             `8O::::::::O 
 d::::::::88:                                             O8;:::::::8 
 8:::::::888:                                             88b:::::::O: 
,8::::::::88:                                            :888Oooo::;Y: 
dO:::::::bO8:             ..:.::::::::::...:             :888888P;::db 
OP:::::::O88:         ..o8888:::::::::::::)8888bo..       O8888O:::::8 
O;::::::::88'    ..od888888888::::"""":::88888888888oo;   `8888;:::::8 
O:::ob:::;8:  ,d88888888888888::       ':88888888888888b;  '"88;:::::8 
OO::;Yo::OP' d888888888888888O:'      ,.;8888888888888888b  ,88::::::8 
YO:::;Y::Ob ,8888888888888888;::       :;88888888888888888  :88::::::8 
 8;::::b;8' :8888888888888888o::        ':8888888888888888  :888d::)88 
 Y:::::88P   888888888888888888'         'O888888888888888  :88888888P 
 `b:::;8O    d888888888888888P'          ,8888888888888888  '88888888: 
  Y::::8:   ,88888888888888P:      ..    '8888888888888888   Y8888888: 
  8O::;8'   :88888888888888:      d88,   ':Y88888888888888   '8888888: 
  'YbooO    :8888888888P:8P:     :8888:    '':Y8888888888P    "Y888YP 
   '888:     8888888P:;'8O:'     :8P88b       '"O888888P"       ;:;o' 
    `88:     "oOOo:.::)O:;:      :8:888.        :8b'            :::'   
     88:      '"""" ,do;:'      ,88bO88b     ,.o::PO:;.;.      :::'   
     88';           :' `Yb      d88O`888b    O8"::::o::::::::::o:;     
     8O::b         ;:   ''     d88Po O888    :8;:""" '";88::::o:::     
     YO:;Yb    :o.;::          O8P.: O888     'Y::    :YO8b:::::O'     
      Y:::8b  o;O:::;.         OO;:: OO;'       ''"  .;bO88"d:od'     
      `b::;8: :8bo::::;.       OO::: OK:          ,;:8888P',8OP"       
       Yb:;OO  O888b::::;.     'O:O",;"'          ;o8888P  :O"         
       '`Y888. :88888::::::     ':' db           ;o8888P   8P         
          '`8;  O8888::::::        '8'          :o8888P   :8'         
            OO: :8888::::::         Y:         ,::;888'   :8           
            `8,  o888"::::'          '         ;:::88:    OP           
            ,8:   O888O8POYOOO"OPOOPYO8OO8OO888888888'    O:           
            88:   '888o::o':Y: d  O  'Y:'8: O"Y:`K:8o;    8'           
           88O;    ;88o;:::: : :  :   '  `:   '  ,:8 :   :8           
      O8O:.  ,:OP"8bd;':: d...      ,.  .db.'"8 ::  :O      
          ,88O::. ;:O: O"'"YP"YPYP'YO"""`8K`O"O `b:O.:;  :O           
          888o:::.:;Ob : :::: :::: :P ,  OO : :  O;:::: ;:O           
          888O::::::::`dbd::b.d::: :: db ::,d.8o;O;::::::dP           
           888::::::::;:"""""Y8888od8d88o8P""'"  ':::::'d'             
           "Y88Odo:"::::         `""""'           ':::)P'             
             ""88888O:::                          ;::dP               
                '""88O:::                   oo;  ;O88'                 
                   `Y8O::.  ,.      .      '8b::O88'                   
                     Y8b::. ,)O   ,;'        ::O88'                   
                      '88d:..:   ,d:        ;'d88'                     
                       'Y88d::;.;:8b,   ,..:O88P'                     
                         ""88oodO888O::::bd88P'                       
                           '`8888888888888P"'