[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "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": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "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" }, { "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": "PAUSER_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": "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": "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": "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": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "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" } ]
60806040523480156200001157600080fd5b50604051620034123803806200341283398181016040528101906200003791906200049e565b818181600590805190602001906200005192919062000370565b5080600690805190602001906200006a92919062000370565b505050620000916000801b62000085620000da60201b60201c565b620000e260201b60201c565b620000d27f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6620000c6620000da60201b60201c565b620000e260201b60201c565b5050620006a7565b600033905090565b620000f48282620000f860201b60201c565b5050565b6200010f82826200014060201b62000d8b1760201c565b6200013b81600160008581526020019081526020016000206200023160201b62000e6b1790919060201c565b505050565b6200015282826200026960201b60201c565b6200022d57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001d2620000da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000261836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620002d360201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000620002e783836200034d60201b60201c565b6200034257826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000347565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b8280546200037e90620005b8565b90600052602060002090601f016020900481019282620003a25760008555620003ee565b82601f10620003bd57805160ff1916838001178555620003ee565b82800160010185558215620003ee579182015b82811115620003ed578251825591602001919060010190620003d0565b5b509050620003fd919062000401565b5090565b5b808211156200041c57600081600090555060010162000402565b5090565b60006200043762000431846200054c565b62000523565b90508281526020810184848401111562000456576200045562000687565b5b6200046384828562000582565b509392505050565b600082601f83011262000483576200048262000682565b5b81516200049584826020860162000420565b91505092915050565b60008060408385031215620004b857620004b762000691565b5b600083015167ffffffffffffffff811115620004d957620004d86200068c565b5b620004e7858286016200046b565b925050602083015167ffffffffffffffff8111156200050b576200050a6200068c565b5b62000519858286016200046b565b9150509250929050565b60006200052f62000542565b90506200053d8282620005ee565b919050565b6000604051905090565b600067ffffffffffffffff8211156200056a576200056962000653565b5b620005758262000696565b9050602081019050919050565b60005b83811015620005a257808201518184015260208101905062000585565b83811115620005b2576000848401525b50505050565b60006002820490506001821680620005d157607f821691505b60208210811415620005e857620005e762000624565b5b50919050565b620005f98262000696565b810181811067ffffffffffffffff821117156200061b576200061a62000653565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b612d5b80620006b76000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a457c2d711610097578063d539139311610071578063d5391393146104aa578063d547741f146104c8578063dd62ed3e146104e4578063e63ab1e91461051457610173565b8063a457c2d71461041a578063a9059cbb1461044a578063ca15c8731461047a57610173565b806370a082311461033257806379cc6790146103625780639010d07c1461037e57806391d14854146103ae57806395d89b41146103de578063a217fddf146103fc57610173565b80632f2ff15d116101305780632f2ff15d14610274578063313ce5671461029057806336568abe146102ae57806339509351146102ca57806340c10f19146102fa57806342966c681461031657610173565b806301ffc9a71461017857806306fdde03146101a8578063095ea7b3146101c657806318160ddd146101f657806323b872dd14610214578063248a9ca314610244575b600080fd5b610192600480360381019061018d9190611f8f565b610532565b60405161019f9190612323565b60405180910390f35b6101b06105ac565b6040516101bd9190612359565b60405180910390f35b6101e060048036038101906101db9190611ea2565b61063e565b6040516101ed9190612323565b60405180910390f35b6101fe61065c565b60405161020b919061253b565b60405180910390f35b61022e60048036038101906102299190611e4f565b610666565b60405161023b9190612323565b60405180910390f35b61025e60048036038101906102599190611ee2565b61075e565b60405161026b919061233e565b60405180910390f35b61028e60048036038101906102899190611f0f565b61077d565b005b6102986107a6565b6040516102a59190612556565b60405180910390f35b6102c860048036038101906102c39190611f0f565b6107af565b005b6102e460048036038101906102df9190611ea2565b610832565b6040516102f19190612323565b60405180910390f35b610314600480360381019061030f9190611ea2565b6108de565b005b610330600480360381019061032b9190611fbc565b61095c565b005b61034c60048036038101906103479190611de2565b610970565b604051610359919061253b565b60405180910390f35b61037c60048036038101906103779190611ea2565b6109b9565b005b61039860048036038101906103939190611f4f565b610a34565b6040516103a59190612308565b60405180910390f35b6103c860048036038101906103c39190611f0f565b610a63565b6040516103d59190612323565b60405180910390f35b6103e6610acd565b6040516103f39190612359565b60405180910390f35b610404610b5f565b604051610411919061233e565b60405180910390f35b610434600480360381019061042f9190611ea2565b610b66565b6040516104419190612323565b60405180910390f35b610464600480360381019061045f9190611ea2565b610c51565b6040516104719190612323565b60405180910390f35b610494600480360381019061048f9190611ee2565b610c6f565b6040516104a1919061253b565b60405180910390f35b6104b2610c93565b6040516104bf919061233e565b60405180910390f35b6104e260048036038101906104dd9190611f0f565b610cb7565b005b6104fe60048036038101906104f99190611e0f565b610ce0565b60405161050b919061253b565b60405180910390f35b61051c610d67565b604051610529919061233e565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105a557506105a482610e9b565b5b9050919050565b6060600580546105bb90612764565b80601f01602080910402602001604051908101604052809291908181526020018280546105e790612764565b80156106345780601f1061060957610100808354040283529160200191610634565b820191906000526020600020905b81548152906001019060200180831161061757829003601f168201915b5050505050905090565b600061065261064b610f15565b8484610f1d565b6001905092915050565b6000600454905090565b60006106738484846110e8565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106be610f15565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561073e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107359061243b565b60405180910390fd5b6107528561074a610f15565b858403610f1d565b60019150509392505050565b6000806000838152602001908152602001600020600101549050919050565b6107868261075e565b61079781610792610f15565b61136c565b6107a18383611409565b505050565b60006012905090565b6107b7610f15565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b906124fb565b60405180910390fd5b61082e828261143d565b5050565b60006108d461083f610f15565b84846003600061084d610f15565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108cf9190612598565b610f1d565b6001905092915050565b61090f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661090a610f15565b610a63565b61094e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109459061241b565b60405180910390fd5b6109588282611471565b5050565b61096d610967610f15565b826115d2565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006109cc836109c7610f15565b610ce0565b905081811015610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a089061245b565b60405180910390fd5b610a2583610a1d610f15565b848403610f1d565b610a2f83836115d2565b505050565b6000610a5b82600160008681526020019081526020016000206117ab90919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060068054610adc90612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0890612764565b8015610b555780601f10610b2a57610100808354040283529160200191610b55565b820191906000526020600020905b815481529060010190602001808311610b3857829003601f168201915b5050505050905090565b6000801b81565b60008060036000610b75610f15565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c29906124db565b60405180910390fd5b610c46610c3d610f15565b85858403610f1d565b600191505092915050565b6000610c65610c5e610f15565b84846110e8565b6001905092915050565b6000610c8c600160008481526020019081526020016000206117c5565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610cc08261075e565b610cd181610ccc610f15565b61136c565b610cdb838361143d565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b610d958282610a63565b610e6757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610e0c610f15565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000610e93836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6117da565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f0e5750610f0d8261184a565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f84906124bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff4906123db565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110db919061253b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f9061249b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf9061239b565b60405180910390fd5b6111d38383836118b4565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561125a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611251906123fb565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112ef9190612598565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611353919061253b565b60405180910390a36113668484846118c4565b50505050565b6113768282610a63565b6114055761139b8173ffffffffffffffffffffffffffffffffffffffff1660146118c9565b6113a98360001c60206118c9565b6040516020016113ba9291906122ce565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc9190612359565b60405180910390fd5b5050565b6114138282610d8b565b6114388160016000858152602001908152602001600020610e6b90919063ffffffff16565b505050565b6114478282611b05565b61146c8160016000858152602001908152602001600020611be690919063ffffffff16565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d89061251b565b60405180910390fd5b6114ed600083836118b4565b80600460008282546114ff9190612598565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115559190612598565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ba919061253b565b60405180910390a36115ce600083836118c4565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611642576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116399061247b565b60405180910390fd5b61164e826000836118b4565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156116d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cc906123bb565b60405180910390fd5b818103600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816004600082825461172d9190612648565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611792919061253b565b60405180910390a36117a6836000846118c4565b505050565b60006117ba8360000183611c16565b60001c905092915050565b60006117d382600001611c41565b9050919050565b60006117e68383611c52565b61183f578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611844565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6118bf838383611c75565b505050565b505050565b6060600060028360026118dc91906125ee565b6118e69190612598565b67ffffffffffffffff8111156118ff576118fe612852565b5b6040519080825280601f01601f1916602001820160405280156119315781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061196957611968612823565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106119cd576119cc612823565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611a0d91906125ee565b611a179190612598565b90505b6001811115611ab7577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611a5957611a58612823565b5b1a60f81b828281518110611a7057611a6f612823565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611ab09061273a565b9050611a1a565b5060008414611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af29061237b565b60405180910390fd5b8091505092915050565b611b0f8282610a63565b15611be257600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b87610f15565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611c0e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611c7a565b905092915050565b6000826000018281548110611c2e57611c2d612823565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b505050565b60008083600101600084815260200190815260200160002054905060008114611d82576000600182611cac9190612648565b9050600060018660000180549050611cc49190612648565b9050818114611d33576000866000018281548110611ce557611ce4612823565b5b9060005260206000200154905080876000018481548110611d0957611d08612823565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480611d4757611d466127f4565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611d88565b60009150505b92915050565b600081359050611d9d81612cc9565b92915050565b600081359050611db281612ce0565b92915050565b600081359050611dc781612cf7565b92915050565b600081359050611ddc81612d0e565b92915050565b600060208284031215611df857611df7612881565b5b6000611e0684828501611d8e565b91505092915050565b60008060408385031215611e2657611e25612881565b5b6000611e3485828601611d8e565b9250506020611e4585828601611d8e565b9150509250929050565b600080600060608486031215611e6857611e67612881565b5b6000611e7686828701611d8e565b9350506020611e8786828701611d8e565b9250506040611e9886828701611dcd565b9150509250925092565b60008060408385031215611eb957611eb8612881565b5b6000611ec785828601611d8e565b9250506020611ed885828601611dcd565b9150509250929050565b600060208284031215611ef857611ef7612881565b5b6000611f0684828501611da3565b91505092915050565b60008060408385031215611f2657611f25612881565b5b6000611f3485828601611da3565b9250506020611f4585828601611d8e565b9150509250929050565b60008060408385031215611f6657611f65612881565b5b6000611f7485828601611da3565b9250506020611f8585828601611dcd565b9150509250929050565b600060208284031215611fa557611fa4612881565b5b6000611fb384828501611db8565b91505092915050565b600060208284031215611fd257611fd1612881565b5b6000611fe084828501611dcd565b91505092915050565b611ff28161267c565b82525050565b6120018161268e565b82525050565b6120108161269a565b82525050565b600061202182612571565b61202b818561257c565b935061203b818560208601612707565b61204481612886565b840191505092915050565b600061205a82612571565b612064818561258d565b9350612074818560208601612707565b80840191505092915050565b600061208d60208361257c565b915061209882612897565b602082019050919050565b60006120b060238361257c565b91506120bb826128c0565b604082019050919050565b60006120d360228361257c565b91506120de8261290f565b604082019050919050565b60006120f660228361257c565b91506121018261295e565b604082019050919050565b600061211960268361257c565b9150612124826129ad565b604082019050919050565b600061213c601d8361257c565b9150612147826129fc565b602082019050919050565b600061215f60288361257c565b915061216a82612a25565b604082019050919050565b600061218260248361257c565b915061218d82612a74565b604082019050919050565b60006121a560218361257c565b91506121b082612ac3565b604082019050919050565b60006121c860258361257c565b91506121d382612b12565b604082019050919050565b60006121eb60248361257c565b91506121f682612b61565b604082019050919050565b600061220e60178361258d565b915061221982612bb0565b601782019050919050565b600061223160258361257c565b915061223c82612bd9565b604082019050919050565b600061225460118361258d565b915061225f82612c28565b601182019050919050565b6000612277602f8361257c565b915061228282612c51565b604082019050919050565b600061229a601f8361257c565b91506122a582612ca0565b602082019050919050565b6122b9816126f0565b82525050565b6122c8816126fa565b82525050565b60006122d982612201565b91506122e5828561204f565b91506122f082612247565b91506122fc828461204f565b91508190509392505050565b600060208201905061231d6000830184611fe9565b92915050565b60006020820190506123386000830184611ff8565b92915050565b60006020820190506123536000830184612007565b92915050565b600060208201905081810360008301526123738184612016565b905092915050565b6000602082019050818103600083015261239481612080565b9050919050565b600060208201905081810360008301526123b4816120a3565b9050919050565b600060208201905081810360008301526123d4816120c6565b9050919050565b600060208201905081810360008301526123f4816120e9565b9050919050565b600060208201905081810360008301526124148161210c565b9050919050565b600060208201905081810360008301526124348161212f565b9050919050565b6000602082019050818103600083015261245481612152565b9050919050565b6000602082019050818103600083015261247481612175565b9050919050565b6000602082019050818103600083015261249481612198565b9050919050565b600060208201905081810360008301526124b4816121bb565b9050919050565b600060208201905081810360008301526124d4816121de565b9050919050565b600060208201905081810360008301526124f481612224565b9050919050565b600060208201905081810360008301526125148161226a565b9050919050565b600060208201905081810360008301526125348161228d565b9050919050565b600060208201905061255060008301846122b0565b92915050565b600060208201905061256b60008301846122bf565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006125a3826126f0565b91506125ae836126f0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125e3576125e2612796565b5b828201905092915050565b60006125f9826126f0565b9150612604836126f0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561263d5761263c612796565b5b828202905092915050565b6000612653826126f0565b915061265e836126f0565b92508282101561267157612670612796565b5b828203905092915050565b6000612687826126d0565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561272557808201518184015260208101905061270a565b83811115612734576000848401525b50505050565b6000612745826126f0565b9150600082141561275957612758612796565b5b600182039050919050565b6000600282049050600182168061277c57607f821691505b602082108114156127905761278f6127c5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4d7573742068617665206d696e74657220726f6c6520746f206d696e74000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b612cd28161267c565b8114612cdd57600080fd5b50565b612ce98161269a565b8114612cf457600080fd5b50565b612d00816126a4565b8114612d0b57600080fd5b50565b612d17816126f0565b8114612d2257600080fd5b5056fea26469706673582212205031a711d6858c0d64fa292af59dad7c2adeb6675ad8438a2217ff98785003f864736f6c634300080700330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000074b696e6744414f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044b494e4700000000000000000000000000000000000000000000000000000000