[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "uint256", "name": "cap", "type": "uint256" }, { "internalType": "uint256", "name": "initialSupply", "type": "uint256" }, { "internalType": "bool", "name": "transferEnabled", "type": "bool" }, { "internalType": "bool", "name": "mintingFinished", "type": "bool" } ], "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": "MintFinished", "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": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "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": [], "name": "TransferEnabled", "type": "event" }, { "inputs": [], "name": "BUILT_ON", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "OPERATOR_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approveAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "approveAndCall", "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": "cap", "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": "enableTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "finishMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintingFinished", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "recoverERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "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": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferFromAndCall", "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": "value", "type": "uint256" } ], "name": "transferFromAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526009805461ffff60a01b191690553480156200001f57600080fd5b506040516200311738038062003117833981810160405260e08110156200004557600080fd5b81019080805160405193929190846401000000008211156200006657600080fd5b9083019060208201858111156200007c57600080fd5b82516401000000008111828201881017156200009757600080fd5b82525081516020918201929091019080838360005b83811015620000c6578181015183820152602001620000ac565b50505050905090810190601f168015620000f45780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011857600080fd5b9083019060208201858111156200012e57600080fd5b82516401000000008111828201881017156200014957600080fd5b82525081516020918201929091019080838360005b83811015620001785781810151838201526020016200015e565b50505050905090810190601f168015620001a65780820380516001836020036101000a031916815260200191505b506040908152602082810151918301516060840151608085015160a09095015189519497509195509392909188918891879184918491620001ee916003919085019062000a49565b5080516200020490600490602084019062000a49565b50506005805460ff19166012179055508062000267576040805162461bcd60e51b815260206004820152601560248201527f45524332304361707065643a2063617020697320300000000000000000000000604482015290519081900360640190fd5b600655620002856301ffc9a760e01b6001600160e01b036200047e16565b620002a0634bbee2df60e01b6001600160e01b036200047e16565b620002bb637dcf646760e11b6001600160e01b036200047e16565b50620002e690506000620002d76001600160e01b036200050316565b6001600160e01b036200050816565b604080516526a4a72a22a960d11b815290519081900360060190206200031990620002d76001600160e01b036200050316565b604080516727a822a920aa27a960c11b815290519081900360080190206200034e90620002d76001600160e01b036200050316565b6000620003636001600160e01b036200050316565b600980546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350801580620003be57508284145b620003fb5760405162461bcd60e51b8152600401808060200182810382526040815260200180620030b76040913960400191505060405180910390fd5b6200040f856001600160e01b036200052116565b82156200043d576200043d6200042d6001600160e01b036200053716565b846001600160e01b036200054616565b80156200045757620004576001600160e01b036200065e16565b81156200047157620004716001600160e01b036200076116565b5050505050505062000aeb565b6001600160e01b03198082161415620004de576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152600760205260409020805460ff19166001179055565b335b90565b6200051d82826001600160e01b036200080416565b5050565b6005805460ff191660ff92909216919091179055565b6009546001600160a01b031690565b6001600160a01b038216620005a2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620005b9600083836001600160e01b036200088816565b620005d581600254620008a560201b620018431790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200060891839062001843620008a5821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600954600160a01b900460ff1615620006be576040805162461bcd60e51b815260206004820152601e60248201527f42617365546f6b656e3a206d696e74696e672069732066696e69736865640000604482015290519081900360640190fd5b620006d16001600160e01b036200050316565b6009546001600160a01b0390811691161462000723576040805162461bcd60e51b81526020600482018190526024820152600080516020620030f7833981519152604482015290519081900360640190fd5b6009805460ff60a01b1916600160a01b1790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b620007746001600160e01b036200050316565b6009546001600160a01b03908116911614620007c6576040805162461bcd60e51b81526020600482018190526024820152600080516020620030f7833981519152604482015290519081900360640190fd5b6009805460ff60a81b1916600160a81b1790556040517f75fce015c314a132947a3e42f6ab79ab8e05397dabf35b4d742dea228bbadc2d90600090a1565b60008281526008602090815260409091206200082b91839062001f7262000909821b17901c565b156200051d57620008446001600160e01b036200050316565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b620008a08383836200092960201b620021b21760201c565b505050565b60008282018381101562000900576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600062000900836001600160a01b0384166001600160e01b03620009d316565b62000941838383620008a060201b62000f261760201c565b6001600160a01b038316620008a0576006546200097f826200096b6001600160e01b0362000a2b16565b620008a560201b620018431790919060201c565b1115620008a0576040805162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a2063617020657863656564656400000000000000604482015290519081900360640190fd5b6000620009ea83836001600160e01b0362000a3116565b62000a225750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000903565b50600062000903565b60025490565b60009081526001919091016020526040902054151590565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a8c57805160ff191683800117855562000abc565b8280016001018555821562000abc579182015b8281111562000abc57825182559160200191906001019062000a9f565b5062000aca92915062000ace565b5090565b6200050591905b8082111562000aca576000815560010162000ad5565b6125bc8062000afb6000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c8063715018a611610146578063a9059cbb116100c3578063d547741f11610087578063d547741f146108d8578063d8fbe99414610904578063dd62ed3e1461093a578063f1b50c1d14610968578063f2fde38b14610970578063f5b541a61461099657610253565b8063a9059cbb14610706578063c1d34b8914610732578063ca15c873146107f8578063cae9ca5114610815578063d5391393146108d057610253565b80639010d07c1161010a5780639010d07c1461067b57806391d148541461069e57806395d89b41146106ca578063a217fddf146106d2578063a457c2d7146106da57610253565b8063715018a6146105ef57806379cc6790146105f75780637d64bcb4146106235780638980f11f1461062b5780638da5cb5b1461065757610253565b80633177029f116101d457806340c10f191161019857806340c10f191461057057806342966c681461059c57806346b38ea2146105b95780634cd412d5146105c157806370a08231146105c957610253565b80633177029f14610429578063355274ea1461045557806336568abe1461045d57806339509351146104895780634000aea0146104b557610253565b806318160ddd1161021b57806318160ddd1461037057806323b872dd1461038a578063248a9ca3146103c05780632f2ff15d146103dd578063313ce5671461040b57610253565b806301ffc9a71461025857806305d2035b1461029357806306fdde031461029b578063095ea7b3146103185780631296ee6214610344575b600080fd5b61027f6004803603602081101561026e57600080fd5b50356001600160e01b03191661099e565b604080519115158252519081900360200190f35b61027f6109bd565b6102a36109cd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027f6004803603604081101561032e57600080fd5b506001600160a01b038135169060200135610a63565b61027f6004803603604081101561035a57600080fd5b506001600160a01b038135169060200135610a81565b610378610aa4565b60408051918252519081900360200190f35b61027f600480360360608110156103a057600080fd5b506001600160a01b03813581169160208101359091169060400135610aaa565b610378600480360360208110156103d657600080fd5b5035610b38565b610409600480360360408110156103f357600080fd5b50803590602001356001600160a01b0316610b4d565b005b610413610bb9565b6040805160ff9092168252519081900360200190f35b61027f6004803603604081101561043f57600080fd5b506001600160a01b038135169060200135610bc2565b610378610bde565b6104096004803603604081101561047357600080fd5b50803590602001356001600160a01b0316610be4565b61027f6004803603604081101561049f57600080fd5b506001600160a01b038135169060200135610c45565b61027f600480360360608110156104cb57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104fb57600080fd5b82018360208201111561050d57600080fd5b8035906020019184600183028401116401000000008311171561052f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c9e945050505050565b6104096004803603604081101561058657600080fd5b506001600160a01b038135169060200135610d03565b610409600480360360208110156105b257600080fd5b5035610dce565b6102a3610de2565b61027f610dfe565b610378600480360360208110156105df57600080fd5b50356001600160a01b0316610e0e565b610409610e29565b6104096004803603604081101561060d57600080fd5b506001600160a01b038135169060200135610ecb565b610409610f2b565b6104096004803603604081101561064157600080fd5b506001600160a01b038135169060200135611020565b61065f61110f565b604080516001600160a01b039092168252519081900360200190f35b61065f6004803603604081101561069157600080fd5b508035906020013561111e565b61027f600480360360408110156106b457600080fd5b50803590602001356001600160a01b031661113c565b6102a361115a565b6103786111bb565b61027f600480360360408110156106f057600080fd5b506001600160a01b0381351690602001356111c0565b61027f6004803603604081101561071c57600080fd5b506001600160a01b03813516906020013561122e565b61027f6004803603608081101561074857600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561078357600080fd5b82018360208201111561079557600080fd5b803590602001918460018302840111640100000000831117156107b757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506112bf945050505050565b6103786004803603602081101561080e57600080fd5b503561131f565b61027f6004803603606081101561082b57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561085b57600080fd5b82018360208201111561086d57600080fd5b8035906020019184600183028401116401000000008311171561088f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611336945050505050565b610378611389565b610409600480360360408110156108ee57600080fd5b50803590602001356001600160a01b03166113a7565b61027f6004803603606081101561091a57600080fd5b506001600160a01b03813581169160208101359091169060400135611400565b6103786004803603604081101561095057600080fd5b506001600160a01b038135811691602001351661141d565b610409611448565b6104096004803603602081101561098657600080fd5b50356001600160a01b03166114de565b6103786115d7565b6001600160e01b03191660009081526007602052604090205460ff1690565b600954600160a01b900460ff1690565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b820191906000526020600020905b815481529060010190602001808311610a3c57829003601f168201915b5050505050905090565b6000610a77610a706115f7565b84846115fb565b5060015b92915050565b6000610a9d838360405180602001604052806000815250610c9e565b9392505050565b60025490565b6009546000908490600160a81b900460ff1680610ae95750604080516727a822a920aa27a960c11b81529051908190036008019020610ae9908261113c565b610b245760405162461bcd60e51b815260040180806020018281038252604a8152602001806124e9604a913960600191505060405180910390fd5b610b2f8585856116e7565b95945050505050565b60009081526008602052604090206002015490565b600082815260086020526040902060020154610b7090610b6b6115f7565b61113c565b610bab5760405162461bcd60e51b815260040180806020018281038252602f81526020018061227f602f913960400191505060405180910390fd5b610bb58282611765565b5050565b60055460ff1690565b6000610a9d838360405180602001604052806000815250611336565b60065490565b610bec6115f7565b6001600160a01b0316816001600160a01b031614610c3b5760405162461bcd60e51b815260040180806020018281038252602f815260200180612558602f913960400191505060405180910390fd5b610bb582826117d4565b6000610a77610c526115f7565b84610c998560016000610c636115f7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61184316565b6115fb565b6000610caa848461122e565b50610cbe610cb66115f7565b85858561189d565b610cf95760405162461bcd60e51b81526004018080602001828103825260268152602001806123be6026913960400191505060405180910390fd5b5060019392505050565b600954600160a01b900460ff1615610d62576040805162461bcd60e51b815260206004820152601e60248201527f42617365546f6b656e3a206d696e74696e672069732066696e69736865640000604482015290519081900360640190fd5b604080516526a4a72a22a960d11b81529051908190036006019020610d8990610b6b6115f7565b610dc45760405162461bcd60e51b815260040180806020018281038252602b815260200180612393602b913960400191505060405180910390fd5b610bb582826119f4565b610ddf610dd96115f7565b82611af0565b50565b6040518060600160405280602f81526020016124ba602f913981565b600954600160a81b900460ff1690565b6001600160a01b031660009081526020819052604090205490565b610e316115f7565b6009546001600160a01b03908116911614610e81576040805162461bcd60e51b8152602060048201819052602482015260008051602061240c833981519152604482015290519081900360640190fd5b6009546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600980546001600160a01b0319169055565b6000610f088260405180606001604052806024815260200161242c60249139610efb86610ef66115f7565b61141d565b919063ffffffff611bf816565b9050610f1c83610f166115f7565b836115fb565b610f268383611af0565b505050565b600954600160a01b900460ff1615610f8a576040805162461bcd60e51b815260206004820152601e60248201527f42617365546f6b656e3a206d696e74696e672069732066696e69736865640000604482015290519081900360640190fd5b610f926115f7565b6009546001600160a01b03908116911614610fe2576040805162461bcd60e51b8152602060048201819052602482015260008051602061240c833981519152604482015290519081900360640190fd5b6009805460ff60a01b1916600160a01b1790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b6110286115f7565b6009546001600160a01b03908116911614611078576040805162461bcd60e51b8152602060048201819052602482015260008051602061240c833981519152604482015290519081900360640190fd5b816001600160a01b031663a9059cbb61108f61110f565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156110df57600080fd5b505af11580156110f3573d6000803e3d6000fd5b505050506040513d602081101561110957600080fd5b50505050565b6009546001600160a01b031690565b6000828152600860205260408120610a9d908363ffffffff611c8f16565b6000828152600860205260408120610a9d908363ffffffff611c9b16565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a595780601f10610a2e57610100808354040283529160200191610a59565b600081565b6000610a776111cd6115f7565b84610c998560405180606001604052806025815260200161253360259139600160006111f76115f7565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611bf816565b60006112386115f7565b600954600160a81b900460ff16806112725750604080516727a822a920aa27a960c11b81529051908190036008019020611272908261113c565b6112ad5760405162461bcd60e51b815260040180806020018281038252604a8152602001806124e9604a913960600191505060405180910390fd5b6112b78484611cb0565b949350505050565b60006112cc858585610aaa565b506112d98585858561189d565b6113145760405162461bcd60e51b81526004018080602001828103825260268152602001806123be6026913960400191505060405180910390fd5b506001949350505050565b6000818152600860205260408120610a7b90611cc4565b60006113428484610a63565b5061134e848484611ccf565b610cf95760405162461bcd60e51b81526004018080602001828103825260258152602001806123186025913960400191505060405180910390fd5b604080516526a4a72a22a960d11b8152905190819003600601902081565b6000828152600860205260409020600201546113c590610b6b6115f7565b610c3b5760405162461bcd60e51b81526004018080602001828103825260308152602001806123636030913960400191505060405180910390fd5b60006112b7848484604051806020016040528060008152506112bf565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6114506115f7565b6009546001600160a01b039081169116146114a0576040805162461bcd60e51b8152602060048201819052602482015260008051602061240c833981519152604482015290519081900360640190fd5b6009805460ff60a81b1916600160a81b1790556040517f75fce015c314a132947a3e42f6ab79ab8e05397dabf35b4d742dea228bbadc2d90600090a1565b6114e66115f7565b6009546001600160a01b03908116911614611536576040805162461bcd60e51b8152602060048201819052602482015260008051602061240c833981519152604482015290519081900360640190fd5b6001600160a01b03811661157b5760405162461bcd60e51b81526004018080602001828103825260268152602001806122d06026913960400191505060405180910390fd5b6009546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b604080516727a822a920aa27a960c11b8152905190819003600801902081565b3390565b6001600160a01b0383166116405760405162461bcd60e51b81526004018080602001828103825260248152602001806124966024913960400191505060405180910390fd5b6001600160a01b0382166116855760405162461bcd60e51b81526004018080602001828103825260228152602001806122f66022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60006116f4848484611e0b565b610cf9846117006115f7565b610c99856040518060600160405280602881526020016123e4602891396001600160a01b038a1660009081526001602052604081209061173e6115f7565b6001600160a01b03168152602081019190915260400160002054919063ffffffff611bf816565b6000828152600860205260409020611783908263ffffffff611f7216565b15610bb5576117906115f7565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526008602052604090206117f2908263ffffffff611f8716565b15610bb5576117ff6115f7565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b600082820183811015610a9d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006118b1846001600160a01b0316611f9c565b6118bd575060006112b7565b6000846001600160a01b03166388a7ca5c6118d66115f7565b8887876040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561195b578181015183820152602001611943565b50505050905090810190601f1680156119885780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156119aa57600080fd5b505af11580156119be573d6000803e3d6000fd5b505050506040513d60208110156119d457600080fd5b50516001600160e01b031916632229f29760e21b14915050949350505050565b6001600160a01b038216611a4f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611a5b60008383611fd5565b600254611a6e908263ffffffff61184316565b6002556001600160a01b038216600090815260208190526040902054611a9a908263ffffffff61184316565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216611b355760405162461bcd60e51b81526004018080602001828103825260218152602001806124506021913960400191505060405180910390fd5b611b4182600083611fd5565b611b84816040518060600160405280602281526020016122ae602291396001600160a01b038516600090815260208190526040902054919063ffffffff611bf816565b6001600160a01b038316600090815260208190526040902055600254611bb0908263ffffffff611fe016565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008184841115611c875760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c4c578181015183820152602001611c34565b50505050905090810190601f168015611c795780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000610a9d8383612022565b6000610a9d836001600160a01b038416612086565b6000610a77611cbd6115f7565b8484611e0b565b6000610a7b8261209e565b6000611ce3846001600160a01b0316611f9c565b611cef57506000610a9d565b6000846001600160a01b0316637b04a2d0611d086115f7565b86866040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d74578181015183820152602001611d5c565b50505050905090810190601f168015611da15780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015611dc257600080fd5b505af1158015611dd6573d6000803e3d6000fd5b505050506040513d6020811015611dec57600080fd5b50516001600160e01b0319166307b04a2d60e41b149150509392505050565b6001600160a01b038316611e505760405162461bcd60e51b81526004018080602001828103825260258152602001806124716025913960400191505060405180910390fd5b6001600160a01b038216611e955760405162461bcd60e51b815260040180806020018281038252602381526020018061225c6023913960400191505060405180910390fd5b611ea0838383611fd5565b611ee38160405180606001604052806026815260200161233d602691396001600160a01b038616600090815260208190526040902054919063ffffffff611bf816565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611f18908263ffffffff61184316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000610a9d836001600160a01b0384166120a2565b6000610a9d836001600160a01b0384166120ec565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906112b7575050151592915050565b610f268383836121b2565b6000610a9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bf8565b815460009082106120645760405162461bcd60e51b815260040180806020018281038252602281526020018061223a6022913960400191505060405180910390fd5b82600001828154811061207357fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b60006120ae8383612086565b6120e457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a7b565b506000610a7b565b600081815260018301602052604081205480156121a8578354600019808301919081019060009087908390811061211f57fe5b906000526020600020015490508087600001848154811061213c57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061216c57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610a7b565b6000915050610a7b565b6121bd838383610f26565b6001600160a01b038316610f26576006546121e6826121da610aa4565b9063ffffffff61184316565b1115610f26576040805162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a2063617020657863656564656400000000000000604482015290519081900360640190fdfe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373455243313336333a205f636865636b416e6443616c6c417070726f7665207265766572747345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65526f6c65733a2063616c6c657220646f6573206e6f74206861766520746865204d494e54455220726f6c65455243313336333a205f636865636b416e6443616c6c5472616e73666572207265766572747345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737368747470733a2f2f766974746f6d696e61636f72692e6769746875622e696f2f65726332302d67656e657261746f7242617365546f6b656e3a207472616e73666572206973206e6f7420656e61626c6564206f722066726f6d20646f6573206e6f74206861766520746865204f50455241544f5220726f6c6545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a2646970667358221220f8683978394b8d78af0ebe5fcd9fc2d81a80d39c7bace24fbcc5e4f69acbc5f164736f6c6343000606003342617365546f6b656e3a2069662066696e697368206d696e74696e672c20636170206d75737420626520657175616c20746f20696e697469616c537570706c794f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000010784cb3cbcb04a400000000000000000000000000000000000000000000000010784cb3cbcb04a4000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001143727970746f205265766f6c7574696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044352565400000000000000000000000000000000000000000000000000000000