26 txs
762 calls
constructor
constructor(address _gdaForwarder, address _stremeVaultBoxImplementation, address _superTokenFactory)
functions
allocation
viewfunction allocation(address token, address admin) view returns (address tokenAddress, uint256 amountTotal, uint256 amountClaimed, uint256 lockupEndTime, uint256 vestingEndTime, address allocationAdmin, address pool, address box)
allocations
viewfunction allocations(address, address) view returns (address token, uint256 amountTotal, uint256 amountClaimed, uint256 lockupEndTime, uint256 vestingEndTime, address admin, address pool, address box)
amountAvailableToClaim
viewfunction amountAvailableToClaim(address token, address admin) view returns (uint256)
config
viewfunction config() view returns (bool transferabilityForUnitsOwner, bool distributionFromAnyAddress)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DEPLOYER_ROLE
viewfunction DEPLOYER_ROLE() view returns (bytes32)
gdaForwarder
viewfunction gdaForwarder() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUnits
viewfunction getUnits(address token, address admin, address member) view returns (uint128)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
MIN_LOCKUP_DURATION
viewfunction MIN_LOCKUP_DURATION() view returns (uint256)
stremeVaultBoxImplementation
viewfunction stremeVaultBoxImplementation() view returns (address)
superTokenFactory
viewfunction superTokenFactory() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
claim
nonpayablefunction claim(address token, address admin)
createVault
nonpayablefunction createVault(address token, address admin, uint256 supply, uint256 lockupDuration, uint256 vestingDuration)
editAllocationAdmin
nonpayablefunction editAllocationAdmin(address token, address oldAdmin, address newAdmin)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
receiveTokens
nonpayablefunction receiveTokens(address token, address admin, uint256 supply, bytes data)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
updateMemberUnits
nonpayablefunction updateMemberUnits(address token, address admin, address member, uint128 newUnits)
updateMemberUnitsBatch
nonpayablefunction updateMemberUnitsBatch(address token, address admin, address[] members, uint128[] newUnits)
events
AllocationAdminUpdated
event AllocationAdminUpdated(address indexed token, address indexed oldAdmin, address indexed newAdmin)
AllocationClaimed
event AllocationClaimed(address indexed token, uint256 amount, uint256 remainingAmount)
AllocationCreated
event AllocationCreated(address indexed token, address indexed admin, uint256 supply, uint256 lockupDuration, uint256 vestingDuration, address pool, address box)
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)
WrappedSuperTokenCreated
event WrappedSuperTokenCreated(address indexed inputToken, address indexed superToken)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AllocationAlreadyExists
error AllocationAlreadyExists()
AllocationNotUnlocked
error AllocationNotUnlocked()
FailedDeployment
error FailedDeployment()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
InvalidVaultAdmin
error InvalidVaultAdmin()
InvalidVaultBps
error InvalidVaultBps()
NoBalanceToClaim
error NoBalanceToClaim()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
TransferFailed
error TransferFailed()
Unauthorized
error Unauthorized()
VaultLockupDurationTooShort
error VaultLockupDurationTooShort()
creation bytecode
0x60806040523461013757604051601f61312a38819003918201601f19168301916001600160401b03831184841017610121578084926060946040528339810103126101375780516001600160a01b03811691908290036101375760208101516001600160a01b038116919082900361013757604001516001600160a01b0381169290839003610137576001600055604080519081016001600160401b03811182821017610121576040526000815260016020909101526004805461ffff19166101001790556100cd3361013c565b506100d7336101b8565b506100e133610250565b5060018060a01b0319600254161760025560018060a01b0319600554161760055560018060a01b03196003541617600355604051612dbf908161030b8239f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b6001600160a01b03811660009081526000805160206130ea833981519152602052604090205460ff166101b2576001600160a01b031660008181526000805160206130ea83398151915260205260408120805460ff191660011790553391906000805160206130ca8339815191528180a4600190565b50600090565b6001600160a01b038116600090815260008051602061310a833981519152602052604090205460ff166101b2576001600160a01b0316600081815260008051602061310a83398151915260205260408120805460ff191660011790553391907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08906000805160206130ca8339815191529080a4600190565b6001600160a01b03811660009081527d295891247165d2df35b412df4fbfea2d757e5ce5d1cdc8f94164a43a37a519602052604090205460ff166101b2576001600160a01b031660008181527d295891247165d2df35b412df4fbfea2d757e5ce5d1cdc8f94164a43a37a51960205260408120805460ff191660011790553391907ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c906000805160206130ca8339815191529080a460019056fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a71461263b5750806321c0b34214612219578063248a9ca3146121eb5780632f2ff15d146121aa57806336568abe1461214c57806357dcff4e14611b585780635af8bf2514611b3157806368e9751314611b135780636ae65bfa14611aec57806379502c5514611abd57806382eefb4b14611a04578063853996e414611a0457806391d14854146119b7578063a217fddf1461199b578063b0e3fe7414611688578063b1cc494414611459578063b360cea114611358578063bdb816ab14611323578063ca0c94f9146112fc578063d547741f146112b2578063dd83514e1461068e578063ea122721146101a1578063ec87621c146101665763ecd002611461012957600080fd5b3461016357806003193601126101635760206040517ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c8152f35b80fd5b503461016357806003193601126101635760206040517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b5034610163576060600319360112610163576101bb6126db565b6101c36126f6565b906001600160a01b036101d461270c565b9116908184526006602052604084206001600160a01b0384166000526020526001600160a01b03600560406000200154163303610666576001600160a01b038116928315610657578285526006602052604085208460005260205260036040600020015461064857908491838352600660205260408084206000906001600160a01b0384168252602052208484526006602052604080852060009088825260205220908082036105a7575b5050838352600660205282600760408083206000906001600160a01b0386168252602052208281558260018201558260028201558260038201558260048201558260058201558260068201550155838352600660205260408320856000526020526005604060002001856001600160a01b0319825416179055838352600660205260408320856000526020526001600160a01b036020816006604060002001541692602460405180948193630fefbc0960e01b835216958660048301525afa80156104fa576fffffffffffffffffffffffffffffffff918591610588575b5016610390575b50505033907f30ebdb166313f0bb748f7403e32cfba783dd777b721dd102e1693f3ecda1ae5b8480a480f35b8383526006602052604083208560005260205260246001600160a01b03600660406000200154168585526006602052604085208760005260205260206001600160a01b036006604060002001541660405193848092630fefbc0960e01b82528760048301525afa90811561057d5761045294602093879361054e575b5086604051809781958294631b16777760e01b8452600484019092916fffffffffffffffffffffffffffffffff6020916001600160a01b03604085019616845216910152565b03925af1801561054357610505575b60209150838352600682526040832085600052825260446001600160a01b0360066040600020015416916040519485938492631b16777760e01b845260048401528160248401525af180156104fa576104bd575b808491610364565b6020813d6020116104f2575b816104d6602093836127a9565b810103126104ee576104e7906127cc565b50386104b5565b8380fd5b3d91506104c9565b6040513d86823e3d90fd5b6020823d60201161053b575b8161051e602093836127a9565b81010312610537576105316020926127cc565b50610461565b8280fd5b3d9150610511565b6040513d85823e3d90fd5b61056f919350843d8611610576575b61056781836127a9565b8101906128c2565b913861040c565b503d61055d565b6040513d87823e3d90fd5b6105a1915060203d6020116105765761056781836127a9565b3861035d565b60076001600160a01b038183828080965416166001600160a01b03198754161786556001810154600187015560028101546002870155600381015460038701556004810154600487015582600582015416836005880191166001600160a01b031982541617905582600682015416836006880191166001600160a01b0319825416179055015416920191166001600160a01b0319825416179055388061027f565b6004856389ac0f2160e01b8152fd5b600485633b7dc71360e01b8152fd5b6004847f82b42900000000000000000000000000000000000000000000000000000000008152fd5b50346101635760a0600319360112610163576106a86126db565b6106b06126f6565b6044356064356084356106c161295b565b859486906001600160a01b038116906040517f20bc4425000000000000000000000000000000000000000000000000000000008152602081600481865afa9081611277575b5061126e5750875b15610e61575b5061071f8342612753565b9462093a80841080610e15575b610ded576001600160a01b0316958615610dde576001600160a01b03169485885260066020526040882087600052602052600360406000200154610dcf576107748382612753565b8860406001600160a01b036002541660848251809481937f0779d3650000000000000000000000000000000000000000000000000000000083528d600484015230602484015260ff6004548181161515604486015260081c16151560648401525af1908115610dc4578a908b92610d78575b5015610d0e576001600160a01b03168960405192631b16777760e01b84528a60048501526001602485015260208460448185875af1938415610c9d578a94610cd0575b506040519461083786612776565b848652602086018a8152604087019084825260608801928352608088019384528d60a089019581875260c08a0197885260e08a0198818a52815260066020526040902060009182526020526040902097516001600160a01b03166001600160a01b031688546001600160a01b031916178855516001880155516002870155516003860155516004850155516001600160a01b031660058401906001600160a01b031681546001600160a01b031916179055516001600160a01b031660068301906001600160a01b031681546001600160a01b031916179055516001600160a01b031690600701906001600160a01b031681546001600160a01b0319161790556005548060881c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017885260781b6effffffffffffffffffffffffffffff19166e5af43d82803e903d91602b57fd5bf3176020526037600988f06001600160a01b03168015610ca857876001600160a01b0360025416878252600660205260408220896000526020526001600160a01b0360066040600020015416833b1561053757604051917fc0c53b8b00000000000000000000000000000000000000000000000000000000835260048301526024820152876044820152818160648183875af18015610c9d57610c84575b50869052600660205260408820876000526020526007604060002001906001600160a01b0319825416179055600014610bbb5783865260066020908152604080882060008881529083528190206007015490517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116600482015260248101859052908180604481015b03818a895af1908115610bb0578791610b72575b5015610b63579160a0917ff61aad7b420b65be2f1d2429bc1181d7b77b7d56cf8db961d2d59199707b88c8935b858852600660205260408820876000526020526001600160a01b036006604060002001541690868952600660205260408920886000526020526001600160a01b0360076040600020015416926040519485526020850152604084015260608301526080820152a36001815580f35b6004866312171d8360e31b8152fd5b90506020813d602011610ba8575b81610b8d602093836127a9565b81010312610ba457610b9e906127cc565b38610ac8565b8680fd5b3d9150610b80565b6040513d89823e3d90fd5b83865260066020908152604080882060008881529083528190206007015490516323b872dd60e01b81523360048201526001600160a01b0390911660248201526044810185905290816064818a895af1908115610bb0578791610c4a575b5015610b63579160a0917ff61aad7b420b65be2f1d2429bc1181d7b77b7d56cf8db961d2d59199707b88c893610af5565b90506020813d602011610c7c575b81610c65602093836127a9565b81010312610ba457610c76906127cc565b38610c19565b3d9150610c58565b81610c8e916127a9565b610c99578738610a1f565b8780fd5b6040513d84823e3d90fd5b6004887fb06ebf3d000000000000000000000000000000000000000000000000000000008152fd5b93506020843d602011610d06575b81610ceb602093836127a9565b81010312610d0257610cfd8a946127cc565b610829565b5080fd5b3d9150610cde565b608460405162461bcd60e51b815260206004820152602160248201527f537472656d655661756c743a20506f6f6c206372656174696f6e206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152fd5b9150506040813d604011610dbc575b81610d94604093836127a9565b81010312610db857610db16020610daa836127cc565b9201612cbe565b90386107e6565b8980fd5b3d9150610d87565b6040513d8c823e3d90fd5b6004886389ac0f2160e01b8152fd5b600488633b7dc71360e01b8152fd5b6004887f0c68b114000000000000000000000000000000000000000000000000000000008152fd5b507f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0888526001602052604088206001600160a01b03321660005260205260ff604060002054161561072c565b9550506040517f06fdde030000000000000000000000000000000000000000000000000000000081528681600481895afa908115610bb0578791611254575b50610ef5602660405180937f53757065722000000000000000000000000000000000000000000000000000006020830152610ee48151809260208686019101612cd2565b81010301601f1981018352826127a9565b604051907f95d89b4100000000000000000000000000000000000000000000000000000000825287826004818a5afa91821561124957889261121e575b50611007602091610fab60018460405187610f568299518092858086019101612cd2565b81017f78000000000000000000000000000000000000000000000000000000000000008382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18101875201856127a9565b6001600160a01b0360035416908a8a611019604051978896879586947f431f1481000000000000000000000000000000000000000000000000000000008652600486015260016024860152608060448601526084850190612d64565b90600319848303016064850152612d64565b03925af1908115610bb05787916111e4575b506040516323b872dd60e01b815233600482015230602482015260448101859052909560019187906020816064818d875af1908115610dc4578a916111aa575b501561119b576040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260248101879052906020826044818d875af18015610dc45761115b575b6001600160a01b0391501690813b1561115757886040517f45977d03000000000000000000000000000000000000000000000000000000008152876004820152818160248183885af18015610c9d57611142575b50807fbcdd4e9334ff9a86a7426cf1587285bfffc818a081b980321e8d3fe874dcad5c91a338610714565b8161114c916127a9565b611157578838611117565b8880fd5b6020823d602011611193575b81611174602093836127a9565b81010312610db85761118d6001600160a01b03926127cc565b506110c3565b3d9150611167565b6004896312171d8360e31b8152fd5b90506020813d6020116111dc575b816111c5602093836127a9565b81010312610db8576111d6906127cc565b3861106b565b3d91506111b8565b90506020813d602011611216575b816111ff602093836127a9565b81010312610ba45761121090612cbe565b3861102b565b3d91506111f2565b6020919250611241611007913d808c833e61123981836127a9565b810190612cf5565b929150610f32565b6040513d8a823e3d90fd5b61126891503d8089833e61123981836127a9565b38610ea0565b9650600161070e565b6020813d6020116112aa575b81611290602093836127a9565b810103126112a6576112a190612cbe565b610706565b8a80fd5b3d9150611283565b5034610163576040600319360112610163576112f86004356112d26126f6565b906112f36112ee82600052600160205260016040600020015490565b612b35565b612c2f565b5080f35b503461016357806003193601126101635760206001600160a01b0360055416604051908152f35b50346101635760406003193601126101635760206113506113426126db565b61134a6126f6565b90612996565b604051908152f35b5034610163576060600319360112610163576113726126db565b61137a6126f6565b6001600160a01b0361138a61270c565b92168084526006602052604084206001600160a01b0383166000526020526113c46001600160a01b03600660406000200154161515612806565b835260066020526001600160a01b0360408420911660005260205260206001600160a01b0360248160066040600020015416936040519485938492630fefbc0960e01b84521660048301525afa908115610c9d576020929161143c575b506fffffffffffffffffffffffffffffffff60405191168152f35b6114539150823d84116105765761056781836127a9565b38611421565b5034610163576080600319360112610163576114736126db565b61147b6126f6565b9061148461270c565b90606435906fffffffffffffffffffffffffffffffff8216820361168457611591916001600160a01b03602092169384875260068352604087206001600160a01b03871660005283526114e96001600160a01b03600660406000200154161515612806565b84875260068352604087206001600160a01b038716600052835261151f6001600160a01b03600560406000200154163314612851565b84875260068352604087206001600160a01b03871660005283526001600160a01b03600660406000200154169087604051809681958294631b16777760e01b8452600484019092916fffffffffffffffffffffffffffffffff6020916001600160a01b03604085019616845216910152565b03925af180156104fa5761164d575b50825260066020526001600160a01b03604083209116600052602052600460206001600160a01b0360066040600020015416604051928380927fa754a7020000000000000000000000000000000000000000000000000000000082525afa908115610c9d5761162b916fffffffffffffffffffffffffffffffff91849161162e575b501615156128ea565b80f35b611647915060203d6020116105765761056781836127a9565b38611622565b6020813d60201161167c575b81611666602093836127a9565b810103126104ee57611677906127cc565b6115a0565b3d9150611659565b8480fd5b5034610163576080600319360112610163576116a26126db565b6116aa6126f6565b9060443567ffffffffffffffff81116104ee576116cb903690600401612722565b9290916064359267ffffffffffffffff8411611997576116f76001600160a01b03943690600401612722565b94909216938487526006602052604087206001600160a01b0385166000526020526117346001600160a01b03600660406000200154161515612806565b8487526006602052604087206001600160a01b03851660005260205261176c6001600160a01b03600560406000200154163314612851565b80860361192d576001600160a01b0387969416955b84811061182a57878787825260066020526040822090600052602052600460206001600160a01b0360066040600020015416604051928380927fa754a7020000000000000000000000000000000000000000000000000000000082525afa908115610c9d5761162b916fffffffffffffffffffffffffffffffff91849161180b57501615156128ea565b611824915060203d6020116105765761056781836127a9565b84611622565b85885260066020526001600160a01b0360066040808b206000908b8252602052200154169061185a81878661289c565b356001600160a01b0381168103610db85761187682858861289c565b356fffffffffffffffffffffffffffffffff811681036112a657604051631b16777760e01b81526001600160a01b039290921660048301526fffffffffffffffffffffffffffffffff16602482015291602090839060449082908d905af18015611922576118e9575b6001915001611781565b6020823d821161191a575b81611901602093836127a9565b81010312611157576119146001926127cc565b506118df565b3d91506118f4565b6040513d8b823e3d90fd5b608460405162461bcd60e51b815260206004820152602e60248201527f537472656d655661756c743a204d656d6265727320616e6420756e697473206c60448201527f656e677468206d69736d617463680000000000000000000000000000000000006064820152fd5b8580fd5b5034610163578060031936011261016357602090604051908152f35b5034610163576040600319360112610163576001600160a01b0360406119db6126f6565b9260043581526001602052209116600052602052602060ff604060002054166040519015158152f35b50346101635760406003193601126101635760409081611a226126db565b916001600160a01b03611a336126f6565b9316815260066020818152929091206001600160a01b039384166000908152908352939093208054600182015460028301546003840154600485015460058601549886015460079096015460408051968a16875297860194909452958401919091526060830152608082019390935293831660a0850152821660c08401521660e082015261010090f35b5034610163578060031936011261016357604060045460ff8251918181161515835260081c1615156020820152f35b503461016357806003193601126101635760206001600160a01b0360035416604051908152f35b5034610163578060031936011261016357602060405162093a808152f35b503461016357806003193601126101635760206001600160a01b0360025416604051908152f35b503461016357608060031936011261016357611b726126db565b611b7a6126f6565b60443560643567ffffffffffffffff8111611684573660238201121561168457806004013567ffffffffffffffff811161199757810136602482011161199757611bc261295b565b7ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c86526001602052604086206001600160a01b033316875260205260ff604087205416156120fc57604090829003126116845760446024820135910135611c298242612753565b9362093a808310806120b2575b61208a576001600160a01b031694851561207b576001600160a01b031693848752600660205260408720868852602052600360408820015461206c5786611c7d8383612753565b9160406001600160a01b036002541660848251809581937f0779d3650000000000000000000000000000000000000000000000000000000083528c600484015230602484015260ff6004548181161515604486015260081c16151560648401525af19182156119225789908a93612024575b5015610d0e576001600160a01b0389921690604051631b16777760e01b81528960048201526001602482015260208160448187875af180156104fa57611fed575b5060405193611d3e85612776565b888552602085019188835260408601858152606087019182526080870192835260a08701938c855260c088019586528b60e08901978089525260066020528d8d604082209082526020526040902097516001600160a01b03166001600160a01b031688546001600160a01b031916178855516001880155516002870155516003860155516004850155516001600160a01b031660058401906001600160a01b031681546001600160a01b031916179055516001600160a01b031660068301906001600160a01b031681546001600160a01b031916179055516001600160a01b031690600701906001600160a01b031681546001600160a01b0319161790556005548060881c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017875260781b6effffffffffffffffffffffffffffff19166e5af43d82803e903d91602b57fd5bf3176020526037600987f06001600160a01b03168015611fc5576001600160a01b03600254168588526006602052604088208789526020526001600160a01b03600660408a20015416823b1561115757604051917fc0c53b8b00000000000000000000000000000000000000000000000000000000835260048301526024820152856044820152878160648183865af1801561124957611fb1575b50848752600660205260408720866000526020526007604060002001906001600160a01b031982541617905583865260066020526040862085600052602052610ab46020846001600160a01b036007604060002001541660405193849283926323b872dd60e01b845233600485016001600160a01b036040929594938160608401971683521660208201520152565b87611fbe919892986127a9565b9538611f22565b6004877fb06ebf3d000000000000000000000000000000000000000000000000000000008152fd5b6020813d60201161201c575b81612006602093836127a9565b810103126104ee57612017906127cc565b611d30565b3d9150611ff9565b9250506040823d604011612064575b81612040604093836127a9565b810103126111575761205d6020612056846127cc565b9301612cbe565b9138611cef565b3d9150612033565b6004876389ac0f2160e01b8152fd5b600487633b7dc71360e01b8152fd5b6004877f0c68b114000000000000000000000000000000000000000000000000000000008152fd5b507f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0887526001602052604087206001600160a01b033216885260205260ff60408820541615611c36565b6044867fe2517d3f000000000000000000000000000000000000000000000000000000008152336004527ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c602452fd5b5034610163576040600319360112610163576121666126f6565b336001600160a01b03821603612182576112f890600435612c2f565b6004827f6697b232000000000000000000000000000000000000000000000000000000008152fd5b5034610163576040600319360112610163576112f86004356121ca6126f6565b906121e66112ee82600052600160205260016040600020015490565b612b95565b5034610163576020600319360112610163576020611350600435600052600160205260016040600020015490565b5034610163576040600319360112610163576122336126db565b61223b6126f6565b61224361295b565b6001600160a01b038216918284526006602052604084206001600160a01b0383168552602052600360408520015415612613578284526006602052604084206001600160a01b03831685526020526003604085200154421061261357816122a991612996565b80156125eb578284526006602052604084206001600160a01b0383168552602052600260408520016122dc828254612753565b90558284526006602052604084206001600160a01b03831685526020528360206001600160a01b036007604084200154166024604051809481937f91c05b0b0000000000000000000000000000000000000000000000000000000083528760048401525af190811561057d5785916125b1575b50156125a2578284526006602052604084206001600160a01b038316855260205260026040852001548385526006602052604085206001600160a01b0384168652602052600160408620015411612402575b6040907f2ab4392cda0fd42f52cf96615f7267094b2da30a49c57e995b59317097bc463e9284865260066020526001600160a01b03838720911686526020526123f081600184882001546127d9565b82519182526020820152a26001815580f35b8284526006602052604084206001600160a01b03831685526020528360206bffffffffffffffffffffffff612493612462600160408620015488865260068552604086206001600160a01b038916875285526002604087200154906127d9565b87855260068452604085206001600160a01b0388168652845261248d604086206004429101546127d9565b906127e6565b16600b0b85835260068252604083206001600160a01b0386168452825260246001600160a01b036007604086200154169160405194859384927f5675ceac00000000000000000000000000000000000000000000000000000000845260048401525af1801561057d57612542575b508284526006602081815260408087206001600160a01b038616808952908352818820600101548789529383528188209088529091528520600201556123a1565b906020823d60201161259a575b8161255c602093836127a9565b81010312611684577f2ab4392cda0fd42f52cf96615f7267094b2da30a49c57e995b59317097bc463e926125916040936127cc565b50925090612501565b3d915061254f565b6004846312171d8360e31b8152fd5b90506020813d6020116125e3575b816125cc602093836127a9565b81010312611684576125dd906127cc565b3861234f565b3d91506125bf565b6004847fa39f474a000000000000000000000000000000000000000000000000000000008152fd5b6004847fcc57c490000000000000000000000000000000000000000000000000000000008152fd5b905034610d02576020600319360112610d02576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361053757602092507f7965db0b0000000000000000000000000000000000000000000000000000000081149081156126b1575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386126aa565b600435906001600160a01b03821682036126f157565b600080fd5b602435906001600160a01b03821682036126f157565b604435906001600160a01b03821682036126f157565b9181601f840112156126f15782359167ffffffffffffffff83116126f1576020808501948460051b0101116126f157565b9190820180921161276057565b634e487b7160e01b600052601160045260246000fd5b610100810190811067ffffffffffffffff82111761279357604052565b634e487b7160e01b600052604160045260246000fd5b90601f601f19910116810190811067ffffffffffffffff82111761279357604052565b519081151582036126f157565b9190820391821161276057565b81156127f0570490565b634e487b7160e01b600052601260045260246000fd5b1561280d57565b606460405162461bcd60e51b815260206004820152602060248201527f537472656d655661756c743a20506f6f6c20646f6573206e6f742065786973746044820152fd5b1561285857565b606460405162461bcd60e51b815260206004820152601960248201527f537472656d655661756c743a20556e617574686f72697a6564000000000000006044820152fd5b91908110156128ac5760051b0190565b634e487b7160e01b600052603260045260246000fd5b908160209103126126f157516fffffffffffffffffffffffffffffffff811681036126f15790565b156128f157565b608460405162461bcd60e51b815260206004820152602760248201527f537472656d655661756c743a20546f74616c20756e6974732063616e6e6f742060448201527f6265207a65726f000000000000000000000000000000000000000000000000006064820152fd5b60026000541461296c576002600055565b7f3ee5aeb50000000000000000000000000000000000000000000000000000000060005260046000fd5b6001600160a01b031680600052600660205260406000206001600160a01b03831660005260205260036040600020015442106000146129d6575050600090565b80600052600660205260406000206001600160a01b038316600052602052600460406000200154421015600014612a415760009081526006602090815260408083206001600160a01b03949094168352929052206001810154600290910154612a3e916127d9565b90565b80600052600660205260406000206001600160a01b0383166000526020526001604060002001549181600052600660205260406000206001600160a01b038216600052602052612a99600360406000200154426127d9565b9283810293818504149015171561276057612b08612a3e9383600052600660205260406000206001600160a01b03841660005260205261248d60046040600020015485600052600660205260406000206001600160a01b038616600052602052600360406000200154906127d9565b9160005260066020526001600160a01b0360406000209116600052602052600260406000200154906127d9565b80600052600160205260406000206001600160a01b03331660005260205260ff6040600020541615612b645750565b7fe2517d3f000000000000000000000000000000000000000000000000000000006000523360045260245260446000fd5b80600052600160205260406000206001600160a01b03831660005260205260ff6040600020541615600014612c285780600052600160205260406000206001600160a01b0383166000526020526040600020600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4600190565b5050600090565b80600052600160205260406000206001600160a01b03831660005260205260ff60406000205416600014612c285780600052600160205260406000206001600160a01b038316600052602052604060002060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a4600190565b51906001600160a01b03821682036126f157565b60005b838110612ce55750506000910152565b8181015183820152602001612cd5565b6020818303126126f15780519067ffffffffffffffff82116126f1570181601f820112156126f157805167ffffffffffffffff81116127935760405192612d466020601f19601f85011601856127a9565b818452602082840101116126f157612a3e9160208085019101612cd2565b90601f19601f602093612d8281518092818752878088019101612cd2565b011601019056fea2646970667358221220c6dfc0fb6b21c170c7232a7d3f65dc687b13b0d3cc5f0a011a20474781525a5d64736f6c634300081a00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0da6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49fdb122eb892c6b3193f8499f050265ce5458caab5f6480270d8972921f24f4290000000000000000000000006da13bde224a05a288748d857b9e7ddeffd1de08000000000000000000000000bf49d890f6a7f6c87fd476641d0be0992dbedd10000000000000000000000000e20b9a38e0c96f61d1ba6b42a61512d56fea1eb3