0 txs
0 calls
constructor
constructor()
functions
claimed
viewfunction claimed(uint256, address) view returns (bool)
contribution
viewfunction contribution() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getClaimableReward
viewfunction getClaimableReward(uint256 periodNumber, address user) view returns (uint256)
getReward
viewfunction getReward(uint256 periodNumber) view returns (bool, uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
intmaxToken
viewfunction intmaxToken() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
REWARD_MANAGER_ROLE
viewfunction REWARD_MANAGER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalRewards
viewfunction totalRewards(uint256) view returns (bool isSet, uint248 amount)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
claimReward
nonpayablefunction claimReward(uint256 periodNumber)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _admin, address _rewardManager, address _contribution, address _intmaxToken)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setReward
nonpayablefunction setReward(uint256 periodNumber, uint256 amount)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Claimed
event Claimed(uint256 indexed periodNumber, address indexed user, uint256 amount)
Initialized
event Initialized(uint64 version)
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)
SetReward
event SetReward(uint256 indexed periodNumber, uint256 amount)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressZero
error AddressZero()
AlreadyClaimed
error AlreadyClaimed()
AlreadySetReward
error AlreadySetReward()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
NotSetReward
error NotSetReward()
PeriodNotEnded
error PeriodNotEnded()
RewardTooLarge
error RewardTooLarge()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015610042575f5ffd5b5061005161005660201b60201c565b6101b6565b5f61006561015460201b60201c565b9050805f0160089054906101000a900460ff16156100af576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff8016815f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff16146101515767ffffffffffffffff815f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d267ffffffffffffffff604051610148919061019d565b60405180910390a15b50565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b5f67ffffffffffffffff82169050919050565b6101978161017b565b82525050565b5f6020820190506101b05f83018461018e565b92915050565b608051612aed6101dc5f395f8181611a4f01528181611aa40152611c630152612aed5ff3fe60806040526004361061011e575f3560e01c80636d750d801161009f578063ad3cb1cc11610063578063ad3cb1cc14610404578063ad8d28071461042e578063ae169a5014610458578063d547741f14610480578063f8c8765e146104a85761011e565b80636d750d801461031057806391d148541461033a578063a217fddf14610376578063a47bd496146103a0578063ab3b55e3146103c85761011e565b806332f26694116100e657806332f266941461023b57806336568abe146102785780634f1ef286146102a057806350520b1f146102bc57806352d1902d146102e65761011e565b806301ffc9a714610122578063120aa8771461015e5780631c4b774b1461019a578063248a9ca3146101d75780632f2ff15d14610213575b5f5ffd5b34801561012d575f5ffd5b506101486004803603810190610143919061215c565b6104d0565b60405161015591906121a1565b60405180910390f35b348015610169575f5ffd5b50610184600480360381019061017f9190612247565b610549565b60405161019191906121a1565b60405180910390f35b3480156101a5575f5ffd5b506101c060048036038101906101bb9190612285565b610573565b6040516101ce9291906122bf565b60405180910390f35b3480156101e2575f5ffd5b506101fd60048036038101906101f89190612319565b610657565b60405161020a9190612353565b60405180910390f35b34801561021e575f5ffd5b506102396004803603810190610234919061236c565b610681565b005b348015610246575f5ffd5b50610261600480360381019061025c9190612285565b6106a3565b60405161026f9291906123e3565b60405180910390f35b348015610283575f5ffd5b5061029e6004803603810190610299919061236c565b6106f9565b005b6102ba60048036038101906102b59190612546565b610774565b005b3480156102c7575f5ffd5b506102d0610793565b6040516102dd91906125fb565b60405180910390f35b3480156102f1575f5ffd5b506102fa6107b7565b6040516103079190612353565b60405180910390f35b34801561031b575f5ffd5b506103246107e8565b6040516103319190612353565b60405180910390f35b348015610345575f5ffd5b50610360600480360381019061035b919061236c565b61080c565b60405161036d91906121a1565b60405180910390f35b348015610381575f5ffd5b5061038a61087d565b6040516103979190612353565b60405180910390f35b3480156103ab575f5ffd5b506103c660048036038101906103c19190612614565b610883565b005b3480156103d3575f5ffd5b506103ee60048036038101906103e99190612247565b610af9565b6040516103fb9190612652565b60405180910390f35b34801561040f575f5ffd5b50610418610e7b565b60405161042591906126cb565b60405180910390f35b348015610439575f5ffd5b50610442610eb4565b60405161044f919061270b565b60405180910390f35b348015610463575f5ffd5b5061047e60048036038101906104799190612285565b610ed9565b005b34801561048b575f5ffd5b506104a660048036038101906104a1919061236c565b611446565b005b3480156104b3575f5ffd5b506104ce60048036038101906104c99190612724565b611468565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105425750610541826117b2565b5b9050919050565b6003602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f5f5f60025f8581526020019081526020015f206040518060400160405290815f82015f9054906101000a900460ff161515151581526020015f820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250509050805f015181602001517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff169250925050915091565b5f5f61066161181b565b9050805f015f8481526020019081526020015f2060010154915050919050565b61068a82610657565b61069381611842565b61069d8383611856565b50505050565b6002602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905082565b61070161194e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610765576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61076f8282611955565b505050565b61077c611a4d565b61078582611b33565b61078f8282611b43565b5050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6107c0611c61565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b905090565b7f0f51adb3f49e4a9bbb17b3783f025995eaf8c24be2c8eefff214bdfda05ef94d81565b5f5f61081661181b565b9050805f015f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1691505092915050565b5f5f1b81565b7f0f51adb3f49e4a9bbb17b3783f025995eaf8c24be2c8eefff214bdfda05ef94d6108ad81611842565b5f829050807effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16831461090b576040517f71009bf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025f8681526020019081526020015f206040518060400160405290815f82015f9054906101000a900460ff161515151581526020015f820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250509050805f0151156109f4576040517fdf54677000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280600115158152602001837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525060025f8781526020019081526020015f205f820151815f015f6101000a81548160ff0219169083151502179055506020820151815f0160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550905050847ff0ce7aa5ba2b3ac54f08032f04953c5d57c298b78460dd948bf0211bb0a8587185604051610aea9190612652565b60405180910390a25050505050565b5f825f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663086146d26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b88919061279c565b11610b95575f9050610e75565b5f60025f8581526020019081526020015f206040518060400160405290815f82015f9054906101000a900460ff161515151581526020015f820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250509050805f0151610c54575f915050610e75565b5f81602001517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905060035f8681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610ce5575f92505050610e75565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c962d9d867f86b9f03d796881acc3ae8b638c23861904ac9c358da18e1d9994e3874f61c12d6040518363ffffffff1660e01b8152600401610d609291906127c7565b602060405180830381865afa158015610d7b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9f919061279c565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636513f7ab877f86b9f03d796881acc3ae8b638c23861904ac9c358da18e1d9994e3874f61c12d886040518463ffffffff1660e01b8152600401610e1c939291906127fd565b602060405180830381865afa158015610e37573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5b919061279c565b82610e66919061285f565b610e7091906128cd565b925050505b92915050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b805f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663086146d26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f43573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f67919061279c565b11610f9e576040517fac59a02d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025f8381526020019081526020015f206040518060400160405290815f82015f9054906101000a900460ff161515151581526020015f820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250509050805f0151611086576040517f8fbe5a9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81602001517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905060035f8481526020019081526020015f205f6110c961194e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611146576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160035f8581526020019081526020015f205f61116261194e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c962d9d857f86b9f03d796881acc3ae8b638c23861904ac9c358da18e1d9994e3874f61c12d6040518363ffffffff1660e01b815260040161122d9291906127c7565b602060405180830381865afa158015611248573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126c919061279c565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636513f7ab867f86b9f03d796881acc3ae8b638c23861904ac9c358da18e1d9994e3874f61c12d6112d261194e565b6040518463ffffffff1660e01b81526004016112f0939291906127fd565b602060405180830381865afa15801561130b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132f919061279c565b8361133a919061285f565b61134491906128cd565b905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61138b61194e565b836040518363ffffffff1660e01b81526004016113a99291906128fd565b6020604051808303815f875af11580156113c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e9919061294e565b506113f261194e565b73ffffffffffffffffffffffffffffffffffffffff16847f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026836040516114389190612652565b60405180910390a350505050565b61144f82610657565b61145881611842565b6114628383611955565b50505050565b5f611471611ce8565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f5f8267ffffffffffffffff161480156114b95750825b90505f60018367ffffffffffffffff161480156114ec57505f3073ffffffffffffffffffffffffffffffffffffffff163b145b9050811580156114fa575080155b15611531576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550831561157e576001855f0160086101000a81548160ff0219169083151502179055505b5f73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614806115e357505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b8061161957505f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b8061164f57505f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b15611686576040517f9fabe1c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61168e611d0f565b611696611d19565b6116a25f5f1b8a611856565b506116cd7f0f51adb3f49e4a9bbb17b3783f025995eaf8c24be2c8eefff214bdfda05ef94d89611856565b50865f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508560015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083156117a7575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405161179e91906129c5565b60405180910390a15b505050505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800905090565b6118538161184e61194e565b611d23565b50565b5f5f61186061181b565b905061186c848461080c565b611943576001815f015f8681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506118df61194e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050611948565b5f9150505b92915050565b5f33905090565b5f5f61195f61181b565b905061196b848461080c565b15611a42575f815f015f8681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506119de61194e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001915050611a47565b5f9150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161480611afa57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16611ae1611d74565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611b31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f5f1b611b3f81611842565b5050565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bab57506040513d601f19601f82011682018060405250810190611ba891906129f2565b60015b611bec57816040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401611be39190612a1d565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b8114611c5257806040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600401611c499190612353565b60405180910390fd5b611c5c8383611dc7565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614611ce6576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b611d17611e39565b565b611d21611e39565b565b611d2d828261080c565b611d705780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611d67929190612a36565b60405180910390fd5b5050565b5f611da07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b611e79565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611dd082611e82565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f81511115611e2c57611e268282611f4b565b50611e35565b611e34611fcb565b5b5050565b611e41612007565b611e77576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f819050919050565b5f8173ffffffffffffffffffffffffffffffffffffffff163b03611edd57806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401611ed49190612a1d565b60405180910390fd5b80611f097f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b611e79565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f5f8473ffffffffffffffffffffffffffffffffffffffff1684604051611f749190612aa1565b5f60405180830381855af49150503d805f8114611fac576040519150601f19603f3d011682016040523d82523d5f602084013e611fb1565b606091505b5091509150611fc1858383612025565b9250505092915050565b5f341115612005576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f612010611ce8565b5f0160089054906101000a900460ff16905090565b60608261203a57612035826120b2565b6120aa565b5f825114801561206057505f8473ffffffffffffffffffffffffffffffffffffffff163b145b156120a257836040517f9996b3150000000000000000000000000000000000000000000000000000000081526004016120999190612a1d565b60405180910390fd5b8190506120ab565b5b9392505050565b5f815111156120c45780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61213b81612107565b8114612145575f5ffd5b50565b5f8135905061215681612132565b92915050565b5f60208284031215612171576121706120ff565b5b5f61217e84828501612148565b91505092915050565b5f8115159050919050565b61219b81612187565b82525050565b5f6020820190506121b45f830184612192565b92915050565b5f819050919050565b6121cc816121ba565b81146121d6575f5ffd5b50565b5f813590506121e7816121c3565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612216826121ed565b9050919050565b6122268161220c565b8114612230575f5ffd5b50565b5f813590506122418161221d565b92915050565b5f5f6040838503121561225d5761225c6120ff565b5b5f61226a858286016121d9565b925050602061227b85828601612233565b9150509250929050565b5f6020828403121561229a576122996120ff565b5b5f6122a7848285016121d9565b91505092915050565b6122b9816121ba565b82525050565b5f6040820190506122d25f830185612192565b6122df60208301846122b0565b9392505050565b5f819050919050565b6122f8816122e6565b8114612302575f5ffd5b50565b5f81359050612313816122ef565b92915050565b5f6020828403121561232e5761232d6120ff565b5b5f61233b84828501612305565b91505092915050565b61234d816122e6565b82525050565b5f6020820190506123665f830184612344565b92915050565b5f5f60408385031215612382576123816120ff565b5b5f61238f85828601612305565b92505060206123a085828601612233565b9150509250929050565b5f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6123dd816123aa565b82525050565b5f6040820190506123f65f830185612192565b61240360208301846123d4565b9392505050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61245882612412565b810181811067ffffffffffffffff8211171561247757612476612422565b5b80604052505050565b5f6124896120f6565b9050612495828261244f565b919050565b5f67ffffffffffffffff8211156124b4576124b3612422565b5b6124bd82612412565b9050602081019050919050565b828183375f83830152505050565b5f6124ea6124e58461249a565b612480565b9050828152602081018484840111156125065761250561240e565b5b6125118482856124ca565b509392505050565b5f82601f83011261252d5761252c61240a565b5b813561253d8482602086016124d8565b91505092915050565b5f5f6040838503121561255c5761255b6120ff565b5b5f61256985828601612233565b925050602083013567ffffffffffffffff81111561258a57612589612103565b5b61259685828601612519565b9150509250929050565b5f819050919050565b5f6125c36125be6125b9846121ed565b6125a0565b6121ed565b9050919050565b5f6125d4826125a9565b9050919050565b5f6125e5826125ca565b9050919050565b6125f5816125db565b82525050565b5f60208201905061260e5f8301846125ec565b92915050565b5f5f6040838503121561262a576126296120ff565b5b5f612637858286016121d9565b9250506020612648858286016121d9565b9150509250929050565b5f6020820190506126655f8301846122b0565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61269d8261266b565b6126a78185612675565b93506126b7818560208601612685565b6126c081612412565b840191505092915050565b5f6020820190508181035f8301526126e38184612693565b905092915050565b5f6126f5826125ca565b9050919050565b612705816126eb565b82525050565b5f60208201905061271e5f8301846126fc565b92915050565b5f5f5f5f6080858703121561273c5761273b6120ff565b5b5f61274987828801612233565b945050602061275a87828801612233565b935050604061276b87828801612233565b925050606061277c87828801612233565b91505092959194509250565b5f81519050612796816121c3565b92915050565b5f602082840312156127b1576127b06120ff565b5b5f6127be84828501612788565b91505092915050565b5f6040820190506127da5f8301856122b0565b6127e76020830184612344565b9392505050565b6127f78161220c565b82525050565b5f6060820190506128105f8301866122b0565b61281d6020830185612344565b61282a60408301846127ee565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612869826121ba565b9150612874836121ba565b9250828202612882816121ba565b9150828204841483151761289957612898612832565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128d7826121ba565b91506128e2836121ba565b9250826128f2576128f16128a0565b5b828204905092915050565b5f6040820190506129105f8301856127ee565b61291d60208301846122b0565b9392505050565b61292d81612187565b8114612937575f5ffd5b50565b5f8151905061294881612924565b92915050565b5f60208284031215612963576129626120ff565b5b5f6129708482850161293a565b91505092915050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f6129af6129aa6129a584612979565b6125a0565b612982565b9050919050565b6129bf81612995565b82525050565b5f6020820190506129d85f8301846129b6565b92915050565b5f815190506129ec816122ef565b92915050565b5f60208284031215612a0757612a066120ff565b5b5f612a14848285016129de565b91505092915050565b5f602082019050612a305f8301846127ee565b92915050565b5f604082019050612a495f8301856127ee565b612a566020830184612344565b9392505050565b5f81519050919050565b5f81905092915050565b5f612a7b82612a5d565b612a858185612a67565b9350612a95818560208601612685565b80840191505092915050565b5f612aac8284612a71565b91508190509291505056fea264697066735822122006f2621bb79101333d5c68d2157e301bf089a450167877c930c1486721187be664736f6c634300081b0033