Overview ERC20
PRICE
$0.034734

ON-CHAIN MARKET CAP n/a

Total Supply:
10,000,000.00 BBERT

Holders:
338
Profile Summary
Blockchain:
Base (8453)


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
KUKY

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Created At:
Tue, 23 Jul 2024 16:57:05 GMT
KUKY.sol
KUKY.sol
KUKY.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_tokenName",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "_tokenSymbol",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "_totalSupply",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_maxTx",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_maxWallet",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_buyTax",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_sellTax",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_teamWallet",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_marketingWallet",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [],
    "name": "EnabledTrading",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isExcluded",
        "type": "bool"
      }
    ],
    "name": "ExcludeFromFees",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "_address",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "excluded",
        "type": "bool"
      }
    ],
    "name": "MaxTransactionExclusion",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "timestamp",
        "type": "uint256"
      }
    ],
    "name": "OwnerManualCollection",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [],
    "name": "RemovedLimits",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "pair",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "SetAutomatedMarketMakerPair",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newAmount",
        "type": "uint256"
      }
    ],
    "name": "UpdatedMaxWalletAmount",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newAmount",
        "type": "uint256"
      }
    ],
    "name": "UpdatedTxnAmount",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_isExcludedMaxTransactionAmount",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "automatedMarketMakerPairs",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "excluded",
        "type": "bool"
      }
    ],
    "name": "excludeFromFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "updAds",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "isEx",
        "type": "bool"
      }
    ],
    "name": "excludeFromMaxTransaction",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "addedValue",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "limitsInEffect",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "manualCollection",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxTxnAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxWallet",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeLimits",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "pair",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "setAutomatedMarketMakerPair",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapLimit",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapTokensAtAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "taxedTokens",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tradingLive",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "transferDelayEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapV2Pair",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapV2Router",
    "outputs": [
      {
        "internalType": "contract UniswapV2Router",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_buyFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_sellFee",
        "type": "uint256"
      }
    ],
    "name": "updateFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_Newwallet",
        "type": "address"
      }
    ],
    "name": "updateMarketingWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newNum",
        "type": "uint256"
      }
    ],
    "name": "updateMaxWalletAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newAmount",
        "type": "uint256"
      }
    ],
    "name": "updateSwapTokensAtAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newNum",
        "type": "uint256"
      }
    ],
    "name": "updateTxnAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdrawETH",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60c0604052600c805462ffffff60a01b1916600160a01b179055600e805460ff1916600117905534801562000032575f80fd5b5060405162002fc838038062002fc8833981016040819052620000559162000862565b88886003620000658382620009a4565b506004620000748282620009a4565b5050505f620000886200041b60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f905f8051602062002fa8833981519152908290a350734752ba5dbc23f44d87826276bf6fd6b1c372ad24620000e58160016200041f565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200012e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000154919062000a70565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001c6919062000a70565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000211573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000237919062000a70565b6001600160a01b031660a0819052620002529060016200041f565b60a0516200026290600162000497565b600f85905560108490555f6200028189670de0b6b3a764000062000aa7565b9050606462000291888362000aa7565b6200029d919062000ac7565b6006556064620002ae898362000aa7565b620002ba919062000ac7565b6007556103e8620002cd82600562000aa7565b620002d9919062000ac7565b6009556006600a55600c80546001600160a01b038581166001600160a01b031992831617909255600b80548784169216919091179055600554620003209116600162000501565b600b5462000339906001600160a01b0316600162000501565b600c5462000352906001600160a01b0316600162000501565b6200035f30600162000501565b6200036e61dead600162000501565b6200038d620003856005546001600160a01b031690565b60016200041f565b600b54620003a6906001600160a01b031660016200041f565b600c54620003bf906001600160a01b031660016200041f565b620003cc3060016200041f565b620003db61dead60016200041f565b600b54620003f3906001600160a01b031682620005a9565b600b546200040a906001600160a01b03166200068b565b505050505050505050505062000afd565b3390565b6005546001600160a01b031633146200046d5760405162461bcd60e51b815260206004820181905260248201525f8051602062002f8883398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152601360205260409020805460ff1916911515919091179055565b6001600160a01b0382165f908152601460205260409020805460ff1916821515179055620004c682826200041f565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab905f90a35050565b6005546001600160a01b031633146200054b5760405162461bcd60e51b815260206004820181905260248201525f8051602062002f88833981519152604482015260640162000464565b6001600160a01b0382165f81815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620006015760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000464565b8060025f82825462000614919062000ae7565b90915550506001600160a01b0382165f90815260208190526040812080548392906200064290849062000ae7565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03163314620006d55760405162461bcd60e51b815260206004820181905260248201525f8051602062002f88833981519152604482015260640162000464565b6001600160a01b0381166200073c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000464565b6005546040516001600160a01b038084169216905f8051602062002fa8833981519152905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620007a9575f80fd5b81516001600160401b0380821115620007c657620007c662000785565b604051601f8301601f19908116603f01168101908282118183101715620007f157620007f162000785565b81604052838152602092508660208588010111156200080e575f80fd5b5f91505b8382101562000831578582018301518183018401529082019062000812565b5f602085830101528094505050505092915050565b80516001600160a01b03811681146200085d575f80fd5b919050565b5f805f805f805f805f6101208a8c0312156200087c575f80fd5b89516001600160401b038082111562000893575f80fd5b620008a18d838e0162000799565b9a5060208c0151915080821115620008b7575f80fd5b50620008c68c828d0162000799565b98505060408a0151965060608a0151955060808a0151945060a08a0151935060c08a01519250620008fa60e08b0162000846565b91506200090b6101008b0162000846565b90509295985092959850929598565b600181811c908216806200092f57607f821691505b6020821081036200094e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200099f57805f5260205f20601f840160051c810160208510156200097b5750805b601f840160051c820191505b818110156200099c575f815560010162000987565b50505b505050565b81516001600160401b03811115620009c057620009c062000785565b620009d881620009d184546200091a565b8462000954565b602080601f83116001811462000a0e575f8415620009f65750858301515b5f19600386901b1c1916600185901b17855562000a68565b5f85815260208120601f198616915b8281101562000a3e5788860151825594840194600190910190840162000a1d565b508582101562000a5c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000a81575f80fd5b62000a8c8262000846565b9392505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141762000ac15762000ac162000a93565b92915050565b5f8262000ae257634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111562000ac15762000ac162000a93565b60805160a05161243f62000b495f395f818161041101528181610d43015261172e01525f8181610304015281816116f101528181611f1801528181611fcf015261200b015261243f5ff3fe608060405260043610610241575f3560e01c80637571336a11610134578063c0246668116100b3578063d421045011610078578063d4210450146106b1578063dd62ed3e146106c5578063e086e5ec14610709578063e2f456051461071d578063f2fde38b14610732578063f8b45b0514610751575f80fd5b8063c024666814610626578063c18bc19514610645578063c876d0b914610664578063cf46f24c1461067d578063d257b34f14610692575f80fd5b80639a7a23d6116100f95780639a7a23d61461057c578063a457c2d71461059b578063a9059cbb146105ba578063aacebbe3146105d9578063b62496f5146105f8575f80fd5b80637571336a1461050357806376d628b7146105225780638a8c523c146105375780638da5cb5b1461054b57806395d89b4114610568575f80fd5b806345c1e4b2116101c05780636db79437116101855780636db79437146104685780636ddd17131461048757806370a08231146104a7578063715018a6146104db578063751039fc146104ef575f80fd5b806345c1e4b2146103ca57806347062402146103eb57806349bd5a5e146104005780634a62bb65146104335780636a01f09c14610453575f80fd5b806318160ddd1161020657806318160ddd1461033e57806323b872dd1461035c5780632b14ca561461037b578063313ce5671461039057806339509351146103ab575f80fd5b806306fdde031461024c578063095ea7b31461027657806310d5de53146102a557806311704f52146102d35780631694505e146102f3575f80fd5b3661024857005b5f80fd5b348015610257575f80fd5b50610260610766565b60405161026d9190612079565b60405180910390f35b348015610281575f80fd5b506102956102903660046120dc565b6107f6565b604051901515815260200161026d565b3480156102b0575f80fd5b506102956102bf366004612106565b60136020525f908152604090205460ff1681565b3480156102de575f80fd5b50600c5461029590600160a81b900460ff1681565b3480156102fe575f80fd5b506103267f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161026d565b348015610349575f80fd5b506002545b60405190815260200161026d565b348015610367575f80fd5b50610295610376366004612128565b61080c565b348015610386575f80fd5b5061034e60105481565b34801561039b575f80fd5b506040516012815260200161026d565b3480156103b6575f80fd5b506102956103c53660046120dc565b6108b9565b3480156103d5575f80fd5b506103e96103e4366004612166565b6108f4565b005b3480156103f6575f80fd5b5061034e600f5481565b34801561040b575f80fd5b506103267f000000000000000000000000000000000000000000000000000000000000000081565b34801561043e575f80fd5b50600c5461029590600160a01b900460ff1681565b34801561045e575f80fd5b5061034e600a5481565b348015610473575f80fd5b506103e961048236600461217d565b610a01565b348015610492575f80fd5b50600c5461029590600160b01b900460ff1681565b3480156104b2575f80fd5b5061034e6104c1366004612106565b6001600160a01b03165f9081526020819052604090205490565b3480156104e6575f80fd5b506103e9610af3565b3480156104fa575f80fd5b506103e9610b66565b34801561050e575f80fd5b506103e961051d36600461219d565b610bf9565b34801561052d575f80fd5b5061034e60115481565b348015610542575f80fd5b506103e9610c4d565b348015610556575f80fd5b506005546001600160a01b0316610326565b348015610573575f80fd5b50610260610d08565b348015610587575f80fd5b506103e961059636600461219d565b610d17565b3480156105a6575f80fd5b506102956105b53660046120dc565b610e2d565b3480156105c5575f80fd5b506102956105d43660046120dc565b610ec5565b3480156105e4575f80fd5b506103e96105f3366004612106565b610ed1565b348015610603575f80fd5b50610295610612366004612106565b60146020525f908152604090205460ff1681565b348015610631575f80fd5b506103e961064036600461219d565b610f1d565b348015610650575f80fd5b506103e961065f366004612166565b610fa5565b34801561066f575f80fd5b50600e546102959060ff1681565b348015610688575f80fd5b5061034e60075481565b34801561069d575f80fd5b506103e96106ac366004612166565b6110ae565b3480156106bc575f80fd5b506103e96111f9565b3480156106d0575f80fd5b5061034e6106df3660046121d8565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610714575f80fd5b506103e961127f565b348015610728575f80fd5b5061034e60095481565b34801561073d575f80fd5b506103e961074c366004612106565b6112f3565b34801561075c575f80fd5b5061034e60065481565b60606003805461077590612204565b80601f01602080910402602001604051908101604052809291908181526020018280546107a190612204565b80156107ec5780601f106107c3576101008083540402835291602001916107ec565b820191905f5260205f20905b8154815290600101906020018083116107cf57829003601f168201915b5050505050905090565b5f6108023384846113dd565b5060015b92915050565b5f610818848484611500565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156108a15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6108ae85338584036113dd565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916108029185906108ef908690612250565b6113dd565b6005546001600160a01b0316331461091e5760405162461bcd60e51b815260040161089890612263565b670de0b6b3a76400006103e861093360025490565b61093e906002612298565b61094891906122af565b61095291906122af565b8110156109b35760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782074786e20616d6f756e74206c6f776572206044820152687468616e20302e322560b81b6064820152608401610898565b6109c581670de0b6b3a7640000612298565b60078190556040519081527fbd8a1f50bda6367cd3771d8453c2582c5f01613dd6d8ee271672f4943da806d3906020015b60405180910390a150565b6005546001600160a01b03163314610a2b5760405162461bcd60e51b815260040161089890612263565b600f82905560108190556014610a426064846122af565b1115610a905760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610898565b601e6064601054610aa191906122af565b1115610aef5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420333025206f72206c6573730000006044820152606401610898565b5050565b6005546001600160a01b03163314610b1d5760405162461bcd60e51b815260040161089890612263565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610b905760405162461bcd60e51b815260040161089890612263565b600c805460ff60a01b19169055600e805460ff191690556064610bb260025490565b610bbd906002612298565b610bc791906122af565b6009556014600a556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a1565b6005546001600160a01b03163314610c235760405162461bcd60e51b815260040161089890612263565b6001600160a01b03919091165f908152601360205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610c775760405162461bcd60e51b815260040161089890612263565b600c54600160a81b900460ff1615610cc95760405162461bcd60e51b815260206004820152601560248201527454726164696e6720616c7265616479206c6976652160581b6044820152606401610898565b600c805461ffff60a81b191661010160a81b1790556040517fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb7905f90a1565b60606004805461077590612204565b6005546001600160a01b03163314610d415760405162461bcd60e51b815260040161089890612263565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610de85760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610898565b610df28282611c44565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab905f90a35050565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610eae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610898565b610ebb33858584036113dd565b5060019392505050565b5f610802338484611500565b6005546001600160a01b03163314610efb5760405162461bcd60e51b815260040161089890612263565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f475760405162461bcd60e51b815260040161089890612263565b6001600160a01b0382165f81815260126020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610fcf5760405162461bcd60e51b815260040161089890612263565b670de0b6b3a76400006103e8610fe460025490565b610fef906003612298565b610ff991906122af565b61100391906122af565b8110156110675760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e332560a01b6064820152608401610898565b61107981670de0b6b3a7640000612298565b60068190556040519081527fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc906020016109f6565b6005546001600160a01b031633146110d85760405162461bcd60e51b815260040161089890612263565b620186a06110e560025490565b6110f0906001612298565b6110fa91906122af565b8110156111675760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610898565b6103e861117360025490565b61117e906005612298565b61118891906122af565b8111156111f45760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610898565b600955565b6005546001600160a01b031633146112235760405162461bcd60e51b815260040161089890612263565b305f9081526020526008805460ff19166001179055611240611c71565b6008805460ff191690556040514281527f7704eca0c9eaa0b85444383d91c148463b321cff28fcb55afee0ca730b3a55339060200160405180910390a1565b6005546001600160a01b031633146112a95760405162461bcd60e51b815260040161089890612263565b6040515f90339047908381818185875af1925050503d805f81146112e8576040519150601f19603f3d011682016040523d82523d5f602084013e6112ed565b606091505b50505050565b6005546001600160a01b0316331461131d5760405162461bcd60e51b815260040161089890612263565b6001600160a01b0381166113825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610898565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661143f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610898565b6001600160a01b0382166114a05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610898565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115265760405162461bcd60e51b8152600401610898906122ce565b6001600160a01b03821661154c5760405162461bcd60e51b815260040161089890612313565b5f811161159b5760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610898565b600c54600160a81b900460ff1661162e576001600160a01b0383165f9081526012602052604090205460ff16806115e957506001600160a01b0382165f9081526012602052604090205460ff165b61162e5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610898565b600c54600160a01b900460ff1615611a32576005546001600160a01b0384811691161480159061166c57506005546001600160a01b03838116911614155b801561168057506001600160a01b03821615155b801561169757506001600160a01b03821661dead14155b80156116bb57506001600160a01b0383165f9081526012602052604090205460ff16155b80156116df57506001600160a01b0382165f9081526012602052604090205460ff16155b15611a3257600e5460ff16156117e3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415801561176357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b156117e357325f908152600d602052604090205443116117d15760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610898565b325f908152600d602052604090204390555b6001600160a01b0383165f9081526014602052604090205460ff16801561182257506001600160a01b0382165f9081526013602052604090205460ff16155b156118fd5760075481111561188a5760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc103a3c371760c11b6064820152608401610898565b6006546001600160a01b0383165f908152602081905260409020546118af9083612250565b11156118f85760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610898565b611a32565b6001600160a01b0382165f9081526014602052604090205460ff16801561193c57506001600160a01b0383165f9081526013602052604090205460ff16155b156119a5576007548111156118f85760405162461bcd60e51b815260206004820152602960248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152681036b0bc103a3c371760b91b6064820152608401610898565b6001600160a01b0382165f9081526013602052604090205460ff16611a32576006546001600160a01b0383165f908152602081905260409020546119e99083612250565b1115611a325760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610898565b305f9081526020819052604090205460095481108015908190611a5e5750600c54600160b01b900460ff165b8015611a6d575060085460ff16155b8015611a9157506001600160a01b0385165f9081526014602052604090205460ff16155b8015611ab557506001600160a01b0385165f9081526012602052604090205460ff16155b8015611ad957506001600160a01b0384165f9081526012602052604090205460ff16155b15611afe576008805460ff19166001179055611af3611c71565b6008805460ff191690555b6001600160a01b0385165f9081526012602052604090205460019060ff1680611b3e57506001600160a01b0385165f9081526012602052604090205460ff165b15611b4657505f5b5f8115611c30576001600160a01b0386165f9081526014602052604090205460ff168015611b7557505f601054115b15611bb257606460105486611b8a9190612298565b611b9491906122af565b90508060115f828254611ba79190612250565b90915550611c129050565b6001600160a01b0387165f9081526014602052604090205460ff168015611bda57505f600f54115b15611c12576064600f5486611bef9190612298565b611bf991906122af565b90508060115f828254611c0c9190612250565b90915550505b8015611c2357611c23873083611d70565b611c2d8186612356565b94505b611c3b878787611d70565b50505050505050565b6001600160a01b0382165f908152601460205260409020805460ff1916821515179055610df28282610bf9565b305f90815260208190526040902054601154811580611c8e575080155b15611c97575050565b600c54600160a01b900460ff1615611cd857600a54600954611cb99190612298565b821115611cd357600a54600954611cd09190612298565b91505b611d02565b600a54600954611ce891906122af565b821115611d0257600a54600954611cff91906122af565b91505b5f611d0c83611ec3565b5f6011554715611d6b57600c546040516001600160a01b039091169047905f81818185875af1925050503d805f8114611d60576040519150601f19603f3d011682016040523d82523d5f602084013e611d65565b606091505b50909150505b505050565b6001600160a01b038316611d965760405162461bcd60e51b8152600401610898906122ce565b6001600160a01b038216611dbc5760405162461bcd60e51b815260040161089890612313565b6001600160a01b0383165f9081526020819052604090205481811015611e335760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610898565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611e69908490612250565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611eb591815260200190565b60405180910390a350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611ef657611ef6612369565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f96919061237d565b81600181518110611fa957611fa9612369565b60200260200101906001600160a01b031690816001600160a01b031681525050611ff4307f0000000000000000000000000000000000000000000000000000000000000000846113dd565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906120489085905f90869030904290600401612398565b5f604051808303815f87803b15801561205f575f80fd5b505af1158015612071573d5f803e3d5ffd5b505050505050565b5f602080835283518060208501525f5b818110156120a557858101830151858201604001528201612089565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146120d9575f80fd5b50565b5f80604083850312156120ed575f80fd5b82356120f8816120c5565b946020939093013593505050565b5f60208284031215612116575f80fd5b8135612121816120c5565b9392505050565b5f805f6060848603121561213a575f80fd5b8335612145816120c5565b92506020840135612155816120c5565b929592945050506040919091013590565b5f60208284031215612176575f80fd5b5035919050565b5f806040838503121561218e575f80fd5b50508035926020909101359150565b5f80604083850312156121ae575f80fd5b82356121b9816120c5565b9150602083013580151581146121cd575f80fd5b809150509250929050565b5f80604083850312156121e9575f80fd5b82356121f4816120c5565b915060208301356121cd816120c5565b600181811c9082168061221857607f821691505b60208210810361223657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156108065761080661223c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176108065761080661223c565b5f826122c957634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156108065761080661223c565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561238d575f80fd5b8151612121816120c5565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156123e85784516001600160a01b0316835293830193918301916001016123c3565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212202feec31af295961b83a358dc57a83464d9554fb816c6d6cad61f646b266cc4d064736f6c634300081800334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2038a348de792a284be188a16277935e6af79e0000000000000000000000000c2038a348de792a284be188a16277935e6af79e0000000000000000000000000000000000000000000000000000000000000006424542455254000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054242455254000000000000000000000000000000000000000000000000000000