0 txs
1.9k calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
getLockedAmount
viewfunction getLockedAmount(address account_) view returns (uint256 amountLocked_)
MIN_LIQUIDITY
viewfunction MIN_LIQUIDITY() view returns (uint32)
MODULE_KEY
viewfunction MODULE_KEY() view returns (bytes32)
name
viewfunction name() view returns (string)
stableCollateralPerShare
viewfunction stableCollateralPerShare() view returns (uint256 collateralPerShare_)
stableCollateralPerShare
viewfunction stableCollateralPerShare(uint32 maxAge_, bool priceDiffCheck_) view returns (uint256 collateralPerShare_)
stableCollateralTotalAfterSettlement
viewfunction stableCollateralTotalAfterSettlement() view returns (uint256 stableCollateralBalance_)
stableCollateralTotalAfterSettlement
viewfunction stableCollateralTotalAfterSettlement(uint32 maxAge_, bool priceDiffCheck_) view returns (uint256 stableCollateralBalance_)
stableDepositQuote
viewfunction stableDepositQuote(uint256 depositAmount_) view returns (uint256 amountOut_)
stableWithdrawQuote
viewfunction stableWithdrawQuote(uint256 withdrawAmount_) view returns (uint256 amountOut_, uint256 withdrawalFee_)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
vault
viewfunction vault() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
executeDeposit
nonpayablefunction executeDeposit(address account_, uint64 executableAtTime_, tuple announcedDeposit_)
executeWithdraw
nonpayablefunction executeWithdraw(address account_, uint64 executableAtTime_, tuple announcedWithdraw_) returns (uint256 amountOut_, uint256 withdrawFee_)
initialize
nonpayablefunction initialize(address vault_)
lock
nonpayablefunction lock(address account_, uint256 amount_)
setVault
nonpayablefunction setVault(address vault_)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
unlock
nonpayablefunction unlock(address account_, uint256 amount_)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address depositor, uint256 depositAmount, uint256 mintedAmount)
Initialized
event Initialized(uint64 version)
Locked
event Locked(address indexed account, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unlocked
event Unlocked(address indexed account, uint256 amount)
Withdraw
event Withdraw(address withdrawer, uint256 withdrawAmount, uint256 burnedAmount, uint256 withdrawFee)
errors
AmountTooSmall
error AmountTooSmall(uint256 amount, uint256 minAmount)
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
HighSlippage
error HighSlippage(uint256 supplied, uint256 accepted)
InvalidInitialization
error InvalidInitialization()
MaxSkewReached
error MaxSkewReached(uint256 skewFraction)
ModuleKeyEmpty
error ModuleKeyEmpty()
NotInitializing
error NotInitializing()
OnlyAuthorizedModule
error OnlyAuthorizedModule(address msgSender)
OnlyOwner
error OnlyOwner(address msgSender)
Paused
error Paused(bytes32 moduleKey)
PriceImpactDuringFullWithdraw
error PriceImpactDuringFullWithdraw()
PriceImpactDuringWithdraw
error PriceImpactDuringWithdraw()
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
ZeroAddress
error ZeroAddress(string variableName)
creation bytecode
0x6080604052348015600f57600080fd5b506016601a565b60ca565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560695760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b612331806100d96000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806370a08231116100ee578063c110587511610097578063c4d66de811610071578063c4d66de81461039c578063d24545a7146103af578063dd62ed3e146103c2578063fbfa77cf1461041a57600080fd5b8063c11058751461034e578063c149e6ae14610376578063c45383e61461038957600080fd5b806395d89b41116100c857806395d89b4114610320578063a9059cbb14610328578063ac75491b1461033b57600080fd5b806370a08231146102ae5780637eee288d146102e4578063929ec537146102f757600080fd5b8063313ce5671161015057806367f77e541161012a57806367f77e541461028b5780636817031b146102935780636cbf48a6146102a657600080fd5b8063313ce56714610260578063367585501461026f5780633d23b9ca1461028257600080fd5b806321b77d631161018157806321b77d631461021a57806323b872dd14610238578063282d3fdf1461024b57600080fd5b806306fdde03146101a8578063095ea7b3146101c657806318160ddd146101e9575b600080fd5b6101b0610445565b6040516101bd9190611cb3565b60405180910390f35b6101d96101d4366004611d19565b610508565b60405190151581526020016101bd565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b6040519081526020016101bd565b61022361271081565b60405163ffffffff90911681526020016101bd565b6101d9610246366004611d45565b610522565b61025e610259366004611d19565b610546565b005b604051601281526020016101bd565b61020c61027d366004611d86565b6105e9565b61020c60005481565b61020c610613565b61025e6102a1366004611d9f565b610629565b61020c61072d565b61020c6102bc366004611d9f565b6001600160a01b031660009081526000805160206122dc833981519152602052604090205490565b61025e6102f2366004611d19565b61073e565b61020c610305366004611d9f565b6001600160a01b031660009081526032602052604090205490565b6101b06107d8565b6101d9610336366004611d19565b610817565b61020c610349366004611dd1565b610825565b61036161035c366004611e29565b610a32565b604080519283526020830191909152016101bd565b61025e610384366004611e7c565b610e73565b61020c610397366004611dd1565b611087565b61025e6103aa366004611d9f565b611236565b6103616103bd366004611d86565b6113b2565b61020c6103d0366004611ec1565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b60015461042d906001600160a01b031681565b6040516001600160a01b0390911681526020016101bd565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380546060916000805160206122dc8339815191529161048490611eef565b80601f01602080910402602001604051908101604052809291908181526020018280546104b090611eef565b80156104fd5780601f106104d2576101008083540402835291602001916104fd565b820191906000526020600020905b8154815290600101906020018083116104e057829003601f168201915b505050505091505090565b600033610516818585611490565b60019150505b92915050565b6000336105308582856114a2565b61053b85858561153f565b506001949350505050565b60015460405163399dd46360e01b81523360048201526001600160a01b039091169063399dd46390602401602060405180830381865afa15801561058e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b29190611f29565b15156000036105db57604051633b9e98fd60e11b81523360048201526024015b60405180910390fd5b6105e5828261159e565b5050565b60006105f3610613565b6105ff6012600a612043565b6106099084612052565b61051c9190612069565b600061062463ffffffff6000610825565b905090565b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa158015610672573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610696919061208b565b6001600160a01b0316146106bf57604051630543601560e11b81523360048201526024016105d2565b6001600160a01b0381166106fe5760405163eac0d38960e01b81526020600482015260056024820152641d985d5b1d60da1b60448201526064016105d2565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061062463ffffffff6000611087565b60015460405163399dd46360e01b81523360048201526001600160a01b039091169063399dd46390602401602060405180830381865afa158015610786573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107aa9190611f29565b15156000036107ce57604051633b9e98fd60e11b81523360048201526024016105d2565b6105e582826116bf565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060916000805160206122dc8339815191529161048490611eef565b60003361051681858561153f565b6000806108507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b9050801561088f5760006108648585611087565b9050816108736012600a612043565b61087d9083612052565b6108879190612069565b925050610a2b565b600154604051630aa10e9f60e41b81526b6f7261636c654d6f64756c6560a01b60048201526000916001600160a01b03169063aa10e9f090602401602060405180830381865afa1580156108e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090b919061208b565b6001600160a01b031663529b128c600160009054906101000a90046001600160a01b03166001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561096c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610990919061208b565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015263ffffffff8816602482015286151560448201526064016040805180830381865afa1580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b91906120a8565b509050610a27816ec097ce7bc90715b34b9f1000000000612069565b9250505b5092915050565b60015460405163399dd46360e01b815233600482015260009182916001600160a01b039091169063399dd46390602401602060405180830381865afa158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa39190611f29565b1515600003610ac757604051633b9e98fd60e11b81523360048201526024016105d2565b82356000610ad4866117bf565b90506000610ae3826001610825565b9050610af16012600a612043565b610afb8285612052565b610b059190612069565b9450610b1188846116bf565b610b1b88846117dd565b6001546001600160a01b03166337f3e0d2610b35876120cc565b6040518263ffffffff1660e01b8152600401610b5391815260200190565b600060405180830381600087803b158015610b6d57600080fd5b505af1158015610b81573d6000803e3d6000fd5b505050506000610b92836001610825565b90506000610bbe7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b1115610d7e57600082821115610bdf57610bd883836120e8565b9050610bec565b610be982846120e8565b90505b600083610c0183670de0b6b3a7640000612052565b610c0b9190612069565b905064e8d4a51000811115610c3357604051634a03284360e01b815260040160405180910390fd5b5050600154604051631f87a7e760e31b8152600481018890526001600160a01b039091169063fc3d3f3890602401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca291906120fb565b600154604051630f0245ad60e01b8152600481018390529196506001600160a01b031690630ce8fe61906000908390630f0245ad90602401602060405180830381865afa158015610cf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1b91906120fb565b610d2590896120e8565b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038186803b158015610d6157600080fd5b505afa158015610d75573d6000803e3d6000fd5b50505050610e16565b60015460408051630e62dbbb60e11b815290516000926001600160a01b031691631cc5b7769160048083019260609291908290030181865afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec919061212a565b6040015190508015610e14576040516348c9e5b760e11b8152600481018290526024016105d2565b505b604080516001600160a01b038b16815260208101889052908101859052606081018690527f02f25270a4d87bea75db541cdfe559334a275b4a233520ed6c0a2429667cca949060800160405180910390a150505050935093915050565b60015460405163399dd46360e01b81523360048201526001600160a01b039091169063399dd46390602401602060405180830381865afa158015610ebb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edf9190611f29565b1515600003610f0357604051633b9e98fd60e11b81523360048201526024016105d2565b80356000610f10846117bf565b90506000610f1f826001610825565b610f2b6012600a612043565b610f359085612052565b610f3f9190612069565b90508360200135811015610f735760405163437879d160e01b815260048101829052602085013560248201526044016105d2565b610f7d8682611813565b600154604051631bf9f06960e11b8152600481018590526001600160a01b03909116906337f3e0d290602401600060405180830381600087803b158015610fc357600080fd5b505af1158015610fd7573d6000803e3d6000fd5b5050505060006110057f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b905061271081101561103457604051625a5b2760e31b81526004810182905261271060248201526044016105d2565b604080516001600160a01b0389168152602081018690529081018390527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060600160405180910390a150505050505050565b600154604051630aa10e9f60e41b81527f636f6e74726f6c6c65724d6f64756c6500000000000000000000000000000000600482015260009182916001600160a01b039091169063aa10e9f090602401602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611118919061208b565b604051633f93cc9760e21b815263ffffffff8616600482015284151560248201526001600160a01b03919091169063fe4f325c90604401602060405180830381865afa15801561116c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119091906120fb565b9050600081600160009054906101000a90046001600160a01b03166001600160a01b03166385820ba36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c91906120fb565b6112169190612185565b9050600081121561122a576000925061122e565b8092505b505092915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112815750825b905060008267ffffffffffffffff16600114801561129e5750303b155b9050811580156112ac575080155b156112ca5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156112fe57845468ff00000000000000001916680100000000000000001785555b6113176b737461626c654d6f64756c6560a01b87611849565b61135f6040518060400160405280600a815260200169466c6174204d6f6e657960b01b815250604051806040016040528060048152602001631553925560e21b8152506118da565b83156113aa57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6000806113c16012600a612043565b6113c9610613565b6113d39085612052565b6113dd9190612069565b9150670de0b6b3a7640000600160009054906101000a90046001600160a01b03166001600160a01b0316631d109d396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561143b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145f91906121a5565b6114739067ffffffffffffffff1684612052565b61147d9190612069565b905061148981836120e8565b9150915091565b61149d83838360016118ec565b505050565b6001600160a01b0383811660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0160209081526040808320938616835292905220546000198114611539578181101561152a57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016105d2565b611539848484840360006118ec565b50505050565b6001600160a01b03831661156957604051634b637e8f60e11b8152600060048201526024016105d2565b6001600160a01b0382166115935760405163ec442f0560e01b8152600060048201526024016105d2565b61149d8383836119d4565b6001600160a01b03821660009081526000805160206122dc83398151915260209081526040808320546032909252909120546115db9083906121c2565b111561164f5760405162461bcd60e51b815260206004820152603760248201527f45524332304c6f636b61626c655570677261646561626c653a206c6f636b656460448201527f20616d6f756e7420657863656564732062616c616e636500000000000000000060648201526084016105d2565b6001600160a01b038216600090815260326020526040812080548392906116779084906121c2565b90915550506040518181526001600160a01b038316907f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd60008906020015b60405180910390a25050565b6001600160a01b0382166000908152603260205260409020548111156117575760405162461bcd60e51b815260206004820152604160248201527f45524332304c6f636b61626c655570677261646561626c653a2072657175657360448201527f74656420756e6c6f636b2065786365656473206c6f636b65642062616c616e636064820152606560f81b608482015260a4016105d2565b6001600160a01b0382166000908152603260205260408120805483929061177f9084906120e8565b90915550506040518181526001600160a01b038316907f0f0bc5b519ddefdd8e5f9e6423433aa2b869738de2ae34d58ebc796fc749fa0d906020016116b3565b600061051c6117d867ffffffffffffffff8416426120e8565b611a9f565b6001600160a01b03821661180757604051634b637e8f60e11b8152600060048201526024016105d2565b6105e5826000836119d4565b6001600160a01b03821661183d5760405163ec442f0560e01b8152600060048201526024016105d2565b6105e5600083836119d4565b816118675760405163673791e360e11b815260040160405180910390fd5b6001600160a01b0381166118a65760405163eac0d38960e01b81526020600482015260056024820152641d985d5b1d60da1b60448201526064016105d2565b6000919091556001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055565b6118e2611ad4565b6105e58282611b24565b6000805160206122dc8339815191526001600160a01b0385166119255760405163e602df0560e01b8152600060048201526024016105d2565b6001600160a01b03841661194f57604051634a1406b160e11b8152600060048201526024016105d2565b6001600160a01b038086166000908152600183016020908152604080832093881683529290522083905581156119cd57836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040516119c491815260200190565b60405180910390a35b5050505050565b6001600160a01b03831615611a94576001600160a01b0383166000908152603260209081526040808320546000805160206122dc833981519152909252909120548291611a20916120e8565b1015611a945760405162461bcd60e51b815260206004820152603760248201527f45524332304c6f636b61626c655570677261646561626c653a20696e7375666660448201527f696369656e7420756e6c6f636b65642062616c616e636500000000000000000060648201526084016105d2565b61149d838383611b75565b600063ffffffff821115611ad0576040516306dfcc6560e41b815260206004820152602481018390526044016105d2565b5090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16611b2257604051631afcd79f60e31b815260040160405180910390fd5b565b611b2c611ad4565b6000805160206122dc8339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611b66848261221c565b5060048101611539838261221c565b6000805160206122dc8339815191526001600160a01b038416611bb15781816002016000828254611ba691906121c2565b90915550611c239050565b6001600160a01b03841660009081526020829052604090205482811015611c045760405163391434e360e21b81526001600160a01b038616600482015260248101829052604481018490526064016105d2565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316611c41576002810180548390039055611c60565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ca591815260200190565b60405180910390a350505050565b602081526000825180602084015260005b81811015611ce15760208186018101516040868401015201611cc4565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611d1657600080fd5b50565b60008060408385031215611d2c57600080fd5b8235611d3781611d01565b946020939093013593505050565b600080600060608486031215611d5a57600080fd5b8335611d6581611d01565b92506020840135611d7581611d01565b929592945050506040919091013590565b600060208284031215611d9857600080fd5b5035919050565b600060208284031215611db157600080fd5b8135611dbc81611d01565b9392505050565b8015158114611d1657600080fd5b60008060408385031215611de457600080fd5b823563ffffffff81168114611df857600080fd5b91506020830135611e0881611dc3565b809150509250929050565b67ffffffffffffffff81168114611d1657600080fd5b60008060008385036080811215611e3f57600080fd5b8435611e4a81611d01565b93506020850135611e5a81611e13565b92506040603f1982011215611e6e57600080fd5b506040840190509250925092565b600080600083850360a0811215611e9257600080fd5b8435611e9d81611d01565b93506020850135611ead81611e13565b92506060603f1982011215611e6e57600080fd5b60008060408385031215611ed457600080fd5b8235611edf81611d01565b91506020830135611e0881611d01565b600181811c90821680611f0357607f821691505b602082108103611f2357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611f3b57600080fd5b8151611dbc81611dc3565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115611f9757808504811115611f7b57611f7b611f46565b6001841615611f8957908102905b60019390931c928002611f60565b935093915050565b600082611fae5750600161051c565b81611fbb5750600061051c565b8160018114611fd15760028114611fdb57611ff7565b600191505061051c565b60ff841115611fec57611fec611f46565b50506001821b61051c565b5060208310610133831016604e8410600b841016171561201a575081810a61051c565b6120276000198484611f5c565b806000190482111561203b5761203b611f46565b029392505050565b6000611dbc60ff841683611f9f565b808202811582820484141761051c5761051c611f46565b60008261208657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561209d57600080fd5b8151611dbc81611d01565b600080604083850312156120bb57600080fd5b505080516020909101519092909150565b6000600160ff1b82016120e1576120e1611f46565b5060000390565b8181038181111561051c5761051c611f46565b60006020828403121561210d57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b6000606082840312801561213d57600080fd5b506040516060810167ffffffffffffffff8111828210171561216157612161612114565b60409081528351825260208085015190830152928301519281019290925250919050565b8181036000831280158383131683831282161715610a2b57610a2b611f46565b6000602082840312156121b757600080fd5b8151611dbc81611e13565b8082018082111561051c5761051c611f46565b601f82111561149d57806000526020600020601f840160051c810160208510156121fc5750805b601f840160051c820191505b818110156119cd5760008155600101612208565b815167ffffffffffffffff81111561223657612236612114565b61224a816122448454611eef565b846121d5565b6020601f82116001811461227e57600083156122665750848201515b600019600385901b1c1916600184901b1784556119cd565b600084815260208120601f198516915b828110156122ae578785015182556020948501946001909201910161228e565b50848210156122cc5786840151600019600387901b60f8161c191681555b50505050600190811b0190555056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a26469706673582212207f89a4bf1c1f743d9d7d9779176fe44e290efc0a86b0adbb8feaa41b10e7082964736f6c634300081c0033