16 txs
0 calls
constructor
constructor(address _npm, address _aeroToken, address _vault, address _universalRouter, address _zeroxAllowanceHolder, address _feeWithdrawer)
functions
aeroToken
viewfunction aeroToken() view returns (address)
factory
viewfunction factory() view returns (address)
feeWithdrawer
viewfunction feeWithdrawer() view returns (address)
isVaultPosition
viewfunction isVaultPosition(uint256) view returns (bool)
MAX_REWARD_X64
viewfunction MAX_REWARD_X64() view returns (uint64)
nonfungiblePositionManager
viewfunction nonfungiblePositionManager() view returns (address)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
poolToGauge
viewfunction poolToGauge(address) view returns (address)
positionOwners
viewfunction positionOwners(uint256) view returns (address)
tokenIdToGauge
viewfunction tokenIdToGauge(uint256) view returns (address)
totalRewardX64
viewfunction totalRewardX64() view returns (uint64)
transformApprovals
viewfunction transformApprovals(address, uint256, address) view returns (bool)
transformedTokenId
viewfunction transformedTokenId() view returns (uint256)
transformerAllowList
viewfunction transformerAllowList(address) view returns (bool)
unclaimedRewards
viewfunction unclaimedRewards(address) view returns (uint256)
universalRouter
viewfunction universalRouter() view returns (address)
v3Utils
viewfunction v3Utils() view returns (address)
vault
viewfunction vault() view returns (address)
weth
viewfunction weth() view returns (address)
zeroxAllowanceHolder
viewfunction zeroxAllowanceHolder() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
approveTransform
nonpayablefunction approveTransform(uint256 tokenId, address transformer, bool isActive)
claimAccumulatedRewards
nonpayablefunction claimAccumulatedRewards(address recipient) returns (uint256)
claimRewards
nonpayablefunction claimRewards(uint256 tokenId)
compoundRewards
nonpayablefunction compoundRewards(uint256 tokenId, bytes swapData0, bytes swapData1, uint256 minAmount0, uint256 minAmount1, uint256 aeroSplitBps, uint256 deadline)
executeV3UtilsWithOptionalCompound
nonpayablefunction executeV3UtilsWithOptionalCompound(uint256 tokenId, tuple instructions, bool shouldCompound, bytes aeroSwapData0, bytes aeroSwapData1, uint256 minAeroAmount0, uint256 minAeroAmount1, uint256 aeroSplitBps) returns (uint256 newTokenId)
migrateToVault
nonpayablefunction migrateToVault(uint256 tokenId, address recipient)
onERC721Received
nonpayablefunction onERC721Received(address, address from, uint256 tokenId, bytes) returns (bytes4)
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeWithdrawer
nonpayablefunction setFeeWithdrawer(address _feeWithdrawer)
setGauge
nonpayablefunction setGauge(address pool, address gauge)
setReward
nonpayablefunction setReward(uint64 _totalRewardX64)
setTransformer
nonpayablefunction setTransformer(address transformer, bool active)
setV3Utils
nonpayablefunction setV3Utils(address _v3Utils)
stakePosition
nonpayablefunction stakePosition(uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transform
nonpayablefunction transform(uint256 tokenId, address transformer, bytes data) returns (uint256 newTokenId)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
unstakePosition
nonpayablefunction unstakePosition(uint256 tokenId)
withdrawFees
nonpayablefunction withdrawFees(address[] tokens, address to)
events
ApprovedTransform
event ApprovedTransform(uint256 indexed tokenId, address indexed owner, address indexed transformer, bool isActive)
FeesWithdrawn
event FeesWithdrawn(address token, address to, uint256 amount)
FeeWithdrawerUpdated
event FeeWithdrawerUpdated(address withdrawer)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
PositionMigratedToVault
event PositionMigratedToVault(uint256 indexed tokenId, address indexed owner)
PositionStaked
event PositionStaked(uint256 indexed tokenId, address indexed owner)
PositionTransformed
event PositionTransformed(uint256 indexed oldTokenId, uint256 indexed newTokenId, address indexed owner)
PositionUnstaked
event PositionUnstaked(uint256 indexed tokenId, address indexed owner)
RewardsAccumulated
event RewardsAccumulated(address indexed owner, uint256 amount)
RewardsCompounded
event RewardsCompounded(uint256 indexed tokenId, uint256 aeroAmount, uint256 amount0, uint256 amount1)
RewardUpdated
event RewardUpdated(address account, uint64 totalRewardX64)
Swap
event Swap(address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOut)
TransformerSet
event TransformerSet(address indexed transformer, bool active)
V3UtilsSet
event V3UtilsSet(address indexed v3Utils)
errors
AmountError
error AmountError()
ChainlinkPriceError
error ChainlinkPriceError()
CollateralFactorExceedsMax
error CollateralFactorExceedsMax()
CollateralFail
error CollateralFail()
CollateralValueLimit
error CollateralValueLimit()
CollectError
error CollectError()
DailyDebtIncreaseLimit
error DailyDebtIncreaseLimit()
DailyLendIncreaseLimit
error DailyLendIncreaseLimit()
EtherSendFailed
error EtherSendFailed()
ExceedsMaxReward
error ExceedsMaxReward()
GaugeManagerNotSet
error GaugeManagerNotSet()
GlobalDebtLimit
error GlobalDebtLimit()
GlobalLendLimit
error GlobalLendLimit()
InsufficientLiquidity
error InsufficientLiquidity()
InvalidConfig
error InvalidConfig()
InvalidPool
error InvalidPool()
InvalidToken
error InvalidToken()
MinLoanSize
error MinLoanSize()
MissingSwapData
error MissingSwapData()
NeedsRepay
error NeedsRepay()
NoEtherToken
error NoEtherToken()
NoLiquidity
error NoLiquidity()
NoSharesRepayed
error NoSharesRepayed()
NotConfigured
error NotConfigured()
NotDepositor
error NotDepositor()
NotEnoughReward
error NotEnoughReward()
NotLiquidatable
error NotLiquidatable()
NotReady
error NotReady()
NotSupportedFeeTier
error NotSupportedFeeTier()
NotSupportedWhatToDo
error NotSupportedWhatToDo()
NotWETH
error NotWETH()
PriceDifferenceExceeded
error PriceDifferenceExceeded()
Reentrancy
error Reentrancy()
SameRange
error SameRange()
SameToken
error SameToken()
SelfSend
error SelfSend()
SequencerDown
error SequencerDown()
SequencerGracePeriodNotOver
error SequencerGracePeriodNotOver()
SequencerUptimeFeedInvalid
error SequencerUptimeFeedInvalid()
SlippageError
error SlippageError()
SwapAmountTooLarge
error SwapAmountTooLarge()
SwapFailed
error SwapFailed()
TooMuchEtherSent
error TooMuchEtherSent()
TransferError
error TransferError()
TransformFailed
error TransformFailed()
TransformNotAllowed
error TransformNotAllowed()
TWAPCheckFailed
error TWAPCheckFailed()
Unauthorized
error Unauthorized()
WrongContract
error WrongContract()
ZeroAddress
error ZeroAddress()
creation bytecode
0x610160604081815234620003215760c08262004e55803803809162000025828562000377565b833981010312620003215781516001600160a01b039182821691829003620003215760208085015193808516850362000321578286015193818516850362000321576200007560608801620003af565b6200009160a06200008960808b01620003af565b9901620003af565b9160018060a01b03199485600154166001555f5433878216175f55875190863391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016002556312a9293f60e21b81528181600481865afa9081156200032d579086915f9162000337575b5016608052865163c45a015560e01b81528181600481865afa9182156200032d575f92620002eb575b505060a05260c05260e05261010096875260038054600160a01b600160e01b031916905561012095865261014094855260048054909316911617905551614a909390929084620003c5853960805184612a11015260a05184818161030b015281816108cd0152610c7e015260c0518481816107c901528181610cf00152818161142f0152818161147a015281816116ae015281816116ff01528181611f9f015281816127520152818161285201528181612c2e01528181612e310152818161382501528181613c0801528181613cd101528181613d0c0152613db4015260e051848181612a560152818161420c015281816143a0015281816143d5015261446b015251838181610c3901526146ae01525182818161075901528181610dc50152818161131d015281816113a70152818161185101528181611ca701528181611d31015281816122f0015281816123300152818161267301528181612d3f015281816130ae015281816136fc0152818161378301528181613f130152613f92015251818181610223015281816108050152818161198301528181612494015281816127ac015281816129d401528181612e8d0152818161321001526139a20152f35b90809250813d831162000325575b62000305818362000377565b8101031262000321576200031990620003af565b5f806200012a565b5f80fd5b503d620002f9565b88513d5f823e3d90fd5b809250838092503d83116200036f575b62000353818362000377565b810103126200032157620003688691620003af565b5f62000101565b503d62000347565b601f909101601f19168101906001600160401b038211908210176200039b57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203620003215756fe60806040526004361015610011575f80fd5b5f803560e01c8062fc59c0146132375780630962ef79146130395780630b0822e314612cc1578063150b7a0214612bdb578063237e6d6414612aae57806332b4fa6b14612a8557806335a9e4df14612a405780633fc8cef3146129fb5780634a235eb6146125e85780635ced8385146125a957806362474ea114612576578063625138ef14612514578063715018a6146124c257806378cc764414611bb257806379ba509714611b075780638375cf4214611ae4578063860d3ebe14611a6b5780638a030fbe14611a035780638bcd578e14610fd45780638da5cb5b14610fad578063936b8dd014610f0957806393c1e95d14610ee0578063949813b814610ea75780639995dfd814610e285780639d39994014610d79578063aa3f22b814610d3d578063ae41abab14610d1f578063b44a272214610cda578063b526b8e614610cad578063c45a015514610c68578063d2a5e66d14610c23578063d654b2ee14610bf0578063d8ad9cf614610788578063d956ba9f14610743578063e30c39781461071a578063f069143d1461064a578063f2fde38b146105dd578063f7e7aab01461040d578063fa461e3314610252578063fbfa77cf1461020d5763fe210660146101dc575f80fd5b3461020a57602036600319011261020a5760ff60406020926004358152600884522054166040519015158152f35b80fd5b503461020a578060031936011261020a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461020a57606036600319011261020a576004356024356044356001600160401b038111610409576102899036906004016132e3565b92909184821393848015610400575b156103fc5783606091810103126103f8576102b2836132cf565b6103066020918262ffffff6102d460406102cd848b016132cf565b9901613438565b6040516328af8d0b60e01b81526001600160a01b039485169994959094859384931660020b9087168b60048501613a9a565b0381857f0000000000000000000000000000000000000000000000000000000000000000165afa9081156103ed5788916103b4575b501690811561037a575033036103695761035e93156103615750905b3390613ba2565b80f35b905090610357565b6040516282b42960e81b8152600490fd5b6064906040519062461bcd60e51b825260048201526013602482015272141bdbdb08191bd95cc81b9bdd08195e1a5cdd606a1b6044820152fd5b90508281813d83116103e6575b6103cb8183613392565b810103126103e2576103dc906135a0565b5f61033b565b8780fd5b503d6103c1565b6040513d8a823e3d90fd5b8480fd5b8580fd5b50858213610298565b8380fd5b503461020a57604036600319011261020a576001600160401b036004358181116105d957366023820112156105d95780600401359182116105d9576024916024820191602436918360051b010111610409576104676132b9565b91610470613b4e565b6004546001600160a01b03908116330361059f57855b8381106104965786600160025580f35b816104aa6104a5838787613abf565b613ae3565b169060405180926370a0823160e01b8252306004830152818960209384935afa90811561059457849188918b9161055d575b5060019450878785836104f6575b50505050505001610486565b7f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa89561052b6104a58793610531968896613abf565b16613ba2565b61054f6105426104a5868b8b613abf565b91604051938493846135b4565b0390a182865f8787856104ea565b9250505082813d831161058d575b6105758183613392565b81010312610589578286600193515f6104dc565b5f80fd5b503d61056b565b6040513d8b823e3d90fd5b60405162461bcd60e51b81526020600482015260126024820152712737ba103332b2903bb4ba34323930bbb2b960711b6044820152606490fd5b8280fd5b503461020a57602036600319011261020a576105f76132a3565b6105ff613af7565b600180546001600160a01b0319166001600160a01b0392831690811790915582549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b503461020a57602036600319011261020a576004356001600160401b038116908181036105d957610679613af7565b670ccccccccccccccc82116106e65760038054600160a01b600160e01b03191660a09290921b600160a01b600160e01b03169190911790556040805133815260208101929092527f4f8e1611b968330cd0bb35a8eb118e101c3150d89857953901527628483bc9ed91a180f35b60405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b6044820152606490fd5b503461020a578060031936011261020a576001546040516001600160a01b039091168152602090f35b503461020a578060031936011261020a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461020a57602080600319360112610a35576004356107a6613b4e565b6040516331a9108f60e11b808252600482018390526001600160a01b03939160247f0000000000000000000000000000000000000000000000000000000000000000861684838381845afa9283156103ed578893610bb9575b508785887f0000000000000000000000000000000000000000000000000000000000000000168481331497885f14610bad57604051948593849283528c60048401525af180156105945788918a91610b71575b505b16968715610b3d57848515610b32575b61086d90613465565b8860405163133f757160e31b815288600482015261018080828781885afa908115610a4d57899284918593610aed575b5050906108c862ffffff9260405195869485946328af8d0b60e01b86521660020b9160048501613a9a565b0381857f0000000000000000000000000000000000000000000000000000000000000000165afa8015610ae25782918b91610aa6575b5016895260058652604089205416928315610a775790889291813b15610409578388610941926040519384928392632142170760e11b84523090600485016135b4565b038183865af1908115610a6c578491610a58575b5050803b156105d95782604051809263095ea7b360e01b825281838161097f8d8b600484016135d6565b03925af1908115610a4d578391610a39575b5050823b15610a355781604051809263b6b55f2560e01b82528860048301528183875af18015610a2a57610a16575b5092600891856109fd9552600682526040882060018060a01b03199182825416179055600782528660408920918254161790555260408520613620565b5f80516020614a108339815191528380a3600160025580f35b610a1f9061332e565b6103fc57855f6109c0565b6040513d84823e3d90fd5b5080fd5b610a429061332e565b610a3557815f610991565b6040513d85823e3d90fd5b610a619061332e565b6105d957825f610955565b6040513d86823e3d90fd5b60405162461bcd60e51b815260048101879052600881850152674e6f20676175676560c01b6044820152606490fd5b809250888092503d8311610adb575b610abf8183613392565b81010312610ad757610ad182916135a0565b5f6108fe565b8980fd5b503d610ab5565b6040513d8c823e3d90fd5b6108c8955062ffffff9350610b179250803d10610b2b575b610b0f8183613392565b8101906139f2565b50505050505050969250925091949261089d565b503d610b05565b508381163314610864565b60405162461bcd60e51b815260048101879052600d818501526c24b73b30b634b21037bbb732b960991b6044820152606490fd5b809250878092503d8311610ba6575b610b8a8183613392565b81010312610ba257610b9c88916135a0565b5f610852565b8880fd5b503d610b80565b50505050508633610854565b9092508481813d8311610be9575b610bd18183613392565b810103126103e257610be2906135a0565b915f6107ff565b503d610bc7565b503461020a57602036600319011261020a57602090600435815260068252604060018060a01b0391205416604051908152f35b503461020a578060031936011261020a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461020a578060031936011261020a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461020a578060031936011261020a5760035460405160a09190911c6001600160401b03168152602090f35b503461020a578060031936011261020a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461020a578060031936011261020a576020600b54604051908152f35b503461020a57602036600319011261020a576020906001600160a01b039060409082610d676132a3565b16815260058452205416604051908152f35b503461020a57602036600319011261020a57610d936132a3565b610d9b613b4e565b33825260096020526040822054908115610df65781610de9916020943381526009865260408120557f0000000000000000000000000000000000000000000000000000000000000000613ba2565b6001600255604051908152f35b60405162461bcd60e51b815260206004820152600a6024820152694e6f207265776172647360b01b6044820152606490fd5b503461020a57604036600319011261020a57610e426132a3565b6024359081151590818303610589577fc1ae9c8c4372785510259fc6123e9da89f0dd647548066a5a7af769936393fad91610e9d602092610e81613af7565b6001600160a01b0316808752600a845260408720909590613620565b604051908152a280f35b503461020a57602036600319011261020a576020906040906001600160a01b03610ecf6132a3565b168152600983522054604051908152f35b503461020a578060031936011261020a576003546040516001600160a01b039091168152602090f35b503461020a57606036600319011261020a57600435610f266132b9565b90610f2f613456565b90808452600760205260018060a01b03610f508160408720541633146134e8565b338552600c6020526040852082865260205260408520931692835f52602052610f7c8260405f20613620565b60405191151582527f44013414411d9b618e7674007dae03364d11d6be08d121c1aef8aed60dce7c5160203393a480f35b503461020a578060031936011261020a57546040516001600160a01b039091168152602090f35b503461020a57610100906003198281360112610a35576001600160401b0360243511610a3557610300906024353603011261020a576040519161030083016001600160401b038111848210176119ef576040526024356004013560038110156105d957835261104660248035016132cf565b602084015260243560448101356040850152606481013560608501526084810135608085015260a481013560a085015260c401356001600160401b0381116105d95761109a90600436916024350101613406565b60c084015260243560e481013560e0850152610104810135828501526001600160401b036101249091013511610a35576110e03660243561012481013501600401613406565b6101208401526110f561014460243501613424565b61014084015261110a61016460243501613424565b61016084015261111f61018460243501613438565b6101808401526111346101a460243501613448565b6101a08401526111496101c460243501613448565b6101c084015261115e6101e460243501613424565b6101e084015260243561020481013561020085015261022481013561022085015261024481013561024085015261119890610264016132cf565b6102608401526111ad610284602435016132cf565b6102808401526024356102a401358015159003610589576024356102a48101356102a08501526001600160401b036102c49091013511610a35576111fd366024356102c481013501600401613406565b6102c08401526001600160401b036024356102e4013511610a355761122e366024356102e481013501600401613406565b6102e084015261123c613456565b926001600160401b03606435116105d95761125c36606435600401613406565b936001600160401b03608435116104095761127c36608435600401613406565b611284613b4e565b6003546001600160a01b0316156119b1576112a561271060e4351115613631565b6004358552600760205260018060a01b0360408620541692600860205260ff604087205416968433148015611977575b6112de90613465565b6004358752600660205260408720546001600160a01b0316926113028415156134a2565b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610594578991611945575b50843b15610ba257604051631c4b774b60e01b815260048035908201528981602481838a5af18015610ae257908a91611931575b50506040516370a0823160e01b8152306004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610ae2578a906118fd575b6113e892506134db565b91843b15610ba257604051632e1a7d4d60e01b815260048035908201528981602481838a5af18015610ae257908a916118e9575b50506003546001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b15610ad75760405163095ea7b360e01b8152600480820192909252903560248201528981604481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610ae257908a916118d5575b505060018060a01b0360035416604051986306e1929d60e51b8a5260043560048b0152604060248b0152855160038110156118c157918a8c8161166861165061158083976101208e60209b604488015260018060a01b038c82015116606488015260408101516084880152606081015160a4880152608081015160c488015260a081015160e488015261155760c08201516103006101048a015261034489019061354a565b60e08201516101248901529281015161014488015201518582036043190161016487015261354a565b6101408d01516001600160801b039081166101848601526101608e015181166101a48601526101808e015162ffffff166101c48601526101a08e0151600290810b6101e48701526101c08f0151900b6102048601526101e08e0151166102248501526102008d01516102448501526102208d01516102648501526102408d01516102848501526102608d01516001600160a01b039081166102a48601526102808e0151166102c48501526102a08d015115156102e48501526102c08d01518482036043190161030486015261354a565b6102e08c01518382036043190161032485015261354a565b03925af197881561059457899861188d575b5087156118845787955b8061187b575b1561183a576102406116ac9401519260e4359260c4359260a435928a8a613bde565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b156103f85760405163095ea7b360e01b81528581806116fa8686600484016135d6565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561181b57908691611826575b5050803b156103f85760405163b6b55f2560e01b815260048101839052858160248183865af1801561181b57611807575b5060209584611791575b50505f80516020614a108339815191526040519480a360016002558152f35b61180091600435875260068852604087209060018060a01b0319918281541690556007895260408820828154169055600889526040882060ff19815416905584885260068952604088209082825416179055600788528460408820918254161790556008875260408620613620565b5f80611772565b611811869161332e565b6103f8575f611768565b6040513d88823e3d90fd5b61182f9061332e565b6103f857845f611737565b505080915061184a575b506116ac565b61187590847f0000000000000000000000000000000000000000000000000000000000000000613ba2565b5f611844565b5082151561168a565b60043595611684565b9097506020813d6020116118b9575b816118a960209383613392565b810103126105895751965f61167a565b3d915061189c565b634e487b7160e01b8c52602160045260248cfd5b6118de9061332e565b610ba257885f6114b2565b6118f29061332e565b610ba257885f61141c565b506020823d602011611929575b8161191760209383613392565b81010312610589576113e891516113de565b3d915061190a565b61193a9061332e565b610ba257885f611389565b90506020813d60201161196f575b8161196060209383613392565b8101031261058957515f611355565b3d9150611953565b508780156112d55750337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146112d5565b60405162461bcd60e51b8152602060048201526016602482015275158cd55d1a5b1cc81b9bdd0818dbdb999a59dd5c995960521b6044820152606490fd5b634e487b7160e01b5f52604160045260245ffd5b503461020a57602036600319011261020a57611a1d6132a3565b611a25613af7565b600380546001600160a01b0319166001600160a01b039290921691821790557f1d356ed287d61c48ec07dd14823d985250b998141d556acf43bec0e3b8663aed8280a280f35b503461020a5760e036600319011261020a576001600160401b036024358181116105d957611a9d9036906004016132e3565b9060443592831161040957611ab9611adc9336906004016132e3565b929091611ac4613b4e565b60c4359360a43593608435936064359360043561366d565b600160025580f35b503461020a578060031936011261020a576020604051670ccccccccccccccc8152f35b503461020a578060031936011261020a576001546001600160a01b033381831603611b5b5760018060a01b03198092166001555f549133908316175f553391165f80516020614a708339815191525f80a380f35b60405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608490fd5b503461020a57606036600319011261020a57611bcc6132b9565b906044356001600160401b038111610a3557611bec9036906004016132e3565b611bf7939193613b4e565b6004358352600760205260018060a01b0360408420541690600860205260ff604085205416948233148015612488575b8015612476575b8015612445575b611c3e90613465565b6001600160a01b0384168552600a602052604085205460ff161561240657600b546123d457600435600b8190558552600660205260408520546001600160a01b031691611c8c8315156134a2565b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156121ff5787916123a2575b50833b1561227957604051631c4b774b60e01b81526004803590820152878160248183895af180156103ed5790889161238e575b50506040516370a0823160e01b8152306004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156103ed57889061235a575b611d7292506134db565b8160041161227957611d853683856133d0565b83356001600160e01b03191663c16e3ccb60e01b036123195750806122e9575b602060031984848101030112612279576004830135906001600160401b0382116103e2576101008483018486010360031901126103e257604051926001600160401b036101008501908111908511176119ef5761010084016040528483016004810135855260248101356020860152604401356001600160401b038111610ad757611e3a906004838801918689010101613406565b60408501526001600160401b038584016064013511610ba25792611f336024938693611e7b611f6897611f0a99016004606485890101358589010101613406565b9160608501928352608085019160848288010135835260a0860160a48389010135815260c087019160c4848a010135835260e460e08901948a010135845260208801526040519a8b95611ef76040602089019a60208c528051828b0152602081015160608b0152015161010060808a015261014089019061354a565b9051878203603f190160a089015261354a565b935160c08601525160e0850152516101008401525161012083015203601f198101875286613392565b611f5860405195869363ffffffff60e01b903516602085015251809285850190613529565b8101036004810184520182613392565b813b156103f857604051632e1a7d4d60e01b81526004803590820152858160248183875af1801561181b579086916122d5575b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156103fc576040519063095ea7b360e01b95868352878380611ff260043585600484016135d6565b038183885af180156103ed57908892916122bd575b82809450602083519301915af161201c6135f1565b501561228557600b54936040516331a9108f60e11b8152856004820152602081602481865afa9081156121ff578791612247575b50306001600160a01b039091160361220a57813b156103fc576040518181525f6004820152856024820152868160448183875af180156121ff579087916121eb575b5050813b156103fc57859060405192839182528183816120b68a89600484016135d6565b03925af180156121cc579085916121d7575b5050803b156104095760405163b6b55f2560e01b815260048101849052848160248183865af180156121cc576121b8575b506020946004358403612142575b505082600b5581604051937f504222903b44393594773e379c198a93d2429219e6d047e347a4f81b64129f066004359180a460016002558152f35b6121b191600435865260068752604086209060018060a01b0319918281541690556007885260408720828154169055600888526040872060ff19815416905585875260068852604087209082825416179055600787528360408720918254161790556008865260408520613620565b5f80612107565b6121c2859161332e565b610409575f6120f9565b6040513d87823e3d90fd5b6121e09061332e565b61040957835f6120c8565b6121f49061332e565b6103fc57855f612092565b6040513d89823e3d90fd5b60405162461bcd60e51b8152602060048201526015602482015274141bdcda5d1a5bdb881b9bdd081c995d1d5c9b9959605a1b6044820152606490fd5b90506020813d60201161227d575b8161226260209383613392565b8101031261227957612273906135a0565b5f612050565b8680fd5b3d9150612255565b60405162461bcd60e51b815260206004820152601060248201526f151c985b9cd99bdc9b4819985a5b195960821b6044820152606490fd5b9190926122c99061332e565b61227957818791612007565b6122de9061332e565b6103f857845f611f9b565b61231481877f0000000000000000000000000000000000000000000000000000000000000000613ba2565b611da5565b9250809150612329575b50611f68565b61235490847f0000000000000000000000000000000000000000000000000000000000000000613ba2565b5f612323565b506020823d602011612386575b8161237460209383613392565b8101031261058957611d729151611d68565b3d9150612367565b6123979061332e565b61227957865f611d13565b90506020813d6020116123cc575b816123bd60209383613392565b8101031261058957515f611cdf565b3d91506123b0565b60405162461bcd60e51b815260206004820152600a6024820152695265656e7472616e637960b01b6044820152606490fd5b60405162461bcd60e51b8152602060048201526017602482015276151c985b9cd99bdc9b595c881b9bdd08185b1b1bddd959604a1b6044820152606490fd5b50828552600c60205260408520600435865260205260408520335f52602052611c3e60ff60405f2054169050611c35565b50336001600160a01b03851614611c2e565b50858015611c275750337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614611c27565b503461020a578060031936011261020a576124db613af7565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03165f80516020614a708339815191528280a380f35b503461020a57606036600319011261020a5761252e6132a3565b6044356001600160a01b03818116939184900361058957604092168152600c602052818120602435825260205220905f52602052602060ff60405f2054166040519015158152f35b503461020a57602036600319011261020a57602090600435815260078252604060018060a01b0391205416604051908152f35b503461020a57602036600319011261020a5760209060ff906040906001600160a01b036125d46132a3565b168152600a84522054166040519015158152f35b503461020a57602080600319360112610a3557600435612606613b4e565b8083526007825260408084205460088452908420546001600160a01b039182169391859160ff1680806129d0575b80156129be575b61264490613465565b848352600684528160408420541661265d8115156134a2565b6040516370a0823160e01b8082523060048301527f00000000000000000000000000000000000000000000000000000000000000008516908783602481855afa9283156121ff57879361298c575b50833b1561227957604051631c4b774b60e01b8152600481018a905290878260248183895af180156103ed5789928991612973575b505060246040518094819382523060048301525afa90811561181b57869161293e575b509061270e916134db565b806128dc575b50803b1561040957838091602460405180948193632e1a7d4d60e01b83528b60048401525af1908115610a6c5784916128c8575b50501561285057807f0000000000000000000000000000000000000000000000000000000000000000169060405186858201528481526127878161335c565b823b15610409576127d6928685809460405196879586948593635c46a7ef60e11b85527f000000000000000000000000000000000000000000000000000000000000000016306004860161356f565b03925af18015610a2a5761283c575b50506008905b82855260068152604080862080546001600160a01b031990811690915560078352818720805490911690559190528320805460ff191690555f80516020614a508339815191528380a3600160025580f35b6128459061332e565b61040957835f6127e5565b7f000000000000000000000000000000000000000000000000000000000000000016803b15610a3557816040518092632142170760e11b825281838161289b8a8c30600485016135b4565b03925af18015610a2a576128b4575b50506008906127eb565b6128bd9061332e565b61040957835f6128aa565b6128d19061332e565b6105d957825f612748565b93879052600985526040882093845481810180911161292a578689927fc8ee9ce5915465d47af964a7605cf07556b710fbbf9e3e5c9f67bbd8aef1a663928c9855604051908152a25f612714565b634e487b7160e01b5f52601160045260245ffd5b80929650878092503d831161296c575b6129588183613392565b81010312610589575188949061270e612703565b503d61294e565b61297f9192935061332e565b612279578790875f6126e0565b965091508686813d81116129b7575b6129a58183613392565b8101031261058957899551915f6126ab565b503d61299b565b508015801561263b575033861461263b565b50817f0000000000000000000000000000000000000000000000000000000000000000163314612634565b503461020a578060031936011261020a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461020a578060031936011261020a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461020a578060031936011261020a576004546040516001600160a01b039091168152602090f35b503461020a57604036600319011261020a57612ac86132a3565b612ad06132b9565b612ad8613af7565b6001600160a01b03908116918215612ba65781166040516329bc672160e21b81526020928382600481865afa801561181b5785928791612b6e575b501603612b38578352600590526040822080546001600160a01b031916909117905580f35b60405162461bcd60e51b815260048101839052600e60248201526d08ec2eaceca40dad2e6dac2e8c6d60931b6044820152606490fd5b809350858092503d8311612b9f575b612b878183613392565b810103126103fc57612b9985926135a0565b5f612b13565b503d612b7d565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420676175676560981b6044820152606490fd5b503461020a57608036600319011261020a57612bf56132a3565b50612bfe6132b9565b90606435906001600160401b03821161020a5750612c209036906004016132e3565b506001600160a01b039190507f000000000000000000000000000000000000000000000000000000000000000082163303612c9157600b5415159182612c85575b5050612c7a575b604051630a85bd0160e11b8152602090f35b604435600b55612c68565b16301490505f80612c61565b60405162461bcd60e51b81526020600482015260086024820152674f6e6c79204e504d60c01b6044820152606490fd5b503461020a57604036600319011261020a57600435612cde6132b9565b90612ce7613b4e565b8083526007602090815260408420546001600160a01b039081169390612d0e3386146134e8565b8386526008835260ff604087205416612ff9579085918483526006845280604084205416612d3d8115156134a2565b7f0000000000000000000000000000000000000000000000000000000000000000828116604051906370a0823160e01b8083523060048401528883602481855afa9283156103ed578893612fc7575b50843b156103e257604051631c4b774b60e01b8152600481018b9052908882602481838a5af18015610594578a928a91612fae575b505060246040518094819382523060048301525afa9081156121ff578791612f79575b5090612def916134db565b8881612f68575b505050803b1561040957838091602460405180948193632e1a7d4d60e01b83528b60048401525af1908115610a6c578491612f54575b5050807f0000000000000000000000000000000000000000000000000000000000000000169181604051911685820152848152612e688161335c565b823b1561040957612eb7928685809460405196879586948593635c46a7ef60e11b85527f000000000000000000000000000000000000000000000000000000000000000016306004860161356f565b03925af18015610a2a57612f40575b5082905260068152604080852080546001600160a01b0319908116909155600783528186208054909116905560089091528320805460ff1916905581815f80516020614a508339815191528580a37f63bac3565273ab044284225dc704268af420b439d3fdce39b7af872371dee3938380a3600160025580f35b612f499061332e565b61040957835f612ec6565b612f5d9061332e565b6105d957825f612e2c565b612f7192613ba2565b5f8088612df6565b80929750888092503d8311612fa7575b612f938183613392565b810103126105895751899590612def612de4565b503d612f89565b612fba9192935061332e565b6103e2578890885f612dc1565b975091508787813d8111612ff2575b612fe08183613392565b81010312610589578a9651915f612d8c565b503d612fd6565b60405162461bcd60e51b815260048101849052601860248201527720b63932b0b23c9030903b30bab63a103837b9b4ba34b7b760411b6044820152606490fd5b5034610589576020806003193601126105895760043590613058613b4e565b5f82815260078252604080822054600884529120546001600160a01b0393918416929060ff1633841480156131fc575b6130929150613465565b815f52600681528360405f205416906130ac8215156134a2565b7f000000000000000000000000000000000000000000000000000000000000000094851692604051926370a0823160e01b918285523060048601528385602481895afa9485156131c2575f956131cd575b50813b15610589575f91602483926040519485938492631c4b774b60e01b845260048401525af180156131c2576131af575b50819060246040518096819382523060048301525afa90811561181b57869161317f575b5061315e92506134db565b908161316e575b83600160025580f35b61317792613ba2565b5f8080613165565b905082813d83116131a8575b6131958183613392565b810103126105895761315e91515f613153565b503d61318b565b6131ba91975061332e565b5f958161312f565b6040513d5f823e3d90fd5b9094508381813d83116131f5575b6131e58183613392565b810103126105895751935f6130fd565b503d6131db565b508061320c575b61309290613088565b50337f0000000000000000000000000000000000000000000000000000000000000000851614613203565b34610589576020366003190112610589577f5f69f9a50088e24c4b3901d14e89e4dac168abd771d24ef096bb47a7696c2f0060206132736132a3565b61327b613af7565b600480546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b600435906001600160a01b038216820361058957565b602435906001600160a01b038216820361058957565b35906001600160a01b038216820361058957565b9181601f84011215610589578235916001600160401b038311610589576020838186019501011161058957565b811561331a570490565b634e487b7160e01b5f52601260045260245ffd5b6001600160401b0381116119ef57604052565b60a081019081106001600160401b038211176119ef57604052565b604081019081106001600160401b038211176119ef57604052565b608081019081106001600160401b038211176119ef57604052565b601f909101601f19168101906001600160401b038211908210176119ef57604052565b6001600160401b0381116119ef57601f01601f191660200190565b9291926133dc826133b5565b916133ea6040519384613392565b829481845281830111610589578281602093845f960137010152565b9080601f8301121561058957816020613421933591016133d0565b90565b35906001600160801b038216820361058957565b359062ffffff8216820361058957565b35908160020b820361058957565b60443590811515820361058957565b1561346c57565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606490fd5b156134a957565b60405162461bcd60e51b815260206004820152600a602482015269139bdd081cdd185ad95960b21b6044820152606490fd5b9190820391821161292a57565b156134ef57565b60405162461bcd60e51b81526020600482015260126024820152712737ba103837b9b4ba34b7b71037bbb732b960711b6044820152606490fd5b5f5b83811061353a5750505f910152565b818101518382015260200161352b565b9060209161356381518092818552858086019101613529565b601f01601f1916010190565b6001600160a01b0391821681529116602082015260408101919091526080606082018190526134219291019061354a565b51906001600160a01b038216820361058957565b6001600160a01b03918216815291166020820152604081019190915260600190565b6001600160a01b039091168152602081019190915260400190565b3d1561361b573d90613602826133b5565b916136106040519384613392565b82523d5f602084013e565b606090565b9060ff801983541691151516179055565b1561363857565b60405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081cdc1b1a5d609a1b6044820152606490fd5b94909591989793969298613685612710851115613631565b5f97865f52600760205260018060a01b0360405f20541691600860205260ff60405f205416833314801561398e575b6136be9150613465565b5f888152600660205260409020546001600160a01b0316986136e18a15156134a2565b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156131c2575f9161395c575b508a3b15610589575f808c60248d6040519485938492631c4b774b60e01b845260048401525af180156131c257613949575b506040516370a0823160e01b8152306004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156138fa578d90613915575b6137c492506134db565b918215613905578a3b156138f6578b808c60248d6040519485938492632e1a7d4d60e01b845260048401525af180156138fa576138e2575b509c61381461381c926138239b9c9d9e9f36916133d0565b9336916133d0565b9289613bde565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156104095783604051809263095ea7b360e01b8252818381613875888a600484016135d6565b03925af18015610a6c579084916138ce575b5050813b156105d957829160248392604051948593849263b6b55f2560e01b845260048401525af18015610a2a576138bd575050565b6138c7829161332e565b61020a5750565b6138d79061332e565b6105d957825f613887565b6138ec8d9161332e565b6138f6575f6137fc565b8b80fd5b6040513d8f823e3d90fd5b5050505050505050505050509050565b506020823d602011613941575b8161392f60209383613392565b81010312610589576137c491516137ba565b3d9150613922565b613954919c5061332e565b5f9a5f613766565b90506020813d602011613986575b8161397760209383613392565b8101031261058957515f613734565b3d915061396a565b508061399e575b6136be906136b4565b50337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614613995565b51908160020b820361058957565b51906001600160801b038216820361058957565b9190826101809103126105895781516001600160601b03811681036105895791613a1e602082016135a0565b91613a2b604083016135a0565b91613a38606082016135a0565b91608082015162ffffff811681036105895791613a5760a082016139d0565b91613a6460c083016139d0565b91613a7160e082016139de565b916101008201519161012081015191613421610160613a9361014085016139de565b93016139de565b6001600160a01b0391821681529116602082015260029190910b604082015260600190565b9190811015613acf5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036105895790565b5f546001600160a01b03163303613b0a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6002805414613b5d5760028055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b613bd7613bdc9392613bc960405194859263a9059cbb60e01b6020850152602484016135d6565b03601f198101845283613392565b61403c565b565b60405163133f757160e31b81526004808201839052919991979396959193909291610180846024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa998a156131c2575f945f9b613ff0575b505f965f985f928251613f5c575b5050508151613eeb575b50506003546001600160401b039560a09190911c86169150600160401b90604081901b90801590820483141715613ed857818301809311613ed85782613c9f91613310565b968060401b918183041490151715613ec55790613cbb91613310565b6001600160a01b03928316989092613cf79087907f0000000000000000000000000000000000000000000000000000000000000000168b614891565b6001600160a01b039081169390613d329084907f00000000000000000000000000000000000000000000000000000000000000001686614891565b6040519460c0860190811186821017613eb25760405289855260208501978689526040860198848a526060998a8801915f835260808901935f855260a08a019586526040519963219f5d1760e01b8b5251908a01525160248901525160448801525160648701525160848601525160a4850152868460c4815f60018060a01b037f0000000000000000000000000000000000000000000000000000000000000000165af19485156131c2575f945f96613e53575b5097613e0a86613e04875f80516020614a308339815191529c6134db565b946134db565b928281613e42575b50505081613e31575b50505060405192835260208301526040820152a2565b613e3a92613ba2565b5f8080613e1b565b613e4b92613ba2565b5f8082613e12565b88809297508196503d8311613eab575b613e6d8183613392565b81010312610589575f80516020614a3083398151915297613e0a613e0496613e94876139de565b506020870151604090970151929a50919650613de6565b503d613e63565b604189634e487b7160e01b5f525260245ffd5b601189634e487b7160e01b5f525260245ffd5b60118a634e487b7160e01b5f525260245ffd5b613f51939750613efb90896134db565b9160405192613f0984613341565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811685528c166020850152604084015260608301526080820152614163565b9050935f8080613c5a565b9198509150808a02908a8204148a151715613fdd5790612710613fd292049760405191613f8883613341565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116845288166020840152604083018a905260608301526080820152614163565b9050955f8080613c50565b60118b634e487b7160e01b5f525260245ffd5b909a5061400f9194506101803d61018011610b2b57610b0f8183613392565b5050505050505050959250905093995f613c42565b90816020910312610589575180151581036105895790565b604051614099916001600160a01b03166140558261335c565b5f806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16140936135f1565b91614972565b805190828215928315614109575b505050156140b25750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6141199350820181019101614024565b5f82816140a7565b81601f82011215610589578051614137816133b5565b926141456040519485613392565b81845260208284010111610589576134219160208085019101613529565b5f915f915f906040810151151580614883575b8061486d575b8061485a575b61418a575050565b9250925060018060a01b03825116916040516370a0823160e01b815280602081600496308883015260249485915afa80156131c25782915f91614825575b506020848101516040516370a0823160e01b8152308982015293849182906001600160a01b03165afa9182156131c2575f926147f1575b50608084018051602001517f0000000000000000000000000000000000000000000000000000000000000000036146a5575180518101906040818303126105895760208101516001600160a01b03811603610589576040810151916001600160401b03831161058957614279926020809201920101614121565b80518101906020818303126105895760208101516001600160401b0381116105895760608183018403126105895760405191606083016001600160401b0381118482101761469357604052808201602001516001600160401b038111610589576142ed906020808701918585010101614121565b835280820160400151936001600160401b0385116105895760208101603f868585010101121561058957818301850160200151946001600160401b038611614681578560051b90604051966143456020840189613392565b875260208701602084016040848489890101010111610589576040828787010101905b60408484898901010101821061464857505050505060208301938452016060015160408083019182528751908801519192916143ce917f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0316613ba2565b51915190517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b1561058957604051630d64d59360e21b815260608a820152929091839161442990606484019061354a565b6003198382030188840152815180825260208201916020808360051b8301019401925f915b838310614615575050505060448301939093525f925081900381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156131c257614602575b5082905b84516040516370a0823160e01b815230898201529260209184919082906001600160a01b03165afa9081156103ed5788916145cc575b6144e492506134db565b6020848101516040516370a0823160e01b8152308982015292989294859182906001600160a01b03165afa9081156145c0579061458c575b61452692506134db565b926060820151841061457d575060018060a01b0381511690602060018060a01b0391015116907ffa2dda1cc1b86e41239702756b13effbc1a092b5c57e3ad320fbe4f3b13fe23560408051878152866020820152a3565b604051630d4205a160e11b8152fd5b506020823d6020116145b8575b816145a660209383613392565b8101031261058957614526915161451c565b3d9150614599565b604051903d90823e3d90fd5b90506020823d6020116145fa575b816145e760209383613392565b81010312610589576144e49151906144da565b3d91506145da565b61460d91975061332e565b5f95826144a0565b91939695509193602080614635600193601f198682030187528a5161354a565b980193019301909287959694929361444e565b8151906001600160401b03821161058957602080916146748960408096898e878e019401010101614121565b8152019201919050614368565b8860418d634e487b7160e01b5f52525ffd5b8760418c634e487b7160e01b5f52525ffd5b845160408601517f0000000000000000000000000000000000000000000000000000000000000000925f9283926146e69186906001600160a01b0316614891565b5160208151910182855af16146f96135f1565b50156147e057845160405163095ea7b360e01b602082018181526001600160a01b039485168389018190525f604480860182905285528997969395909316929091819061474586613377565b85519082865af16147546135f1565b816147b1575b50806147a7575b15614770575b505050506144a4565b61479e93613bd791604051916020830152878201525f60448201526044815261479881613377565b8261403c565b5f808080614767565b50813b1515614761565b80518015925082156147c6575b50505f61475a565b6147d99250602080918301019101614024565b5f806147be565b60405163081ceff360e41b81528790fd5b9091506020813d60201161481d575b8161480d60209383613392565b810103126105895751905f6141ff565b3d9150614800565b9150506020813d602011614852575b8161484160209383613392565b81010312610589578190515f6141c8565b3d9150614834565b5080516001600160a01b03161515614182565b5060208101516001600160a01b0316151561417c565b506080810151511515614176565b6040519160208301936148c5846148b763095ea7b360e01b9384895285602484016135d6565b03601f198101865285613392565b83516001600160a01b0395848716915f9182919082855af1906148e66135f1565b82614940575b5081614935575b5015614901575b5050505050565b61492b94613bd7926040519260208401521660248201525f60448201526044815261479881613377565b5f808080806148fa565b90503b15155f6148f3565b80519192508115918215614958575b5050905f6148ec565b61496b9250602080918301019101614024565b5f8061494f565b919290156149d45750815115614986575090565b3b1561498f5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156149e75750805190602001fd5b60405162461bcd60e51b815260206004820152908190614a0b90602483019061354a565b0390fdfe627009b4f6918ee0f41065d4adffdb5142a9ef54c66cc350bb8396c1c82a409c7bc20d87c86242030e635d45b4dc01d4a4c6e3379f3cda5e62d68716f5d5ca12dd8df9cdfbfa0633e022e142f0da49c4cb7f22a3cf1c8a632425282652aefeff8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000000000000000000000827922686190790b37229fd06084350e74485b72000000000000000000000000940181a94a35a4569e4529a3cdfb74e38fd98631000000000000000000000000348633df128b52d55952adb865d1b67c3eaa988d0000000000000000000000006ff5693b99212da76ad316178a184ab56d299b430000000000000000000000000000000000001ff3684f28c67538d4d072c227340000000000000000000000003895e33b91f19b279d30b1436640c87e300d2dac