0 txs
906 calls
constructor
constructor()
functions
ASSET_MANAGER_ROLE
viewfunction ASSET_MANAGER_ROLE() view returns (bytes32)
asset
viewfunction asset() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
getRoleMembers
viewfunction getRoleMembers(bytes32 role) view returns (address[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
managedAssets
viewfunction managedAssets() view returns (uint256)
managedAssetsMaxChangeBps
viewfunction managedAssetsMaxChangeBps() view returns (uint16)
managedAssetsMinUpdateInterval
viewfunction managedAssetsMinUpdateInterval() view returns (uint32)
managedAssetsUpdatedAt
viewfunction managedAssetsUpdatedAt() view returns (uint48)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalBalance
viewfunction totalBalance() view returns (uint256)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
WITHDRAWAL_ROLE
viewfunction WITHDRAWAL_ROLE() view returns (bytes32)
deposit
nonpayablefunction deposit(uint256 amount)
depositToAssetManager
nonpayablefunction depositToAssetManager(uint256 amount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address admin, address asset_, uint32 managedAssetsMinUpdateInterval_, uint16 managedAssetsMaxChangeBps_)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setManagedAssetsMaxChangeBps
nonpayablefunction setManagedAssetsMaxChangeBps(uint16 maxChangeBps)
setManagedAssetsMinUpdateInterval
nonpayablefunction setManagedAssetsMinUpdateInterval(uint32 minUpdateInterval)
updateManagedAssets
nonpayablefunction updateManagedAssets(uint256 amount)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw(uint256 amount, address receiver)
withdrawFromAssetManager
nonpayablefunction withdrawFromAssetManager(uint256 amount)
events
Deposit
event Deposit(address indexed asset, address indexed sender, uint256 amount)
DepositToAssetManager
event DepositToAssetManager(address indexed asset, address indexed receiver, uint256 amount)
Initialized
event Initialized(uint64 version)
ManagedAssetsMaxChangeBpsSet
event ManagedAssetsMaxChangeBpsSet(uint16 oldValue, uint16 newValue)
ManagedAssetsMinUpdateIntervalSet
event ManagedAssetsMinUpdateIntervalSet(uint32 oldValue, uint32 newValue)
ManagedAssetsUpdated
event ManagedAssetsUpdated(uint256 previousManagedAssets, uint256 newManagedAssets)
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)
Upgraded
event Upgraded(address indexed implementation)
Withdraw
event Withdraw(address indexed asset, address indexed receiver, uint256 amount)
WithdrawFromAssetManager
event WithdrawFromAssetManager(address indexed asset, address indexed sender, uint256 amount)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
InvalidParameter
error InvalidParameter(string description)
ManagedAssetsBase__ChangeTooLarge
error ManagedAssetsBase__ChangeTooLarge(uint256 currentAssets, uint256 newAssets, uint256 maxChangeAmount)
ManagedAssetsBase__UpdateTooFrequent
error ManagedAssetsBase__UpdateTooFrequent(uint32 timeSinceLastUpdate, uint32 minInterval)
NotInitializing
error NotInitializing()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
ZeroAmount
error ZeroAmount()
creation bytecode
0x610140604052602160e081815261002e916124c96101003980516020918201205f19015f9081522060ff191690565b6080523060a05260408051808201909152601f81527f6d69746f7369732e73746f726167652e45787465726e616c4d616e61676572006020909101527fcbc267dc48d34b61e6e7f69e7549ad4f627fa9939430e719ec8478e5ce7defc75f527f2072dcea1400eaa9ef8120013915547f688a8f162b0a3eb397958bfbca100f0060c0523480156100bc575f5ffd5b506100c56100ca565b61017c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561011a5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101795780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805160a05160c0516122a56102245f395f818161071a015281816108df01528181610aeb01528181610c8f01528181610de401528181610eca015261103401525f818161143a0152818161146301526115a301525f8181610342015281816103b0015281816105ca0152818161064e015281816109a701528181610a5a01528181610b7401528181610d7801528181610e070152818161101101526116d601526122a55ff3fe6080604052600436106101c4575f3560e01c80639010d07c116100f2578063ad7a672f11610092578063d547741f11610062578063d547741f14610621578063f4a0877f14610640578063f5b541a614610673578063fb082568146106a6575f5ffd5b8063ad7a672f14610587578063b6b55f251461059b578063c50647b4146105ba578063ca15c87314610602575f5ffd5b8063a217fddf116100cd578063a217fddf146104d8578063a3246ad3146104eb578063a4b32de814610517578063ad3cb1cc1461054a575f5ffd5b80639010d07c1461044a57806391d148541461046957806392dbfc19146104b9575f5ffd5b806338d52e0f11610168578063538933ce11610138578063538933ce146103835780635df62532146103a25780635fd3a5d9146103f857806367db90c214610417575f5ffd5b806338d52e0f146102e15780634f1ef2861461030d57806352d1902d14610320578063532b805514610334575f5ffd5b8063209f663f116101a3578063209f663f1461023c578063248a9ca31461025b5780632f2ff15d146102a357806336568abe146102c2575f5ffd5b8062f714ce146101c857806301ffc9a7146101e957806304666e2a1461021d575b5f5ffd5b3480156101d3575f5ffd5b506101e76101e2366004611eb6565b6106c5565b005b3480156101f4575f5ffd5b50610208610203366004611ee4565b610860565b60405190151581526020015b60405180910390f35b348015610228575f5ffd5b506101e7610237366004611f0b565b61088a565b348015610247575f5ffd5b506101e7610256366004611f0b565b610a4d565b348015610266575f5ffd5b50610295610275366004611f0b565b5f9081525f5160206122305f395f51905f52602052604090206001015490565b604051908152602001610214565b3480156102ae575f5ffd5b506101e76102bd366004611eb6565b610a7f565b3480156102cd575f5ffd5b506101e76102dc366004611eb6565b610ab5565b3480156102ec575f5ffd5b506102f5610ae8565b6040516001600160a01b039091168152602001610214565b6101e761031b366004611f36565b610b1a565b34801561032b575f5ffd5b50610295610b39565b34801561033f575f5ffd5b507f000000000000000000000000000000000000000000000000000000000000000060010154600160501b900461ffff1660405161ffff9091168152602001610214565b34801561038e575f5ffd5b506101e761039d366004612014565b610b67565b3480156103ad575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000600101546601000000000000900463ffffffff1660405163ffffffff9091168152602001610214565b348015610403575f5ffd5b506101e761041236600461203e565b610b99565b348015610422575f5ffd5b506102957f0744af9828f5bfd2e0f842fd62674fe7c160a394d457c33e1a56eeae3a44a9ef81565b348015610455575f5ffd5b506102f5610464366004612093565b610d2b565b348015610474575f5ffd5b50610208610483366004611eb6565b5f9182525f5160206122305f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156104c4575f5ffd5b506101e76104d33660046120b3565b610d6b565b3480156104e3575f5ffd5b506102955f81565b3480156104f6575f5ffd5b5061050a610505366004611f0b565b610d9d565b60405161021491906120cc565b348015610522575f5ffd5b506102957fb1fadd3142ab2ad7f1337ea4d97112bcc8337fc11ce5b20cb04ad038adf9981981565b348015610555575f5ffd5b5061057a604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516102149190612117565b348015610592575f5ffd5b50610295610de0565b3480156105a6575f5ffd5b506101e76105b5366004611f0b565b610ea0565b3480156105c5575f5ffd5b5060017f0000000000000000000000000000000000000000000000000000000000000000015460405165ffffffffffff9091168152602001610214565b34801561060d575f5ffd5b5061029561061c366004611f0b565b610f56565b34801561062c575f5ffd5b506101e761063b366004611eb6565b610f8d565b34801561064b575f5ffd5b507f000000000000000000000000000000000000000000000000000000000000000054610295565b34801561067e575f5ffd5b506102957f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b3480156106b1575f5ffd5b506101e76106c0366004611f0b565b610fbd565b7f0744af9828f5bfd2e0f842fd62674fe7c160a394d457c33e1a56eeae3a44a9ef6106ef816110d8565b6106f76110e2565b5f831161071757604051631f2a200560e01b815260040160405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000546040516370a0823160e01b81523060048201526001600160a01b039091169150849082906370a0823190602401602060405180830381865afa158015610782573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a6919061214c565b10156107e3576040516305519d6f60e51b8152602060048201526006602482015265185b5bdd5b9d60d21b60448201526064015b60405180910390fd5b6107f76001600160a01b0382168486611119565b826001600160a01b0316816001600160a01b03167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb8660405161083c91815260200190565b60405180910390a35061085b60015f5160206122505f395f51905f5255565b505050565b5f6001600160e01b03198216635a05180f60e01b14806108845750610884826111a0565b92915050565b6108926110e2565b7fb1fadd3142ab2ad7f1337ea4d97112bcc8337fc11ce5b20cb04ad038adf998196108bc816110d8565b5f82116108dc57604051631f2a200560e01b815260040160405180910390fd5b5f7f000000000000000000000000000000000000000000000000000000000000000080546040516370a0823160e01b815230600482015291925084916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610948573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096c919061214c565b10156109a4576040516305519d6f60e51b8152602060048201526006602482015265185b5bdd5b9d60d21b60448201526064016107da565b827f000000000000000000000000000000000000000000000000000000000000000080545f906109d5908490612177565b909155505080546109f0906001600160a01b03163385611119565b805460408051858152905133926001600160a01b0316917f1ce3f57db057dd520c4c0987675dbc840f2110895a8a3c01d543ed35416c7efd919081900360200190a35050610a4a60015f5160206122505f395f51905f5255565b50565b610a556111d4565b610a4a7f0000000000000000000000000000000000000000000000000000000000000000826111fe565b5f8281525f5160206122305f395f51905f526020526040902060010154610aa5816110d8565b610aaf838361138e565b50505050565b6001600160a01b0381163314610ade5760405163334bd91960e11b815260040160405180910390fd5b61085b82826113e3565b5f7f00000000000000000000000000000000000000000000000000000000000000005b546001600160a01b0316919050565b610b2261142f565b610b2b826114bf565b610b3582826114c9565b5050565b5f610b42611598565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b6f6115e1565b610a4a7f0000000000000000000000000000000000000000000000000000000000000000826115eb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f81158015610be35750825b90505f8267ffffffffffffffff166001148015610bff5750303b155b905081158015610c0d575080155b15610c2b5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c5f57845468ff00000000000000001916680100000000000000001785555b610c676116b4565b610c6f6116bc565b610c776116b4565b610c8187876116cc565b610c8b5f8a61138e565b505f7f0000000000000000000000000000000000000000000000000000000000000000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038b16179055508315610d2057845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b5f8281527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000602081905260408220610d639084611709565b949350505050565b610d736115e1565b610a4a7f000000000000000000000000000000000000000000000000000000000000000082611714565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e823717059320006020819052604090912060609190610dd9906117c1565b9392505050565b5f807f000000000000000000000000000000000000000000000000000000000000000090507f00000000000000000000000000000000000000000000000000000000000000005481546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610e6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e90919061214c565b610e9a9190612177565b91505090565b610ea86110e2565b5f8111610ec857604051631f2a200560e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000546001600160a01b0316610eff813330856117cd565b60405182815233906001600160a01b038316907f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f629060200160405180910390a350610a4a60015f5160206122505f395f51905f5255565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000602081905260408220610dd990611806565b5f8281525f5160206122305f395f51905f526020526040902060010154610fb3816110d8565b610aaf83836113e3565b7fb1fadd3142ab2ad7f1337ea4d97112bcc8337fc11ce5b20cb04ad038adf99819610fe7816110d8565b610fef6110e2565b5f821161100f57604051631f2a200560e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000080547f00000000000000000000000000000000000000000000000000000000000000009184915f9061106390849061218a565b9091555050805461107f906001600160a01b03163330866117cd565b805460408051858152905133926001600160a01b0316917fdb0b65614774c2cb35ee92b094eed7672c634f5cf51849a9c3814c6b5cc4c2d6919081900360200190a350610b3560015f5160206122505f395f51905f5255565b610a4a813361180f565b5f5160206122505f395f51905f5280546001190161111357604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6040516001600160a01b0383811660248301526044820183905261085b91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061186f565b60015f5160206122505f395f51905f5255565b5f6001600160e01b03198216637965db0b60e01b148061088457506301ffc9a760e01b6001600160e01b0319831614610884565b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929610a4a816110d8565b815460018301545f9065ffffffffffff166112176118db565b611221919061219d565b600185015490915063ffffffff66010000000000009091048116908216101561127e576001840154604051630b31671d60e01b815263ffffffff8381166004830152660100000000000090920490911660248201526044016107da565b5f8211801561129b57506001840154600160501b900461ffff1615155b156113245760018401545f90612710906112c090600160501b900461ffff16856121bb565b6112ca91906121d2565b90505f8385116112e3576112de858561218a565b6112ed565b6112ed848661218a565b9050818111156113215760405163177bdca560e11b81526004810185905260248101869052604481018390526064016107da565b50505b82845561132f6118db565b60018501805465ffffffffffff191665ffffffffffff9290921691909117905560408051838152602081018590527f848f57945e2569d92e09e78765319bcef4500dd07c0b86787efe285f7cde3aba910160405180910390a150505050565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000816113bb85856118ea565b90508015610d63575f8581526020839052604090206113da90856119a3565b50949350505050565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e823717059320008161141085856119b7565b90508015610d63575f8581526020839052604090206113da9085611a48565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061149f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611493611a5c565b6001600160a01b031614155b156114bd5760405163703e46dd60e11b815260040160405180910390fd5b565b5f610b35816110d8565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611523575060408051601f3d908101601f191682019092526115209181019061214c565b60015b61154b57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016107da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461158e57604051632a87526960e21b8152600481018290526024016107da565b61085b8383611a83565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114bd5760405163703e46dd60e11b815260040160405180910390fd5b5f610a4a816110d8565b5f8163ffffffff1611611641576040516305519d6f60e51b815260206004820152601160248201527f6d696e557064617465496e74657276616c00000000000000000000000000000060448201526064016107da565b60018201805463ffffffff838116660100000000000081810269ffffffff0000000000001985161790945560408051949093049091168084526020840191909152917fac473c9d3cd8644858f0d864c56807f7deea46ead908f295df4192a452746d1091015b60405180910390a1505050565b6114bd611ad8565b6116c4611ad8565b6114bd611b26565b6116d4611ad8565b7f00000000000000000000000000000000000000000000000000000000000000006116ff81846115eb565b61085b8183611714565b5f610dd98383611b2e565b6127108161ffff16111561175a576040516305519d6f60e51b815260206004820152600c60248201526b6d61784368616e676542707360a01b60448201526064016107da565b60018201805461ffff838116600160501b8181026bffff000000000000000000001985161790945560408051949093049091168084526020840191909152917ff08dea19c0d109edf37ec468b9fb5d93d29b95e7ec254b9531d5ff732ae7ac5d91016116a7565b60605f610dd983611b54565b6040516001600160a01b038481166024830152838116604483015260648201839052610aaf9186918216906323b872dd90608401611146565b5f610884825490565b5f8281525f5160206122305f395f51905f52602090815260408083206001600160a01b038516845290915290205460ff16610b355760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016107da565b5f5f60205f8451602086015f885af18061188e576040513d5f823e3d81fd5b50505f513d915081156118a55780600114156118b2565b6001600160a01b0384163b155b15610aaf57604051635274afe760e01b81526001600160a01b03851660048201526024016107da565b5f6118e542611bad565b905090565b5f8281525f5160206122305f395f51905f52602081815260408084206001600160a01b038616855290915282205460ff1661199a575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556119503390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610884565b5f915050610884565b5f610dd9836001600160a01b038416611be3565b5f8281525f5160206122305f395f51905f52602081815260408084206001600160a01b038616855290915282205460ff161561199a575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610884565b5f610dd9836001600160a01b038416611c2f565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610b0b565b611a8c82611d09565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115611ad05761085b8282611d8c565b610b35611dfe565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166114bd57604051631afcd79f60e31b815260040160405180910390fd5b61118d611ad8565b5f825f018281548110611b4357611b436121f1565b905f5260205f200154905092915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015611ba157602002820191905f5260205f20905b815481526020019060010190808311611b8d575b50505050509050919050565b5f65ffffffffffff821115611bdf576040516306dfcc6560e41b815260306004820152602481018390526044016107da565b5090565b5f818152600183016020526040812054611c2857508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610884565b505f610884565b5f818152600183016020526040812054801561199a575f611c5160018361218a565b85549091505f90611c649060019061218a565b9050808214611cc3575f865f018281548110611c8257611c826121f1565b905f5260205f200154905080875f018481548110611ca257611ca26121f1565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080611cd457611cd4612205565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610884565b806001600160a01b03163b5f03611d3e57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016107da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051611da89190612219565b5f60405180830381855af49150503d805f8114611de0576040519150601f19603f3d011682016040523d82523d5f602084013e611de5565b606091505b5091509150611df5858383611e1d565b95945050505050565b34156114bd5760405163b398979f60e01b815260040160405180910390fd5b606082611e3257611e2d82611e79565b610dd9565b8151158015611e4957506001600160a01b0384163b155b15611e7257604051639996b31560e01b81526001600160a01b03851660048201526024016107da565b5092915050565b805115611e895780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b6001600160a01b0381168114610a4a575f5ffd5b5f5f60408385031215611ec7575f5ffd5b823591506020830135611ed981611ea2565b809150509250929050565b5f60208284031215611ef4575f5ffd5b81356001600160e01b031981168114610dd9575f5ffd5b5f60208284031215611f1b575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611f47575f5ffd5b8235611f5281611ea2565b9150602083013567ffffffffffffffff811115611f6d575f5ffd5b8301601f81018513611f7d575f5ffd5b803567ffffffffffffffff811115611f9757611f97611f22565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611fc657611fc6611f22565b604052818152828201602001871015611fdd575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b803563ffffffff8116811461200f575f5ffd5b919050565b5f60208284031215612024575f5ffd5b610dd982611ffc565b803561ffff8116811461200f575f5ffd5b5f5f5f5f60808587031215612051575f5ffd5b843561205c81611ea2565b9350602085013561206c81611ea2565b925061207a60408601611ffc565b91506120886060860161202d565b905092959194509250565b5f5f604083850312156120a4575f5ffd5b50508035926020909101359150565b5f602082840312156120c3575f5ffd5b610dd98261202d565b602080825282518282018190525f918401906040840190835b8181101561210c5783516001600160a01b03168352602093840193909201916001016120e5565b509095945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f6020828403121561215c575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561088457610884612163565b8181038181111561088457610884612163565b65ffffffffffff828116828216039081111561088457610884612163565b808202811582820484141761088457610884612163565b5f826121ec57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b5f82518060208501845e5f92019182525091905056fe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a26469706673582212207b906639544c3665f9591e92bdf6cdbbe8f6b567501f1bba72f7b431c74fce5f64736f6c634300081d00336d69746f7369732e73746f726167652e4d616e6167656441737365747342617365