7k txs
6.9k calls
constructor
constructor(address tokenAddress)
functions
claimable
viewfunction claimable(address) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
disabled
viewfunction disabled() view returns (bool)
extraOptions
viewfunction extraOptions() view returns (bytes)
FUNDER_ROLE
viewfunction FUNDER_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
TOKEN
viewfunction TOKEN() view returns (address)
totalClaimable
viewfunction totalClaimable() view returns (uint256)
usedNonces
viewfunction usedNonces(uint256) view returns (bool)
addClaimable
nonpayablefunction addClaimable(address[] recipients, uint256[] amounts, uint256 nonce)
addFunder
nonpayablefunction addFunder(address account)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(uint256 amount, address to)
fullClaim
payablefunction fullClaim(uint32 clainId) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
partialClaim
payablefunction partialClaim(uint256 amount, uint32 clainId) payable
removeFunder
nonpayablefunction removeFunder(address account)
renounceRole
nonpayablefunction renounceRole(bytes32, address)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setDisabled
nonpayablefunction setDisabled(bool isDisabled)
setExtraOptions
nonpayablefunction setExtraOptions(bytes newExtraOptions)
updateClaimableAmount
nonpayablefunction updateClaimableAmount(address wallet, uint256 amount)
withdrawExcessTokens
nonpayablefunction withdrawExcessTokens(uint256 amount, address to)
events
AddClaimable
event AddClaimable(address[] recipients, uint256[] amounts, uint256 nonce)
FullClaim
event FullClaim(address indexed claimant, uint256 amount)
PartialClaim
event PartialClaim(address indexed claimant, uint256 amount)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
WithdrawExcess
event WithdrawExcess(address indexed admin, address indexed to, uint256 amount)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
CannotRenounceRole
error CannotRenounceRole()
CannotRevokeRoleFromSelf
error CannotRevokeRoleFromSelf()
CannotWithdrawMoreThanExcess
error CannotWithdrawMoreThanExcess()
ClaimingDisabled
error ClaimingDisabled()
MismatchedArrayLengths
error MismatchedArrayLengths()
MustClaimMoreThan0Tokens
error MustClaimMoreThan0Tokens()
NoClaimableTokens
error NoClaimableTokens()
NonceAlreadyUsed
error NonceAlreadyUsed()
NotEnoughClaimableTokens
error NotEnoughClaimableTokens()
NotEnoughTokens
error NotEnoughTokens()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnnecessaryFee
error UnnecessaryFee()
creation bytecode
0x60a06040526040518060400160405280601681526020017e03010011010000000000000000000000000000ea60000000000000000000008152506004908161004791906104b9565b506001600560006101000a81548160ff02191690831515021790555034801561006f57600080fd5b506040516131c33803806131c383398181016040528101906100919190610600565b600180819055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506100f36000801b73af9a2fbd4b33b92308a1f44643225da01eb516fe6100fa60201b60201c565b505061062d565b600061010c83836101f760201b60201c565b6101ec57600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061018961026160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506101f1565b600090505b92915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806102ea57607f821691505b6020821081036102fd576102fc6102a3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026103657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610328565b61036f8683610328565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006103b66103b16103ac84610387565b610391565b610387565b9050919050565b6000819050919050565b6103d08361039b565b6103e46103dc826103bd565b848454610335565b825550505050565b600090565b6103f96103ec565b6104048184846103c7565b505050565b5b818110156104285761041d6000826103f1565b60018101905061040a565b5050565b601f82111561046d5761043e81610303565b61044784610318565b81016020851015610456578190505b61046a61046285610318565b830182610409565b50505b505050565b600082821c905092915050565b600061049060001984600802610472565b1980831691505092915050565b60006104a9838361047f565b9150826002028217905092915050565b6104c282610269565b67ffffffffffffffff8111156104db576104da610274565b5b6104e582546102d2565b6104f082828561042c565b600060209050601f8311600181146105235760008415610511578287015190505b61051b858261049d565b865550610583565b601f19841661053186610303565b60005b8281101561055957848901518255600182019150602085019450602081019050610534565b868310156105765784890151610572601f89168261047f565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105bb82610590565b9050919050565b60006105cd826105b0565b9050919050565b6105dd816105c2565b81146105e857600080fd5b50565b6000815190506105fa816105d4565b92915050565b6000602082840312156106165761061561058b565b5b6000610624848285016105eb565b91505092915050565b608051612b5161067260003960008181610609015281816106f601528181610836015281816109a5015281816110e6015281816115b901526117980152612b516000f3fe60806040526004361061014b5760003560e01c806382bfefc8116100b6578063cfd2afa91161006f578063cfd2afa914610493578063d547741f146104af578063dcd18dd4146104d8578063e8f134b714610501578063e9b3b8771461052a578063ee070805146105535761014b565b806382bfefc814610390578063853b1422146103bb5780638f26c84a146103e457806391d1485414610400578063a00642ca1461043d578063a217fddf146104685761014b565b806334aedecd1161010857806334aedecd1461026e57806336568abe14610299578063402914f5146102c25780634838ed19146102ff5780636717e41c1461032a5780636c5a7d1e146103675761014b565b806301ffc9a714610150578063149694561461018d5780631bbe9d8c146101b6578063248a9ca3146101df5780632f2ff15d1461021c5780632f940c7014610245575b600080fd5b34801561015c57600080fd5b5061017760048036038101906101729190611aa3565b61057e565b6040516101849190611aeb565b60405180910390f35b34801561019957600080fd5b506101b460048036038101906101af9190611b9a565b6105f8565b005b3480156101c257600080fd5b506101dd60048036038101906101d89190611bda565b6107a6565b005b3480156101eb57600080fd5b5061020660048036038101906102019190611c3d565b6107e1565b6040516102139190611c79565b60405180910390f35b34801561022857600080fd5b50610243600480360381019061023e9190611c94565b610800565b005b34801561025157600080fd5b5061026c60048036038101906102679190611b9a565b610822565b005b34801561027a57600080fd5b506102836108e4565b6040516102909190611c79565b60405180910390f35b3480156102a557600080fd5b506102c060048036038101906102bb9190611c94565b610908565b005b3480156102ce57600080fd5b506102e960048036038101906102e49190611bda565b61093a565b6040516102f69190611ce3565b60405180910390f35b34801561030b57600080fd5b50610314610952565b6040516103219190611ce3565b60405180910390f35b34801561033657600080fd5b50610351600480360381019061034c9190611cfe565b610958565b60405161035e9190611aeb565b60405180910390f35b34801561037357600080fd5b5061038e60048036038101906103899190611d57565b610978565b005b34801561039c57600080fd5b506103a56109a3565b6040516103b29190611de3565b60405180910390f35b3480156103c757600080fd5b506103e260048036038101906103dd9190611e63565b6109c7565b005b6103fe60048036038101906103f99190611eec565b6109eb565b005b34801561040c57600080fd5b5061042760048036038101906104229190611c94565b610bc0565b6040516104349190611aeb565b60405180910390f35b34801561044957600080fd5b50610452610c2a565b60405161045f9190611fbc565b60405180910390f35b34801561047457600080fd5b5061047d610cb8565b60405161048a9190611c79565b60405180910390f35b6104ad60048036038101906104a89190611fde565b610cbf565b005b3480156104bb57600080fd5b506104d660048036038101906104d19190611c94565b610e4f565b005b3480156104e457600080fd5b506104ff60048036038101906104fa9190611bda565b610edd565b005b34801561050d57600080fd5b50610528600480360381019061052391906120b7565b610f18565b005b34801561053657600080fd5b50610551600480360381019061054c919061214c565b61122a565b005b34801561055f57600080fd5b50610568611324565b6040516105759190611aeb565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105f157506105f082611337565b5b9050919050565b6000801b610605816113a1565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610660919061219b565b602060405180830381865afa15801561067d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a191906121cb565b90506000600354826106b39190612227565b9050808511156106ef576040517f4e41ec9100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61073a84867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113b59092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167faa82bd036a52619abcf98d93faf9ffd11ffeee3807f3ffc822da9a2deda85ff3876040516107979190611ce3565b60405180910390a35050505050565b6000801b6107b3816113a1565b6107dd7f0914bb97ca83e85ef385857d9d418f187ff630589e0c9f44db92976d8e4519cb83610800565b5050565b6000806000838152602001908152602001600020600101549050919050565b610809826107e1565b610812816113a1565b61081c8383611434565b50505050565b6000801b61082f816113a1565b61087a82847f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113b59092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167faa82bd036a52619abcf98d93faf9ffd11ffeee3807f3ffc822da9a2deda85ff3856040516108d79190611ce3565b60405180910390a3505050565b7f0914bb97ca83e85ef385857d9d418f187ff630589e0c9f44db92976d8e4519cb81565b6040517fe15fb00e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026020528060005260406000206000915090505481565b60035481565b60066020528060005260406000206000915054906101000a900460ff1681565b6000801b610985816113a1565b81600560006101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000801b6109d4816113a1565b8282600491826109e5929190612497565b50505050565b6109f3611525565b600560009054906101000a900460ff1615610a3a576040517f3056283500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008211610a74576040517ff197674c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610af2576040517f4f1d426300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8281610afe9190612227565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260036000828254610b539190612227565b92505081905550610b6533848461156b565b3373ffffffffffffffffffffffffffffffffffffffff167f5bf4ffbba2c193e74d733f69408011d333232e84b98a68ecb638621dab65fff584604051610bab9190611ce3565b60405180910390a250610bbc611841565b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60048054610c37906122c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610c63906122c4565b8015610cb05780601f10610c8557610100808354040283529160200191610cb0565b820191906000526020600020905b815481529060010190602001808311610c9357829003601f168201915b505050505081565b6000801b81565b610cc7611525565b600560009054906101000a900460ff1615610d0e576040517f3056283500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111610d8c576040517fb8d485a500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060036000828254610de39190612227565b92505081905550610df533828461156b565b3373ffffffffffffffffffffffffffffffffffffffff167f810b977535d525522ce93aae94d554692f9ccff8a835d1e2fa03eb4f1283634882604051610e3b9190611ce3565b60405180910390a250610e4c611841565b50565b610e58826107e1565b610e61816113a1565b610e6961184a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ecd576040517f4f3b7c2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ed78383611852565b50505050565b6000801b610eea816113a1565b610f147f0914bb97ca83e85ef385857d9d418f187ff630589e0c9f44db92976d8e4519cb83610e4f565b5050565b7f0914bb97ca83e85ef385857d9d418f187ff630589e0c9f44db92976d8e4519cb610f42816113a1565b838390508686905014610f81576040517f568efce200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900460ff1615610fd9576040517f1fb09b8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016006600084815260200190815260200160002060006101000a81548160ff02191690831515021790555060008087879050905060005b818110156110e15786868281811061102c5761102b612567565b5b905060200201358361103e9190612596565b925086868281811061105357611052612567565b5b90506020020135600260008b8b8581811061107157611070612567565b5b90506020020160208101906110869190611bda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110cf9190612596565b92505081905550806001019050611011565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161113d919061219b565b602060405180830381865afa15801561115a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117e91906121cb565b90508260035461118e9190612596565b8110156111c7576040517f22bbb43c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82600360008282546111d99190612596565b925050819055507f6a27e916863b51264ea8204cae227473405950445de4d02e91f498fc55ace27b8989898989604051611217959493929190612708565b60405180910390a1505050505050505050565b6000801b611237816113a1565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808311156112f05780836112d39190612227565b600360008282546112e49190612596565b9250508190555061131e565b8083101561131d5782816113049190612227565b600360008282546113159190612227565b925050819055505b5b50505050565b600560009054906101000a900460ff1681565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6113b2816113ad61184a565b611944565b50565b61142f838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016113e8929190612751565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611995565b505050565b60006114408383610bc0565b61151a57600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506114b761184a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061151f565b600090505b92915050565b600260015403611561576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b468163ffffffff160361160257600034146115b2576040517fff7418a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fd83837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113b59092919063ffffffff16565b61183c565b60006040518060e001604052808363ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1660001b815260200184815260200184815260200160048054611653906122c4565b80601f016020809104026020016040519081016040528092919081815260200182805461167f906122c4565b80156116cc5780601f106116a1576101008083540402835291602001916116cc565b820191906000526020600020905b8154815290600101906020018083116116af57829003601f168201915b50505050508152602001600067ffffffffffffffff8111156116f1576116f0612266565b5b6040519080825280601f01601f1916602001820160405280156117235781602001600182028036833780820191505090505b508152602001600067ffffffffffffffff81111561174457611743612266565b5b6040519080825280601f01601f1916602001820160405280156117765781602001600182028036833780820191505090505b50815250905060006040518060400160405280348152602001600081525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c7c7f5b3348484896040518563ffffffff1660e01b81526004016117f4939291906128ca565b60c06040518083038185885af1158015611812573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118379190612ab2565b505050505b505050565b60018081905550565b600033905090565b600061185e8383610bc0565b1561193957600080600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506118d661184a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061193e565b600090505b92915050565b61194e8282610bc0565b6119915780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611988929190612af2565b60405180910390fd5b5050565b600080602060008451602086016000885af1806119b8576040513d6000823e3d81fd5b3d9250600051915050600082146119d35760018114156119ef565b60008473ffffffffffffffffffffffffffffffffffffffff163b145b15611a3157836040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401611a28919061219b565b60405180910390fd5b50505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a8081611a4b565b8114611a8b57600080fd5b50565b600081359050611a9d81611a77565b92915050565b600060208284031215611ab957611ab8611a41565b5b6000611ac784828501611a8e565b91505092915050565b60008115159050919050565b611ae581611ad0565b82525050565b6000602082019050611b006000830184611adc565b92915050565b6000819050919050565b611b1981611b06565b8114611b2457600080fd5b50565b600081359050611b3681611b10565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b6782611b3c565b9050919050565b611b7781611b5c565b8114611b8257600080fd5b50565b600081359050611b9481611b6e565b92915050565b60008060408385031215611bb157611bb0611a41565b5b6000611bbf85828601611b27565b9250506020611bd085828601611b85565b9150509250929050565b600060208284031215611bf057611bef611a41565b5b6000611bfe84828501611b85565b91505092915050565b6000819050919050565b611c1a81611c07565b8114611c2557600080fd5b50565b600081359050611c3781611c11565b92915050565b600060208284031215611c5357611c52611a41565b5b6000611c6184828501611c28565b91505092915050565b611c7381611c07565b82525050565b6000602082019050611c8e6000830184611c6a565b92915050565b60008060408385031215611cab57611caa611a41565b5b6000611cb985828601611c28565b9250506020611cca85828601611b85565b9150509250929050565b611cdd81611b06565b82525050565b6000602082019050611cf86000830184611cd4565b92915050565b600060208284031215611d1457611d13611a41565b5b6000611d2284828501611b27565b91505092915050565b611d3481611ad0565b8114611d3f57600080fd5b50565b600081359050611d5181611d2b565b92915050565b600060208284031215611d6d57611d6c611a41565b5b6000611d7b84828501611d42565b91505092915050565b6000819050919050565b6000611da9611da4611d9f84611b3c565b611d84565b611b3c565b9050919050565b6000611dbb82611d8e565b9050919050565b6000611dcd82611db0565b9050919050565b611ddd81611dc2565b82525050565b6000602082019050611df86000830184611dd4565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e2357611e22611dfe565b5b8235905067ffffffffffffffff811115611e4057611e3f611e03565b5b602083019150836001820283011115611e5c57611e5b611e08565b5b9250929050565b60008060208385031215611e7a57611e79611a41565b5b600083013567ffffffffffffffff811115611e9857611e97611a46565b5b611ea485828601611e0d565b92509250509250929050565b600063ffffffff82169050919050565b611ec981611eb0565b8114611ed457600080fd5b50565b600081359050611ee681611ec0565b92915050565b60008060408385031215611f0357611f02611a41565b5b6000611f1185828601611b27565b9250506020611f2285828601611ed7565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f66578082015181840152602081019050611f4b565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f8e82611f2c565b611f988185611f37565b9350611fa8818560208601611f48565b611fb181611f72565b840191505092915050565b60006020820190508181036000830152611fd68184611f83565b905092915050565b600060208284031215611ff457611ff3611a41565b5b600061200284828501611ed7565b91505092915050565b60008083601f84011261202157612020611dfe565b5b8235905067ffffffffffffffff81111561203e5761203d611e03565b5b60208301915083602082028301111561205a57612059611e08565b5b9250929050565b60008083601f84011261207757612076611dfe565b5b8235905067ffffffffffffffff81111561209457612093611e03565b5b6020830191508360208202830111156120b0576120af611e08565b5b9250929050565b6000806000806000606086880312156120d3576120d2611a41565b5b600086013567ffffffffffffffff8111156120f1576120f0611a46565b5b6120fd8882890161200b565b9550955050602086013567ffffffffffffffff8111156121205761211f611a46565b5b61212c88828901612061565b9350935050604061213f88828901611b27565b9150509295509295909350565b6000806040838503121561216357612162611a41565b5b600061217185828601611b85565b925050602061218285828601611b27565b9150509250929050565b61219581611b5c565b82525050565b60006020820190506121b0600083018461218c565b92915050565b6000815190506121c581611b10565b92915050565b6000602082840312156121e1576121e0611a41565b5b60006121ef848285016121b6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061223282611b06565b915061223d83611b06565b9250828203905081811115612255576122546121f8565b5b92915050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122dc57607f821691505b6020821081036122ef576122ee612295565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261231a565b612361868361231a565b95508019841693508086168417925050509392505050565b600061239461238f61238a84611b06565b611d84565b611b06565b9050919050565b6000819050919050565b6123ae83612379565b6123c26123ba8261239b565b848454612327565b825550505050565b600090565b6123d76123ca565b6123e28184846123a5565b505050565b5b81811015612406576123fb6000826123cf565b6001810190506123e8565b5050565b601f82111561244b5761241c816122f5565b6124258461230a565b81016020851015612434578190505b6124486124408561230a565b8301826123e7565b50505b505050565b600082821c905092915050565b600061246e60001984600802612450565b1980831691505092915050565b6000612487838361245d565b9150826002028217905092915050565b6124a1838361225b565b67ffffffffffffffff8111156124ba576124b9612266565b5b6124c482546122c4565b6124cf82828561240a565b6000601f8311600181146124fe57600084156124ec578287013590505b6124f6858261247b565b86555061255e565b601f19841661250c866122f5565b60005b828110156125345784890135825560018201915060208501945060208101905061250f565b86831015612551578489013561254d601f89168261245d565b8355505b6001600288020188555050505b50505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006125a182611b06565b91506125ac83611b06565b92508282019050808211156125c4576125c36121f8565b5b92915050565b600082825260208201905092915050565b6000819050919050565b6125ee81611b5c565b82525050565b600061260083836125e5565b60208301905092915050565b600061261b6020840184611b85565b905092915050565b6000602082019050919050565b600061263c83856125ca565b9350612647826125db565b8060005b858110156126805761265d828461260c565b61266788826125f4565b975061267283612623565b92505060018101905061264b565b5085925050509392505050565b600082825260208201905092915050565b600080fd5b82818337505050565b60006126b8838561268d565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156126eb576126ea61269e565b5b6020830292506126fc8385846126a3565b82840190509392505050565b60006060820190508181036000830152612723818789612630565b905081810360208301526127388185876126ac565b90506127476040830184611cd4565b9695505050505050565b6000604082019050612766600083018561218c565b6127736020830184611cd4565b9392505050565b61278381611eb0565b82525050565b61279281611c07565b82525050565b6127a181611b06565b82525050565b600082825260208201905092915050565b60006127c382611f2c565b6127cd81856127a7565b93506127dd818560208601611f48565b6127e681611f72565b840191505092915050565b600060e083016000830151612809600086018261277a565b50602083015161281c6020860182612789565b50604083015161282f6040860182612798565b5060608301516128426060860182612798565b506080830151848203608086015261285a82826127b8565b91505060a083015184820360a086015261287482826127b8565b91505060c083015184820360c086015261288e82826127b8565b9150508091505092915050565b6040820160008201516128b16000850182612798565b5060208201516128c46020850182612798565b50505050565b600060808201905081810360008301526128e481866127f1565b90506128f3602083018561289b565b612900606083018461218c565b949350505050565b600080fd5b61291682611f72565b810181811067ffffffffffffffff8211171561293557612934612266565b5b80604052505050565b6000612948611a37565b9050612954828261290d565b919050565b60008151905061296881611c11565b92915050565b600067ffffffffffffffff82169050919050565b61298b8161296e565b811461299657600080fd5b50565b6000815190506129a881612982565b92915050565b6000604082840312156129c4576129c3612908565b5b6129ce604061293e565b905060006129de848285016121b6565b60008301525060206129f2848285016121b6565b60208301525092915050565b600060808284031215612a1457612a13612908565b5b612a1e606061293e565b90506000612a2e84828501612959565b6000830152506020612a4284828501612999565b6020830152506040612a56848285016129ae565b60408301525092915050565b600060408284031215612a7857612a77612908565b5b612a82604061293e565b90506000612a92848285016121b6565b6000830152506020612aa6848285016121b6565b60208301525092915050565b60008060c08385031215612ac957612ac8611a41565b5b6000612ad7858286016129fe565b9250506080612ae885828601612a62565b9150509250929050565b6000604082019050612b07600083018561218c565b612b146020830184611c6a565b939250505056fea2646970667358221220a32253f5186a19c34fcfa0d55c1e75306165d4ae000c1e304795477cdddfba8d64736f6c634300081c003300000000000000000000000028d38df637db75533bd3f71426f3410a82041544