@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@      
      @+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@      
      @+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@      
      @+:::-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##-:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@#@@@%@@@@@@@@@@@@@@@@@@@@@@@@%@@@#@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@%-.....:=*#%@@@@@@@@@@@@@@%#*=:.....-#@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@*=:...........=@@@@@@@@@@@@@@+...........:=*@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@+..............-@@@@@@@@@@@@=..............=@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@%:..............*@@@@@@@@@@@@#..............:#@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@=..............:#@@@@@@@@@@@@%:..............-%@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@:.............:+@@@@@@@@@@@@*:.............:@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@=:...........=@@@@@@@@@@@@@@@@+...........:-@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@%-.::..:---#@@@@@@@@@@@@@@@@%---:..::.-%@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@%@@@#%@@@@@@@@@@@@@@@@@@@@@@@@%#@@@%@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::=@      
      @+:::-============================================================================-:::=@      
      @+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@      
      @+------------------------------------------------------------------------------------=@      
      %########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#      
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    

ca: 0x482FEe3BDbe187C6E45B357Dca541Ed1c3C7A57a