Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
89,717,400.00 MECAT

Holders:
69
Profile Summary
Blockchain:
Base (8453)


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

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Created At:
Wed, 10 Jul 2024 15:41:57 GMT
TokenTest01.sol
contracts
TokenTest01.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_defaultAdmin",
        "type": "address"
      },
      {
        "internalType": "string",
        "name": "_name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "_symbol",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "initialSupply",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_adminWallet",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_marketingWallet",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_buyFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_sellFee",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "ContractMetadataUnauthorized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OwnableUnauthorized",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "adminWallet",
        "type": "address"
      }
    ],
    "name": "AdminWalletUpdated",
    "type": "event"
  },
  {
    "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": [
      {
        "indexed": false,
        "internalType": "string",
        "name": "prevURI",
        "type": "string"
      },
      {
        "indexed": false,
        "internalType": "string",
        "name": "newURI",
        "type": "string"
      }
    ],
    "name": "ContractURIUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "isExcluded",
        "type": "bool"
      }
    ],
    "name": "ExcludeFromFees",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "buyFee",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "sellFee",
        "type": "uint256"
      }
    ],
    "name": "FeesUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "marketingWallet",
        "type": "address"
      }
    ],
    "name": "MarketingWalletUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "prevOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnerUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "mintedTo",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "quantityMinted",
        "type": "uint256"
      }
    ],
    "name": "TokensMinted",
    "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"
  },
  {
    "inputs": [],
    "name": "DOMAIN_SEPARATOR",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "adminWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "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": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "burn",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "burnFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "contractURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "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": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "excluded",
        "type": "bool"
      }
    ],
    "name": "excludeFromFees",
    "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": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "isExcludedFromFees",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "mintTo",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes[]",
        "name": "data",
        "type": "bytes[]"
      }
    ],
    "name": "multicall",
    "outputs": [
      {
        "internalType": "bytes[]",
        "name": "results",
        "type": "bytes[]"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "nonces",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "permit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_adminWallet",
        "type": "address"
      }
    ],
    "name": "setAdminWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_uri",
        "type": "string"
      }
    ],
    "name": "setContractURI",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_buyFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_sellFee",
        "type": "uint256"
      }
    ],
    "name": "setFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_marketingWallet",
        "type": "address"
      }
    ],
    "name": "setMarketingWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_newOwner",
        "type": "address"
      }
    ],
    "name": "setOwner",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
