[ { "inputs": [], "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": [ { "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": [ { "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": [], "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": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "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" } ]
608060405234801561000f575f80fd5b506012600a61001e9190610268565b655af3107a400061002f91906102b2565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6100cc9190610268565b655af3107a40006100dd91906102b2565b6040516100ea9190610302565b60405180910390a361031b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561017957808604811115610155576101546100f7565b5b60018516156101645780820291505b808102905061017285610124565b9450610139565b94509492505050565b5f82610191576001905061024c565b8161019e575f905061024c565b81600181146101b457600281146101be576101ed565b600191505061024c565b60ff8411156101d0576101cf6100f7565b5b8360020a9150848211156101e7576101e66100f7565b5b5061024c565b5060208310610133831016604e8410600b84101617156102225782820a90508381111561021d5761021c6100f7565b5b61024c565b61022f8484846001610130565b92509050818404811115610246576102456100f7565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61027282610253565b915061027d8361025c565b92506102aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610182565b905092915050565b5f6102bc82610253565b91506102c783610253565b92508282026102d581610253565b915082820484148315176102ec576102eb6100f7565b5b5092915050565b6102fc81610253565b82525050565b5f6020820190506103155f8301846102f3565b92915050565b611503806103285f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c8063395093511161006f578063395093511461016557806370a082311461019557806395d89b41146101c5578063a457c2d7146101e3578063a9059cbb14610213578063dd62ed3e14610243576100a7565b806306fdde03146100ab578063095ea7b3146100c957806318160ddd146100f957806323b872dd14610117578063313ce56714610147575b5f80fd5b6100b3610273565b6040516100c09190610b16565b60405180910390f35b6100e360048036038101906100de9190610bc7565b6102b0565b6040516100f09190610c1f565b60405180910390f35b6101016102cb565b60405161010e9190610c47565b60405180910390f35b610131600480360381019061012c9190610c60565b6102f0565b60405161013e9190610c1f565b60405180910390f35b61014f610385565b60405161015c9190610ccb565b60405180910390f35b61017f600480360381019061017a9190610bc7565b61038d565b60405161018c9190610c1f565b60405180910390f35b6101af60048036038101906101aa9190610ce4565b6103bc565b6040516101bc9190610c47565b60405180910390f35b6101cd610401565b6040516101da9190610b16565b60405180910390f35b6101fd60048036038101906101f89190610bc7565b61043e565b60405161020a9190610c1f565b60405180910390f35b61022d60048036038101906102289190610bc7565b6104ac565b60405161023a9190610c1f565b60405180910390f35b61025d60048036038101906102589190610d0f565b610535565b60405161026a9190610c47565b60405180910390f35b60606040518060400160405280601081526020017f736d6f6c206c6162206d656d2072617200000000000000000000000000000000815250905090565b5f803390506102c08185856105b7565b600191505092915050565b5f6012600a6102da9190610ea9565b655af3107a40006102eb9190610ef3565b905090565b5f803390508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035a90610fa4565b60405180910390fd5b61036e85828561077a565b610379858585610805565b60019150509392505050565b5f6012905090565b5f803390506103b18185856103a28589610535565b6103ac9190610fc2565b6105b7565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606040518060400160405280600381526020017f4d454d0000000000000000000000000000000000000000000000000000000000815250905090565b5f803390505f61044e8286610535565b905083811015610493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048a90611065565b60405180910390fd5b6104a082868684036105b7565b60019250505092915050565b5f803390508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361051f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610516906110f3565b60405180910390fd5b61052a818585610805565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061c90611181565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068a9061120f565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161076d9190610c47565b60405180910390a3505050565b5f6107858484610535565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107ff57818110156107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890611277565b60405180910390fd5b6107fe84848484036105b7565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086a90611305565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d890611393565b60405180910390fd5b5f8111610923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091a90611421565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d906114af565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610a349190610fc2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a989190610c47565b60405180910390a350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ae882610aa6565b610af28185610ab0565b9350610b02818560208601610ac0565b610b0b81610ace565b840191505092915050565b5f6020820190508181035f830152610b2e8184610ade565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b6382610b3a565b9050919050565b610b7381610b59565b8114610b7d575f80fd5b50565b5f81359050610b8e81610b6a565b92915050565b5f819050919050565b610ba681610b94565b8114610bb0575f80fd5b50565b5f81359050610bc181610b9d565b92915050565b5f8060408385031215610bdd57610bdc610b36565b5b5f610bea85828601610b80565b9250506020610bfb85828601610bb3565b9150509250929050565b5f8115159050919050565b610c1981610c05565b82525050565b5f602082019050610c325f830184610c10565b92915050565b610c4181610b94565b82525050565b5f602082019050610c5a5f830184610c38565b92915050565b5f805f60608486031215610c7757610c76610b36565b5b5f610c8486828701610b80565b9350506020610c9586828701610b80565b9250506040610ca686828701610bb3565b9150509250925092565b5f60ff82169050919050565b610cc581610cb0565b82525050565b5f602082019050610cde5f830184610cbc565b92915050565b5f60208284031215610cf957610cf8610b36565b5b5f610d0684828501610b80565b91505092915050565b5f8060408385031215610d2557610d24610b36565b5b5f610d3285828601610b80565b9250506020610d4385828601610b80565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610dcf57808604811115610dab57610daa610d4d565b5b6001851615610dba5780820291505b8081029050610dc885610d7a565b9450610d8f565b94509492505050565b5f82610de75760019050610ea2565b81610df4575f9050610ea2565b8160018114610e0a5760028114610e1457610e43565b6001915050610ea2565b60ff841115610e2657610e25610d4d565b5b8360020a915084821115610e3d57610e3c610d4d565b5b50610ea2565b5060208310610133831016604e8410600b8410161715610e785782820a905083811115610e7357610e72610d4d565b5b610ea2565b610e858484846001610d86565b92509050818404811115610e9c57610e9b610d4d565b5b81810290505b9392505050565b5f610eb382610b94565b9150610ebe83610cb0565b9250610eeb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610dd8565b905092915050565b5f610efd82610b94565b9150610f0883610b94565b9250828202610f1681610b94565b91508282048414831517610f2d57610f2c610d4d565b5b5092915050565b7f45524332303a207472616e7366657246726f6d207370656e6465722063616e205f8201527f6e6f74206265207468652066726f6d0000000000000000000000000000000000602082015250565b5f610f8e602f83610ab0565b9150610f9982610f34565b604082019050919050565b5f6020820190508181035f830152610fbb81610f82565b9050919050565b5f610fcc82610b94565b9150610fd783610b94565b9250828201905080821115610fef57610fee610d4d565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61104f602583610ab0565b915061105a82610ff5565b604082019050919050565b5f6020820190508181035f83015261107c81611043565b9050919050565b7f45524332303a207472616e7366657220746f20616464726573732063616e6e6f5f8201527f74206265206f776e657200000000000000000000000000000000000000000000602082015250565b5f6110dd602a83610ab0565b91506110e882611083565b604082019050919050565b5f6020820190508181035f83015261110a816110d1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61116b602483610ab0565b915061117682611111565b604082019050919050565b5f6020820190508181035f8301526111988161115f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6111f9602283610ab0565b91506112048261119f565b604082019050919050565b5f6020820190508181035f830152611226816111ed565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611261601d83610ab0565b915061126c8261122d565b602082019050919050565b5f6020820190508181035f83015261128e81611255565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6112ef602583610ab0565b91506112fa82611295565b604082019050919050565b5f6020820190508181035f83015261131c816112e3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61137d602383610ab0565b915061138882611323565b604082019050919050565b5f6020820190508181035f8301526113aa81611371565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206d75737420626520675f8201527f726561746572207468616e207a65726f00000000000000000000000000000000602082015250565b5f61140b603083610ab0565b9150611416826113b1565b604082019050919050565b5f6020820190508181035f830152611438816113ff565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611499602683610ab0565b91506114a48261143f565b604082019050919050565b5f6020820190508181035f8301526114c68161148d565b905091905056fea26469706673582212205fd0149330ccba37992c2eec9ac19655ce2f5faf096137f9902f20234783f3c664736f6c634300081a0033