6101006040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960e0523480156200003657600080fd5b5060405162002c3838038062002c388339810160408190526200005991620005f2565b8787878181818160056200006e83826200073f565b5060066200007d82826200073f565b50504660a052503060c05262000092620002a3565b60805250620000a39050836200033a565b5050600160085550612710821115620001035760405162461bcd60e51b815260206004820152601860248201527f427579206665652063616e27742065786365656420313025000000000000000060448201526064015b60405180910390fd5b612710811115620001575760405162461bcd60e51b815260206004820152601960248201527f53656c6c206665652063616e27742065786365656420313025000000000000006044820152606401620000fa565b6001600160a01b038416620001bb5760405162461bcd60e51b815260206004820152602360248201527f41646d696e2077616c6c65742063616e6e6f74206265207a65726f206164647260448201526265737360e81b6064820152608401620000fa565b6001600160a01b038316620002235760405162461bcd60e51b815260206004820152602760248201527f4d61726b6574696e672077616c6c65742063616e6e6f74206265207a65726f206044820152666164647265737360c81b6064820152608401620000fa565b6200022f33866200038c565b600b80546001600160a01b03199081166001600160a01b0396871617909155600c805490911693851693909317909255600955600a55939093166000908152600d6020526040808220805460ff19908116600190811790925530845291909220805490911690911790555062000833915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620002d062000471565b80516020918201206040805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b6001600160a01b038216620003e45760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620000fa565b8060046000828254620003f891906200080b565b90915550506001600160a01b03821660009081526002602052604081208054839290620004279084906200080b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6060600580546200048290620006b1565b80601f0160208091040260200160405190810160405280929190818152602001828054620004b090620006b1565b8015620005015780601f10620004d55761010080835404028352916020019162000501565b820191906000526020600020905b815481529060010190602001808311620004e357829003601f168201915b5050505050905090565b505050565b80516001600160a01b03811681146200052857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200055557600080fd5b81516001600160401b03808211156200057257620005726200052d565b604051601f8301601f19908116603f011681019082821181831017156200059d576200059d6200052d565b81604052838152602092508683858801011115620005ba57600080fd5b600091505b83821015620005de5785820183015181830184015290820190620005bf565b600093810190920192909252949350505050565b600080600080600080600080610100898b0312156200061057600080fd5b6200061b8962000510565b60208a01519098506001600160401b03808211156200063957600080fd5b620006478c838d0162000543565b985060408b01519150808211156200065e57600080fd5b506200066d8b828c0162000543565b965050606089015194506200068560808a0162000510565b93506200069560a08a0162000510565b60c08a015160e0909a0151989b979a5095989497939692505050565b600181811c90821680620006c657607f821691505b602082108103620006e757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200050b57600081815260208120601f850160051c81016020861015620007165750805b601f850160051c820191505b81811015620007375782815560010162000722565b505050505050565b81516001600160401b038111156200075b576200075b6200052d565b62000773816200076c8454620006b1565b84620006ed565b602080601f831160018114620007ab5760008415620007925750858301515b600019600386901b1c1916600185901b17855562000737565b600085815260208120601f198616915b82811015620007dc57888601518255948401946001909101908401620007bb565b5085821015620007fb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200082d57634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c05160e0516123cb6200086d6000396000610e5d0152600061077b015260006107a5015260006107cf01526123cb6000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80634fbee1931161010f57806395d89b41116100a2578063c024666811610071578063c02466681461042b578063d505accf1461043e578063dd62ed3e14610451578063e8a3d4851461046457600080fd5b806395d89b41146103dd578063a457c2d7146103e5578063a9059cbb146103f8578063ac9650d81461040b57600080fd5b806379cc6790116100de57806379cc6790146103935780637ecebe00146103a65780638da5cb5b146103b9578063938e3d7b146103ca57600080fd5b80634fbee193146103185780635d098b381461034457806370a082311461035757806375f0a8741461038057600080fd5b8063313ce56711610187578063395093511161015657806339509351146102d657806342966c68146102e9578063449a52f8146102fc578063470624021461030f57600080fd5b8063313ce5671461028157806335082933146102905780633644e515146102a357806336b19cd7146102ab57600080fd5b806313af4035116101c357806313af40351461024057806318160ddd1461025357806323b872dd146102655780632b14ca561461027857600080fd5b806306fdde03146101ea578063095ea7b3146102085780630b78f9c01461022b575b600080fd5b6101f261046c565b6040516101ff9190611d12565b60405180910390f35b61021b610216366004611d41565b6104fe565b60405190151581526020016101ff565b61023e610239366004611d6b565b610518565b005b61023e61024e366004611d8d565b610637565b6004545b6040519081526020016101ff565b61021b610273366004611da8565b610668565b610257600a5481565b604051601281526020016101ff565b61023e61029e366004611d8d565b61068c565b61025761076e565b600b546102be906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b61021b6102e4366004611d41565b6107fe565b61023e6102f7366004611de4565b61083d565b61023e61030a366004611d41565b61089b565b61025760095481565b61021b610326366004611d8d565b6001600160a01b03166000908152600d602052604090205460ff1690565b61023e610352366004611d8d565b610944565b610257610365366004611d8d565b6001600160a01b031660009081526002602052604090205490565b600c546102be906001600160a01b031681565b61023e6103a1366004611d41565b610a22565b6102576103b4366004611d8d565b610b18565b6001546001600160a01b03166102be565b61023e6103d8366004611e13565b610b36565b6101f2610b64565b61021b6103f3366004611d41565b610b73565b61021b610406366004611d41565b610c05565b61041e610419366004611ec4565b610c13565b6040516101ff9190611f39565b61023e610439366004611f9b565b610d83565b61023e61044c366004611fd7565b610e09565b61025761045f36600461204a565b610f8f565b6101f2610fba565b60606005805461047b9061207d565b80601f01602080910402602001604051908101604052809291908181526020018280546104a79061207d565b80156104f45780601f106104c9576101008083540402835291602001916104f4565b820191906000526020600020905b8154815290600101906020018083116104d757829003601f168201915b5050505050905090565b60003361050c818585611048565b60019150505b92915050565b600b546001600160a01b0316331461054b5760405162461bcd60e51b8152600401610542906120b1565b60405180910390fd5b61271082111561059d5760405162461bcd60e51b815260206004820152601860248201527f427579206665652063616e2774206578636565642031302500000000000000006044820152606401610542565b6127108111156105ef5760405162461bcd60e51b815260206004820152601960248201527f53656c6c206665652063616e27742065786365656420313025000000000000006044820152606401610542565b6009829055600a81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a191015b60405180910390a15050565b61063f61116c565b61065c576040516316ccb9cb60e11b815260040160405180910390fd5b61066581611199565b50565b6000336106768582856111eb565b610681858585611265565b506001949350505050565b6001546001600160a01b031633146106b7576040516316ccb9cb60e11b815260040160405180910390fd5b6001600160a01b0381166107195760405162461bcd60e51b815260206004820152602360248201527f41646d696e2077616c6c65742063616e6e6f74206265207a65726f206164647260448201526265737360e81b6064820152608401610542565b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f65ef617d87f7e47ab080058ac1d5ebf06817bbd817e49898ab9f9532405ecd9b906020015b60405180910390a150565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156107c757507f000000000000000000000000000000000000000000000000000000000000000046145b156107f157507f000000000000000000000000000000000000000000000000000000000000000090565b6107f9611368565b905090565b3360008181526003602090815260408083206001600160a01b038716845290915281205490919061050c90829086906108389087906120fe565b611048565b336000908152600260205260409020548111156108915760405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f7567682062616c616e636560701b6044820152606401610542565b61066533826113fd565b6108a361116c565b6108ef5760405162461bcd60e51b815260206004820152601760248201527f4e6f7420617574686f72697a656420746f206d696e742e0000000000000000006044820152606401610542565b806000036109365760405162461bcd60e51b815260206004820152601460248201527326b4b73a34b733903d32b937903a37b5b2b7399760611b6044820152606401610542565b610940828261154b565b5050565b600b546001600160a01b0316331461096e5760405162461bcd60e51b8152600401610542906120b1565b6001600160a01b0381166109d45760405162461bcd60e51b815260206004820152602760248201527f4d61726b6574696e672077616c6c65742063616e6e6f74206265207a65726f206044820152666164647265737360c81b6064820152608401610542565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527fbf86feedee5b30c30a8243bd21deebb704d141478d39b1be04fe5ee739f214e790602001610763565b610a2a61116c565b610a765760405162461bcd60e51b815260206004820152601760248201527f4e6f7420617574686f72697a656420746f206275726e2e0000000000000000006044820152606401610542565b80610a96836001600160a01b031660009081526002602052604090205490565b1015610ad95760405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f7567682062616c616e636560701b6044820152606401610542565b600081610ae68433610f8f565b610af09190612111565b9050610afe83336000611048565b610b09833383611048565b610b1383836113fd565b505050565b6001600160a01b038116600090815260076020526040812054610512565b610b3e61116c565b610b5b57604051639f7f092560e01b815260040160405180910390fd5b6106658161162a565b60606006805461047b9061207d565b3360008181526003602090815260408083206001600160a01b038716845290915281205490919083811015610bf85760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610542565b6106818286868403611048565b60003361050c818585611265565b60608167ffffffffffffffff811115610c2e57610c2e611dfd565b604051908082528060200260200182016040528015610c6157816020015b6060815260200190600190039081610c4c5790505b509050336000805b84811015610d7a578115610ce857610cc630878784818110610c8d57610c8d612124565b9050602002810190610c9f919061213a565b86604051602001610cb293929190612188565b6040516020818303038152906040526116f9565b848281518110610cd857610cd8612124565b6020026020010181905250610d68565b610d4a30878784818110610cfe57610cfe612124565b9050602002810190610d10919061213a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116f992505050565b848281518110610d5c57610d5c612124565b60200260200101819052505b80610d72816121ae565b915050610c69565b50505092915050565b600b546001600160a01b03163314610dad5760405162461bcd60e51b8152600401610542906120b1565b6001600160a01b0382166000818152600d6020908152604091829020805460ff19168515159081179091558251938452908301527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910161062b565b83421115610e595760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610542565b60007f0000000000000000000000000000000000000000000000000000000000000000888888610e888c611725565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610f05610ee561076e565b8360405161190160f01b8152600281019290925260228201526042902090565b90506000610f158287878761174d565b9050896001600160a01b0316816001600160a01b031614610f785760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610542565b610f838a8a8a611048565b50505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60008054610fc79061207d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff39061207d565b80156110405780601f1061101557610100808354040283529160200191611040565b820191906000526020600020905b81548152906001019060200180831161102357829003601f168201915b505050505081565b6001600160a01b0383166110aa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610542565b6001600160a01b03821661110b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610542565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111806001546001600160a01b031690565b6001600160a01b0316336001600160a01b031614905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b60006111f78484610f8f565b9050600019811461125f57818110156112525760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610542565b61125f8484848403611048565b50505050565b61126d611777565b6001600160a01b0383166000908152600d602052604090205460ff16806112ac57506001600160a01b0382166000908152600d602052604090205460ff165b156112c1576112bc8383836117d0565b61135e565b60006001600160a01b0383163014806112da5750823b15155b1561130157612710600a54836112f091906121c7565b6112fa91906121de565b9050611326565b833b15611326576127106009548361131991906121c7565b61132391906121de565b90505b801561135157600c546113449085906001600160a01b0316836117d0565b61134e8183612111565b91505b61135c8484846117d0565b505b610b136001600855565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61139361046c565b80516020918201206040805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661145d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610542565b6001600160a01b038216600090815260026020526040902054818110156114d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610542565b6001600160a01b0383166000908152600260205260408120838303905560048054849290611500908490612111565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6001600160a01b0382166115a15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610542565b80600460008282546115b391906120fe565b90915550506001600160a01b038216600090815260026020526040812080548392906115e09084906120fe565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60008080546116389061207d565b80601f01602080910402602001604051908101604052809291908181526020018280546116649061207d565b80156116b15780601f10611686576101008083540402835291602001916116b1565b820191906000526020600020905b81548152906001019060200180831161169457829003601f168201915b5050505050905081600090816116c7919061224e565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a16818360405161062b92919061230e565b606061171e838360405180606001604052806027815260200161236f6027913961199e565b9392505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b600080600061175e87878787611a16565b9150915061176b81611ada565b5090505b949350505050565b6002600854036117c95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610542565b6002600855565b6001600160a01b0383166118345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610542565b6001600160a01b0382166118965760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610542565b6001600160a01b0383166000908152600260205260409020548181101561190e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610542565b6001600160a01b038085166000908152600260205260408082208585039055918516815290812080548492906119459084906120fe565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161199191815260200190565b60405180910390a361125f565b6060600080856001600160a01b0316856040516119bb919061233c565b600060405180830381855af49150503d80600081146119f6576040519150601f19603f3d011682016040523d82523d6000602084013e6119fb565b606091505b5091509150611a0c86838387611c24565b9695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611a4d5750600090506003611ad1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611aa1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611aca57600060019250925050611ad1565b9150600090505b94509492505050565b6000816004811115611aee57611aee612358565b03611af65750565b6001816004811115611b0a57611b0a612358565b03611b575760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610542565b6002816004811115611b6b57611b6b612358565b03611bb85760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610542565b6003816004811115611bcc57611bcc612358565b036106655760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610542565b60608315611c93578251600003611c8c576001600160a01b0385163b611c8c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610542565b508161176f565b61176f8383815115611ca85781518083602001fd5b8060405162461bcd60e51b81526004016105429190611d12565b60005b83811015611cdd578181015183820152602001611cc5565b50506000910152565b60008151808452611cfe816020860160208601611cc2565b601f01601f19169290920160200192915050565b60208152600061171e6020830184611ce6565b80356001600160a01b0381168114611d3c57600080fd5b919050565b60008060408385031215611d5457600080fd5b611d5d83611d25565b946020939093013593505050565b60008060408385031215611d7e57600080fd5b50508035926020909101359150565b600060208284031215611d9f57600080fd5b61171e82611d25565b600080600060608486031215611dbd57600080fd5b611dc684611d25565b9250611dd460208501611d25565b9150604084013590509250925092565b600060208284031215611df657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611e2557600080fd5b813567ffffffffffffffff80821115611e3d57600080fd5b818401915084601f830112611e5157600080fd5b813581811115611e6357611e63611dfd565b604051601f8201601f19908116603f01168101908382118183101715611e8b57611e8b611dfd565b81604052828152876020848701011115611ea457600080fd5b826020860160208301376000928101602001929092525095945050505050565b60008060208385031215611ed757600080fd5b823567ffffffffffffffff80821115611eef57600080fd5b818501915085601f830112611f0357600080fd5b813581811115611f1257600080fd5b8660208260051b8501011115611f2757600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611f8e57603f19888603018452611f7c858351611ce6565b94509285019290850190600101611f60565b5092979650505050505050565b60008060408385031215611fae57600080fd5b611fb783611d25565b915060208301358015158114611fcc57600080fd5b809150509250929050565b600080600080600080600060e0888a031215611ff257600080fd5b611ffb88611d25565b965061200960208901611d25565b95506040880135945060608801359350608088013560ff8116811461202d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561205d57600080fd5b61206683611d25565b915061207460208401611d25565b90509250929050565b600181811c9082168061209157607f821691505b60208210810361174757634e487b7160e01b600052602260045260246000fd5b60208082526017908201527f43616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610512576105126120e8565b81810381811115610512576105126120e8565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261215157600080fd5b83018035915067ffffffffffffffff82111561216c57600080fd5b60200191503681900382131561218157600080fd5b9250929050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b6000600182016121c0576121c06120e8565b5060010190565b8082028115828204841417610512576105126120e8565b6000826121fb57634e487b7160e01b600052601260045260246000fd5b500490565b601f821115610b1357600081815260208120601f850160051c810160208610156122275750805b601f850160051c820191505b8181101561224657828155600101612233565b505050505050565b815167ffffffffffffffff81111561226857612268611dfd565b61227c81612276845461207d565b84612200565b602080601f8311600181146122b157600084156122995750858301515b600019600386901b1c1916600185901b178555612246565b600085815260208120601f198616915b828110156122e0578886015182559484019460019091019084016122c1565b50858210156122fe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6040815260006123216040830185611ce6565b82810360208401526123338185611ce6565b95945050505050565b6000825161234e818460208701611cc2565b9190910192915050565b634e487b7160e01b600052602160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013b4980fb1ef414047222ea1a2236345e935890e71970458a953a6d0d9eef2ba64736f6c634300081100330000000000000000000000007c935a446dbc11c572f3d258a850c5b855ca1d1e0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c935a446dbc11c572f3d258a850c5b855ca1d1e00000000000000000000000044df469cf62c433aab447f9e5159ae58274fc7470000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000054d6563617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d45434154000000000000000000000000000000000000000000000000000000