6.5k txs
24.9k calls
constructor
constructor(address owner_, address arcadiaFactory, address routerTrampoline, address positionManager, address cLFactory, address poolImplementation, address rewardToken, address stakedSlipstreamAm, address stakedSlipstreamWrapper)
functions
accountInfo
viewfunction accountInfo(address account) view returns (uint64 maxClaimFee, uint64 maxSwapFee, uint64 upperSqrtPriceDeviation, uint64 lowerSqrtPriceDeviation, uint64 minLiquidityRatio, address strategyHook)
accountToInitiator
viewfunction accountToInitiator(address accountOwner, address account) view returns (address initiator)
ARCADIA_FACTORY
viewfunction ARCADIA_FACTORY() view returns (address)
guardian
viewfunction guardian() view returns (address)
isPoolBalanced
purefunction isPoolBalanced(uint256 sqrtPrice, tuple cache) pure returns (bool isBalanced)
isPositionManager
viewfunction isPositionManager(address positionManager) view returns (bool)
metaData
viewfunction metaData(address account) view returns (bytes data)
onERC721Received
purefunction onERC721Received(address, address, uint256, bytes) pure returns (bytes4)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
ROUTER_TRAMPOLINE
viewfunction ROUTER_TRAMPOLINE() view returns (address)
changeGuardian
nonpayablefunction changeGuardian(address guardian_)
executeAction
nonpayablefunction executeAction(bytes actionTargetData) returns (tuple depositData)
pause
nonpayablefunction pause()
rebalance
nonpayablefunction rebalance(address account_, tuple initiatorParams)
setAccountInfo
nonpayablefunction setAccountInfo(address account_, address initiator, uint256 maxClaimFee, uint256 maxSwapFee, uint256 maxTolerance, uint256 minLiquidityRatio, address strategyHook, bytes strategyData, bytes metaData_)
setPauseFlag
nonpayablefunction setPauseFlag(bool paused_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
events
AccountInfoSet
event AccountInfoSet(address indexed account, address indexed initiator, address indexed strategyHook)
FeePaid
event FeePaid(address indexed account, address indexed receiver, address indexed asset, uint256 amount)
GuardianChanged
event GuardianChanged(address indexed user, address indexed newGuardian)
OwnershipTransferred
event OwnershipTransferred(address indexed user, address indexed newOwner)
PauseFlagsUpdated
event PauseFlagsUpdated(bool pauseUpdate)
Rebalance
event Rebalance(address indexed account, address indexed positionManager, uint256 oldId, uint256 newId)
YieldClaimed
event YieldClaimed(address indexed account, address indexed asset, uint256 amount)
errors
InsufficientLiquidity
error InsufficientLiquidity()
InvalidInitiator
error InvalidInitiator()
InvalidPositionManager
error InvalidPositionManager()
InvalidValue
error InvalidValue()
NotAnAccount
error NotAnAccount()
OnlyAccount
error OnlyAccount()
OnlyAccountOwner
error OnlyAccountOwner()
OnlyGuardian
error OnlyGuardian()
OnlyPool
error OnlyPool()
Paused
error Paused()
Reentered
error Reentered()
UnbalancedPool
error UnbalancedPool()
creation bytecode
0x610180346101e157601f61534b38819003918201601f19168301916001600160401b038311848410176101e557808492610120946040528339810103126101e157610049816101f9565b610055602083016101f9565b91610062604082016101f9565b61006e606083016101f9565b61007a608084016101f9565b61008660a085016101f9565b9161009360c086016101f9565b936100ad6101006100a660e089016101f9565b97016101f9565b5f80546001600160a01b0319166001600160a01b039099169889178155604051999198907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a36001600160a01b0390811660805290811660a0521660e05260c0526101005261012052610140526101605261513d908161020e823960805181818161095d01526119d4015260a05181818161122f01526142da015260c05181818161135501526127f7015260e05181818161142b0152818161222d015281816126f901528181612b9201528181612f5c0152818161306e015281816135830152613765015261010051818181611376015261281801526101205181818161296a015281816129a2015281816129d801528181612ca80152612ffc015261014051816113e80152610160518161145b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101e15756fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80630686ddd9146101495780630a73e391146101445780631204f5251461013f578063150b7a021461013a5780632cacb5fa146101355780632e7df039146101305780632fcb4f041461012b578063452a9320146101265780635c975abb146101215780638456cb591461011c5780638cffa277146101175780638da5cb5b146101125780638da92e711461010d578063a129568d14610108578063a7310b5814610103578063a89d6dd4146100fe578063b699b82b146100f9578063f2fde38b146100f45763fa461e330361000e576112d2565b61125e565b61121a565b6111a0565b6110ca565b610b09565b6109bd565b61098c565b610948565b6108cc565b6108a8565b610880565b6107ff565b610771565b610453565b6103f9565b610371565b610340565b61025d565b6001600160a01b0381160361015f57565b5f80fd5b60c435906101708261014e565b565b35906101708261014e565b90600182811c921680156101ab575b602083101461019757565b634e487b7160e01b5f52602260045260245ffd5b91607f169161018c565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b038211176101e457604052565b6101b5565b60a081019081106001600160401b038211176101e457604052565b90601f801991011681019081106001600160401b038211176101e457604052565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90602061025a928181520190610225565b90565b3461015f57602036600319011261015f5760043561027a8161014e565b6001600160a01b03165f90815260046020526040808220905181549092916102a18261017d565b808552916001811690811561031957506001146102d9575b6102d5846102c981860382610204565b60405191829182610249565b0390f35b5f90815260208120939250905b8082106102ff575090915081016020016102c9826102b9565b9192600181602092548385880101520191019092916102e6565b60ff191660208087019190915292151560051b850190920192506102c991508390506102b9565b3461015f57602036600319011261015f5760206103676004356103628161014e565b6113e6565b6040519015158152f35b3461015f57604036600319011261015f5760206004356103908161014e565b6024359061039d8261014e565b6001600160a01b039081165f908152600584526040808220938316825260209390935282902054915191168152f35b9181601f8401121561015f578235916001600160401b03831161015f576020838186019501011161015f57565b3461015f57608036600319011261015f5761041560043561014e565b61042060243561014e565b6064356001600160401b03811161015f5761043f9036906004016103cc565b5050604051630a85bd0160e11b8152602090f35b3461015f57604036600319011261015f576004356104708161014e565b602435906001600160401b03821161015f578160040190610120600319843603011261015f5760ff5f5460a01c16610762576002546001600160a01b031661075357600280546001600160a01b0319166001600160a01b038316179055604051638da5cb5b60e01b81526001600160a01b03821693906020816004815f895af190811561068d578361052461054693610539935f91610724575b506001600160a01b03165f90815260056020526040902090565b9060018060a01b03165f5260205260405f2090565b546001600160a01b031690565b336001600160a01b03909116036107155761056a610566610362856114ac565b1590565b610706576106289261059661060f9360018060a01b03166001600160601b0360a01b6002541617600255565b5f5f908360448101936001600160801b036105b0866114c7565b16158015906106e3575b610692575b6001600160801b03808261061d6105fe60646105f76105f160246105ea6001600160601b039a6114ac565b9a016114e2565b9b6114c7565b9b016114c7565b916040519b8c913360208401611567565b03601f1981018c528b610204565b1696169416906123d0565b90803b1561015f5760405162b9252f60e41b8152905f908290818381610652883060048401611684565b03925af1801561068d57610673575b600280546001600160a01b0319169055005b806106815f61068793610204565b80610876565b80610661565b6114a1565b6001600160801b0393508092506106a991506114ac565b50836001600160601b03836106d76106d26106c6602486016114e2565b6001600160601b031690565b61220f565b959094925050506105bf565b506106ff6106f3606484016114c7565b6001600160801b031690565b15156105ba565b63ed5f09f160e01b5f5260045ffd5b6317fb43e560e31b5f5260045ffd5b610746915060203d60201161074c575b61073e8183610204565b81019061148c565b5f61050a565b503d610734565b63b5dfd9e560e01b5f5260045ffd5b6313d0ff5960e31b5f5260045ffd5b3461015f5761012036600319011261015f5760043561078f8161014e565b60243561079b8161014e565b6044359160843560643560a4356107b0610163565b9060e4356001600160401b03811161015f576107d09036906004016103cc565b94909361010435986001600160401b038a1161015f576107f76100189a36906004016103cc565b99909861198e565b3461015f57602036600319011261015f5760043561081c8161014e565b61083060018060a01b035f54163314611cd4565b600180546001600160a01b0319166001600160a01b03929092169182179055337fa14fc14d8620a708a896fd11392a235647d99385500a295f0d7da2a258b2e9675f80a3005b5f91031261015f57565b3461015f575f36600319011261015f576001546040516001600160a01b039091168152602090f35b3461015f575f36600319011261015f57602060ff5f5460a01c166040519015158152f35b3461015f575f36600319011261015f576001546001600160a01b03163303610939575f5460ff8160a01c166107625760ff60a01b1916600160a01b175f55604051600181527f549bab54c75a364ce0e438a4fbf09df7e6b096bcc83a6f91065a0fc8e410b29a90602090a1005b636570ecab60e11b5f5260045ffd5b3461015f575f36600319011261015f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461015f575f36600319011261015f575f546040516001600160a01b039091168152602090f35b8015150361015f57565b3461015f57602036600319011261015f577f549bab54c75a364ce0e438a4fbf09df7e6b096bcc83a6f91065a0fc8e410b29a60206004356109fd816109b3565b5f5490610a14336001600160a01b03841614611cd4565b15159060ff60a01b8260a01b169060ff60a01b1916175f55604051908152a1005b90602080835192838152019201905f5b818110610a525750505090565b82516001600160a01b0316845260209384019390920191600101610a45565b90602080835192838152019201905f5b818110610a8e5750505090565b8251845260209384019390920191600101610a81565b61025a916060610ae7610ad5610ac38551608086526080860190610a35565b60208601518582036020870152610a71565b60408501518482036040860152610a71565b920151906060818403910152610a71565b90602061025a928181520190610aa4565b3461015f57602036600319011261015f576004356001600160401b03811161015f57610b399036906004016103cc565b90610b42611d0f565b50600254610b60906001600160a01b03165b6001600160a01b031690565b33036110bb57335f908152600360205260409020610b8b9190610b8290611d33565b92810190611e4b565b80519092906001600160a01b03169060a0840190610bb082516001600160401b031690565b6001600160401b03610bd8610bcc84516001600160401b031690565b6001600160401b031690565b9116118015611085575b611076576020850193610c08610c026106c687516001600160601b031690565b856126ca565b90610120820193610c1a855151611f58565b97610c326106f360408301516001600160801b031690565b610c3b8a611f9e565b52610c536106f360608301516001600160801b031690565b610c5c8a611fb0565b52610c678951611f58565b9460a0810191610c83610b54610b54855160018060a01b031690565b93610cb160408b6101008501978a89519284519586948593849363c92d78a360e01b855233600486016120bd565b03915afa90811561068d57610cdd915f915f91611041575b5060020b60a08a01525b60020b60c0890152565b610cec60808301518885612a55565b610100880193610d00610566838751612147565b611018578d898d818d9651610d1b906001600160401b031690565b6001600160401b0316610d319082848a88612b7f565b610d3b9184612f4d565b610d4491613064565b608001516001600160401b031660408901518e9062ffffff169060c0860151610d73906001600160401b031690565b8751604086015160608701516001600160a01b03908116959116929190610d9985611f9e565b51610da38a611f9e565b51610dad9161173d565b94610db790611fb0565b51610dc18a611fb0565b51610dcb9161173d565b610df79790966001600160a01b039081169516936001600160401b039081169262ffffff16911661323e565b938d82868b8151610e0790151590565b5f149761056697610e4095610e549a61102757610e316020860151610e2b84611f9e565b516116f0565b610e3a83611f9e565b5261332e565b610e4c610b548a61342f565b809152612147565b61101857805115610fef57610e92610e6b8b611f9e565b51610e89610e788d611fb0565b51610e828a611fb0565b519061173d565b905b878d613561565b6001600160801b036040610eb060e08801516001600160801b031690565b920151911610610fe057610b54610b54610edb92610ece878b61375a565b516001600160a01b031690565b87516001600160601b0316915191813b1561015f575f918591838a610f176040519788968795869463bd6884a360e01b865233600487016120fa565b03925af192831561068d57886020610f70838a7ffea7a9a6e25cd0bbbfa80ce0c7646e61ee5e0551b3fdaaff0642e6f6adcc72e2996102d59e610f8c99610f7e99610fbd9c610fcc575b506001600160a01b0316613858565b9201968751905190896139f6565b95516001600160601b031690565b9251604080516001600160601b03909516855260208501919091526001600160a01b03909416933393918291820190565b0390a360405191829182610af8565b806106815f610fda93610204565b5f610f61565b63bb55fd2760e01b5f5260045ffd5b610e92611008610ffe8c611f9e565b51610e8289611f9e565b6110118c611fb0565b5190610e8b565b633a8bf65960e01b5f5260045ffd5b6110386020860151610e2b84611fb0565b610e3a83611fb0565b610cd39250611068915060403d60401161106f575b6110608183610204565b810190611ffa565b9091610cc9565b503d611056565b632a9ffab760e21b5f5260045ffd5b5060c08501516001600160401b03166001600160401b036110b3610bcc60208501516001600160401b031690565b911611610be2565b63f3f6425d60e01b5f5260045ffd5b3461015f57602036600319011261015f576004356110e78161014e565b6001600160a01b039081165f90815260036020908152604091829020805460019091015483516001600160401b03808416825283861c811694820194909452608083811c85168287015260c093841c60608301529382169381019390935290921c90921660a083015290f35b6040519061017060c083610204565b6040519061017061012083610204565b60405190610170608083610204565b6040519061017060a083610204565b6040519061017061018083610204565b3461015f5760a036600319011261015f57600435608036602319011261015f576112086102d591604051906111d4826101c9565b602435825260443560208301526064356111ed8161014e565b60408301526084356111fe8161014e565b6060830152612147565b60405190151581529081906020820190565b3461015f575f36600319011261015f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461015f57602036600319011261015f5760043561127b8161014e565b5f5490611292336001600160a01b03841614611cd4565b60018060a01b031680916001600160601b0360a01b16175f55337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b3461015f57606036600319011261015f576024356004356044356001600160401b03811161015f5761130a60609136906004016103cc565b908092918101031261015f578035926113228461014e565b61139a60406020840135936113368561014e565b01359461134286611fe4565b6001600160a01b039384169593169285847f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613b13565b336001600160a01b03909116036113d7575f8313156113c0575061001892503390613bc1565b9150505f81136113cc57005b610018913390613bc1565b634b60273560e01b5f5260045ffd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116908114908115611459575b8115611429575090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168114915061141f565b9081602091031261015f575161025a8161014e565b6040513d5f823e3d90fd5b3561025a8161014e565b6001600160801b0381160361015f57565b3561025a816114b6565b6001600160601b0381160361015f57565b3561025a816114d1565b3590610170826114d1565b3590610170826114b6565b35906001600160401b038216820361015f57565b9035601e198236030181121561015f5701602081359101916001600160401b03821161015f57813603831361015f57565b908060209392818452848401375f828201840152601f01601f1916010190565b61025a929160018060a01b031681526040602082015261159a6040820161158d84610172565b6001600160a01b03169052565b6115b96115a9602084016114ec565b6001600160601b03166060830152565b6115d86115c8604084016114f7565b6001600160801b03166080830152565b6115f76115e7606084016114f7565b6001600160801b031660a0830152565b608082013560c082015261162061161060a08401611502565b6001600160401b031660e0830152565b61164061162f60c08401611502565b6001600160401b0316610100830152565b61167161166561165360e0850185611516565b61012080860152610160850191611547565b92610100810190611516565b91610140603f1982860301910152611547565b6001600160a01b03909116815260406020820181905261025a92910190610225565b9081602091031261015f575161025a816109b3565b634e487b7160e01b5f52601160045260245ffd5b670de0b6b3a7640000019081670de0b6b3a7640000116116eb57565b6116bb565b919082018092116116eb57565b90670de0b6b3a7640000820291808304670de0b6b3a764000014901517156116eb57565b670de0b6b3a76400000390670de0b6b3a764000082116116eb57565b919082039182116116eb57565b9061182560a06001610170946117806001600160401b0386511682906001600160401b03166001600160401b0319825416179055565b60208501518154604080880151606089015160809190911b67ffffffffffffffff60801b169390911b6fffffffffffffffff0000000000000000166001600160401b03909216919091179190911760c09190911b6001600160c01b03191617815501926118176117fa60808301516001600160401b031690565b855467ffffffffffffffff19166001600160401b03909116178555565b01516001600160a01b031690565b815468010000000000000000600160e01b03191660409190911b68010000000000000000600160e01b0316179055565b601f821161186257505050565b5f5260205f20906020601f840160051c8301931061189a575b601f0160051c01905b81811061188f575050565b5f8155600101611884565b909150819061187b565b9092916001600160401b0381116101e4576118c9816118c3845461017d565b84611855565b5f601f82116001146119075781906118f89394955f926118fc575b50508160011b915f199060031b1c19161790565b9055565b013590505f806118e4565b601f1982169461191a845f5260205f2090565b915f5b87811061195457508360019596971061193b575b505050811b019055565b01355f19600384901b60f8161c191690555f8080611931565b9092602060018192868601358155019401910161191d565b6001600160a01b03909116815260406020820181905261025a93910191611547565b600254979a9399919897909695949192906001600160a01b031661075357604051630972932760e21b81526001600160a01b0388166004820152602081806024810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561068d575f91611ca5575b5015611c965760018060a01b038716995f60208c600460405180948193638da5cb5b60e01b83525af190811561068d575f91611c77575b506001600160a01b0381163303611c6857670de0b6b3a764000083118015611c57575b8015611c46575b8015611c35575b61107657611bae96611b56611b6793611b46611b92978f611ad5908f611ab6906105246001600160401b039a60018060a01b03165f52600560205260405f2090565b80546001600160a01b0319166001600160a01b03909216919091179055565b611b3686611b07610bcc611afc611af7611b01610bcc611afc611af78a6116cf565b6116fd565b612528565b96611721565b94611b2582611b14611153565b9c168c906001600160401b03169052565b166001600160401b031660208a0152565b6001600160401b03166040880152565b6001600160401b03166060860152565b166001600160401b03166080830152565b6001600160a01b03861660a08201526001600160a01b0387165f90815260036020526040902061174a565b6001600160a01b0385165f9081526004602052604090206118a4565b6001600160a01b031694853b1561015f575f91611bdf6040519485938493632f9c799b60e21b85526004850161196c565b038183885af1801561068d57611c21575b506001600160a01b0316907f343ef5cc595144359c9db657cd7fcef6ecc88d06d17651a8292e553ab73b1c705f80a4565b806106815f611c2f93610204565b5f611bf0565b50670de0b6b3a76400008711611a74565b50670de0b6b3a76400008411611a6d565b50670de0b6b3a76400008211611a66565b6312272fd360e11b5f5260045ffd5b611c90915060203d60201161074c5761073e8183610204565b5f611a43565b630ea8370b60e41b5f5260045ffd5b611cc7915060203d602011611ccd575b611cbf8183610204565b8101906116a6565b5f611a0c565b503d611cb5565b15611cdb57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fd5b60405190611d1c826101c9565b606080838181528160208201528160408201520152565b9060405160c08101908082106001600160401b038311176101e4576101709160405260a0611ddc60018396611dbc611dac82546001600160401b03811688526001600160401b038160401c166020890152611da66001600160401b038260801c1660408a01906001600160401b03169052565b60c01c90565b6001600160401b03166060870152565b01546001600160401b038116608085015260401c6001600160a01b031690565b6001600160a01b0316910152565b6001600160401b0381116101e457601f01601f191660200190565b81601f8201121561015f57803590611e1c82611dea565b92611e2a6040519485610204565b8284526020838301011161015f57815f926020809301838601378301015290565b919060408382031261015f578235611e628161014e565b926020810135906001600160401b03821161015f57016101208183031261015f57611e8b611162565b91611e9582610172565b8352611ea3602083016114ec565b6020840152611eb4604083016114f7565b6040840152611ec5606083016114f7565b606084015260808201356080840152611ee060a08301611502565b60a0840152611ef160c08301611502565b60c084015260e08201356001600160401b03811161015f5781611f15918401611e05565b60e08401526101008201356001600160401b03811161015f57611f389201611e05565b61010082015290565b6001600160401b0381116101e45760051b60200190565b90611f6282611f41565b611f6f6040519182610204565b8281528092611f80601f1991611f41565b0190602036910137565b634e487b7160e01b5f52603260045260245ffd5b805115611fab5760200190565b611f8a565b805160011015611fab5760400190565b805160021015611fab5760600190565b8051821015611fab5760209160051b010190565b8060020b0361015f57565b519061017082611fe4565b919082604091031261015f576020825161201381611fe4565b92015161025a81611fe4565b80516001600160a01b0316825261025a91906101409061012090602081015160208501526120596040820151604086019062ffffff169052565b60608181015160020b9085015260808181015160020b9085015260a08181015160020b9085015260c08181015160020b9085015260e0818101516001600160801b031690850152610100810151610100850152015191816101208201520190610a35565b6001600160a01b0391821681529116602082015260806040820181905261025a9391926120ec9184019061201f565b916060818403910152610225565b6001600160a01b039182168152911660208201526001600160601b03909116604082015260a06060820181905261025a9391926121399184019061201f565b916080818403910152610225565b81518111918261215657505090565b6020015111919050565b5190610170826114b6565b91908261018091031261015f578151612183816114d1565b9160208101516121928161014e565b9160408201516121a18161014e565b9160608101516121b08161014e565b9160808201516121bf81611fe4565b916121cc60a08201611fef565b916121d960c08301611fef565b916121e660e08201612160565b91610100820151916101208101519161025a6101606122086101408501612160565b9301612160565b60405163133f757160e31b81526004810191909152610180816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561068d575f915f9161226a57509091565b905061228e91506101803d811161229d575b6122868183610204565b81019061216b565b50505050505050509250905091565b503d61227c565b5f1981146116eb5760010190565b604051608091906122c38382610204565b6003815291601f1901366020840137565b604051606091906122e58382610204565b6002815291601f1901366020840137565b60405190606082018281106001600160401b038211176101e4576040525f604083606081528260208201520152565b9294939161233e61234c9260a0865260a0860190610aa4565b908482036020860152610aa4565b828103604084015260608101948051956060835286518091526020608084019701905f5b8181106123a557505050946121399160408088602061025a999a01516020850152015191015283810360608501526060610225565b825180516001600160a01b03168a52602090810151818b015260409099019890920191600101612370565b929461025a95949294600193801515908161251f575b831515908161250f575b6123f987611f58565b9861240388611f58565b966124326124196124138b611f58565b9a611f58565b9a6124238d611f9e565b6001600160a01b039091169052565b61243b88611f9e565b52600161244789611f9e565b5260026124538a611f9e565b526001936124df575b50506124b1575b50505061246e611172565b9384526020840152604083015260608201526124a361248b611d0f565b936124946122f6565b60405195869460208601612325565b03601f198101835282610204565b6001926124c56124d693612423848b611fd0565b6124cf8287611fd0565b5285611fd0565b525f8080612463565b6124ef919293506124238a611fb0565b6124f886611fb0565b52600161250487611fb0565b526002905f8061245c565b95612519906122a4565b956123f0565b600295506123e6565b60b581600160881b8110156125d3575b806901000000000000000000620100009210156125c6575b650100000000008110156125b9575b63010000008110156125ac575b010260121c8082040160011c8082040160011c8082040160011c8082040160011c8082040160011c8082040160011c8082040160011c8080920410900390565b60101c9160081b9161256c565b60201c9160101b9161255f565b60401c9160201b91612550565b5068b500000000000000009050608082901c612538565b6040519061014082018281106001600160401b038211176101e4576040526060610120835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201520152565b519061ffff8216820361015f57565b91908260c091031261015f57815161266b8161014e565b91602081015161267a81611fe4565b9161268760408301612645565b9161269460608201612645565b9160a06126a360808401612645565b92015161025a816109b3565b9081602091031261015f575162ffffff8116810361015f5790565b612731909291926126d96125ea565b6020810185905260405163133f757160e31b8152600481019590955293917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169061018090849081906024820190565b0381845afa91821561068d576128499361283c9387935f935f935f905f905f905f96612a00575b506127a1929160c08a61279161279a9461278760606127f49d9e9f019b60e08501906001600160801b03169052565b60020b60a0830152565b019060020b9052565b60020b8452565b6001600160a01b03161480156129ca575b8015612994575b15612953576127c66122d4565b6101208901525b6127ed836124236101208b016127e7886124238351611f9e565b51611fb0565b5160020b90565b917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613b13565b6001600160a01b03168352565b815160049060c09061286590610b54906001600160a01b031681565b604051633850c7bd60e01b815292839182905afa801561068d575f915f91612918575b5060020b60808401525b6001600160a01b0390811661010084015282516004916020916128b791610b54911681565b60405163ddca3f4360e01b815292839182905afa801561068d57610170915f916128e9575b5062ffffff166040840152565b61290b915060203d602011612911575b6129038183610204565b8101906126af565b5f6128dc565b503d6128f9565b612892925061293f915060c03d60c01161294c575b6129378183610204565b810190612654565b5050505091909190612888565b503d61292d565b61298f61295e6122b2565b806101208b01526124237f000000000000000000000000000000000000000000000000000000000000000091611fc0565b6127cd565b506001600160a01b038381167f0000000000000000000000000000000000000000000000000000000000000000909116146127b9565b506001600160a01b038481167f0000000000000000000000000000000000000000000000000000000000000000909116146127b2565b61279198506127f4975061279a96506127a1935060c09250612a3191506101803d811161229d576122868183610204565b505050509b9650945095929c919c9b909b9c9b95939450509a999850509192612758565b9190612b0d612ac461025a935f6060604051612a70816101c9565b8281528260208201528260408201520152612abe610bcc6040612aaf6001600160401b03612aa860608c01516001600160401b031690565b1685613c3e565b9801516001600160401b031690565b90613c3e565b91612aec612ade60a0612ae3612ade60c086015160020b90565b613d0e565b93015160020b90565b92612af5611172565b95865260208601526001600160a01b03166040850152565b6001600160a01b03166060830152565b919082604091031261015f576020825192015190565b91909160606001600160801b038160808401958051855260018060a01b036020820151166020860152826040820151166040860152015116910152565b9081602091031261015f575190565b6001600160a01b039283169491929091907f000000000000000000000000000000000000000000000000000000000000000016858114612d8e5750602084810151604051630ae169a560e41b8152600481019190915295869060249082905f905af194851561068d575f95612d59575b50612bfa9085613c3e565b9160038251145f14612c875790612c3491612c2e612c28612c1e88610e2b86611fc0565b95610e2b84611fc0565b91611fc0565b52611fc0565b5261012001516001600160a01b0390612c5090610ece90611fc0565b604051928352169033907ff3055bc8d92d9c8d2f12b45d112dd345cd2cfd17292b8d65c5642ac6f912dfd79080602081015b0390a3565b90926101200192612c9b610ece8551611f9e565b6001600160a01b039081167f000000000000000000000000000000000000000000000000000000000000000090911603612d1457612cfc91612cf6612cf0612ce688610e2b86611f9e565b95610e2b84611f9e565b91611f9e565b52611f9e565b52516001600160a01b0390612c5090610ece90611f9e565b612d4191612d3b612d35612d2b88610e2b86611fb0565b95610e2b84611fb0565b91611fb0565b52611fb0565b52516001600160a01b0390612c5090610ece90611fb0565b612bfa919550612d809060203d602011612d87575b612d788183610204565b810190612b70565b9490612bef565b503d612d6e565b8493929550612de460409160205f970151612da7611172565b9081523060208201526001600160801b03818501526001600160801b036060820152835197888094819363fc6f786560e01b835260048301612b33565b03925af194851561068d575f945f96612eec575b50610b5493610ece93612e6a612d35612e61899686612e3a612d358e612e27612eb79f610e2b6101209d611f9e565b612e3085611f9e565b52610e2b84611fb0565b52612e51612e48828a613c3e565b610e2b87611f9e565b612e5a86611f9e565b528b613c3e565b610e2b84611fb0565b52019060018060a01b03612e81610ece8451611f9e565b604051928352169033907ff3055bc8d92d9c8d2f12b45d112dd345cd2cfd17292b8d65c5642ac6f912dfd790602090a351611fb0565b6040519182529033907ff3055bc8d92d9c8d2f12b45d112dd345cd2cfd17292b8d65c5642ac6f912dfd7908060208101612c82565b612d359650612eb7955093610ece93612e6a612d35612e61612e3a9661012096612f30610b549b60403d604011612f46575b612f288183610204565b810190612b1d565b9990999d50509650969950505050935093612df8565b503d612f1e565b916001600160a01b03918216917f0000000000000000000000000000000000000000000000000000000000000000168203612f8757505050565b602081810151604051630852cd8d60e31b8152600481019190915292839060249082905f905af191821561068d575f92613043575b5081612fc757505050565b8251600303612fde575090612fdb90611fc0565b52565b610ece610120612fef920151611f9e565b6001600160a01b039081167f00000000000000000000000000000000000000000000000000000000000000009091160361303357612cf0612fdb91610e2b84611f9e565b612d35612fdb91610e2b84611fb0565b61305d91925060203d602011612d8757612d788183610204565b905f612fbc565b9060018060a01b037f0000000000000000000000000000000000000000000000000000000000000000169161312d604060208401936130cd6130b260e087519301516001600160801b031690565b6130ba611181565b9283526001600160801b03166020830152565b5f8183018190526060820190815242608083019081528351630624e65f60e11b81528351600482015260208401516001600160801b03166024820152604090930151604484015290516064830152516084820152918290819060a4820190565b03815f885af1801561068d57613220575b506131896040835161314e611172565b9081523060208201526001600160801b03818301526001600160801b03606082015281518093819263fc6f786560e01b835260048301612b33565b03815f885af190811561068d576131b591612d35915f905f926131fc575b50612e2790610e2b86611f9e565b525190803b1561015f57604051630852cd8d60e31b815260048101929092525f908290602490829084905af1801561068d576131ee5750565b806106815f61017093610204565b612e27925061321a915060403d604011612f4657612f288183610204565b916131a7565b6132389060403d604011612f4657612f288183610204565b5061313e565b906106f3866132e095613290888c8c899c9b9e9d9b6132d99a64e8d4a510006132d49a5f6080604051613270816101e9565b82815282602082015282604082015282606082015201520201938661402e565b9b8c82849f9495939c8183885f1461331d57506132ac9161173d565b955b1561330c57506132bd916116f0565b935b6001600160a01b039081169281169116614135565b613c3e565b9282613c3e565b916132f36132ec611181565b9515158652565b8260208601526040850152036060830152608082015290565b90506133179161173d565b936132bf565b9050613328916116f0565b956132ae565b929394919060608601918251156134265760e00151805161340e57506133ee929184879261335c8451151590565b9461336d60408a015162ffffff1690565b956133778a6143ea565b6101008b01516001600160a01b03169162ffffff60806133e16133b760606133a860408a015160018060a01b031690565b9801516001600160a01b031690565b97610e826133da6133d46133ca8d611f9e565b51610e8285611f9e565b9b611fb0565b5191611fb0565b9851990151991690614454565b918215613408576134026101709451151590565b916145fe565b50505050565b94925050506134206101709451151590565b9161428e565b50505050505050565b51604051633850c7bd60e01b81529060c090829060049082906001600160a01b03165afa90811561068d575f91613464575090565b61347d915060c03d60c01161294c576129378183610204565b505050505090565b919082608091031261015f5781519160208101516134a2816114b6565b916060604083015192015190565b81516001600160a01b031681526101808101929161017091906101609081906020818101516001600160a01b03169085015260408181015160020b9085015260608181015160020b9085015260808181015160020b9085015260a0818101519085015260c0808201519085015260e080820151908501526101008082015190850152610120808201516001600160a01b031690850152610140818101519085015201516001600160a01b0316910152565b926136b75f9293608092610120860190613581610b54610ece8451611f9e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031693906135ba9082908690614776565b6135d482856135cf610b54610ece8851611fb0565b614776565b61366d6135f1610ece6135ea610ece8751611f9e565b9551611fb0565b6136648a61365a613606606083015160020b90565b61365061362560a061361c60c087015160020b90565b95015160020b90565b95613640613631611190565b6001600160a01b03909c168c52565b6001600160a01b031660208b0152565b60020b6040890152565b60020b6060870152565b60020b84880152565b60a083015260c082015260e08101859052610100810185905230610120820152426101408201528461016082015260405194858094819363b5007d1f60e01b8352600483016134b0565b03925af191821561068d57612fdb92612d35925f5f5f925f94613717575b50846136f360209260e0613704979801906001600160801b03169052565b01526136fe86611f9e565b5161173d565b61370d85611f9e565b526136fe84611fb0565b6137049450602093506136f39250613747915060803d608011613753575b61373f8183610204565b810190613485565b955093919250906136d5565b503d613735565b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691908316908282036137985750505050565b602001928351833b1561015f5760405163095ea7b360e01b81526001600160a01b039290921660048301526024820152915f908390604490829084905af190811561068d575f9360209361380e93613844575b505160405194858094819363140e25ad60e31b8352600483019190602083019252565b03925af1801561068d57613825575b808080613408565b61383d9060203d602011612d8757612d788183610204565b505f61381d565b806106818761385293610204565b5f6137eb565b602085015194959490936001600160a01b0316803b1561015f5760405163095ea7b360e01b815233600482015260248101929092525f908290604490829084905af1801561068d576139e2575b506001945f5b82518110156139db576138c6610ece82610120850151611fd0565b966138d18285611fd0565b516138dc8387611fd0565b5110156139af579061392e6001926139026138f78488611fd0565b51610e82858a611fd0565b61390c8488611fd0565b5261392961391a8488611fd0565b5133868060a01b038d16614776565b6122a4565b975b61393a8287611fd0565b5161398e575b61394a8287611fd0565b5160405190815260a084901b8490039182169188169033907f1b37fcc57f4b6029ca7b3a70af0104811f67c72fe73e8043575f03a01e05663190602090a4016138ab565b6139aa61399b8388611fd0565b5188858060a01b038416613bc1565b613940565b96906001916139be8286611fd0565b516139c98388611fd0565b525f6139d58387611fd0565b52613930565b5050505050565b806106815f6139f093610204565b5f6138a5565b9293909193613a03611d0f565b50613a0d82611f58565b946001613a1984611f58565b93613a2381611f58565b95613a3a613a3083611f58565b986124238b611f9e565b613a4386611f9e565b5281613a4e87611f9e565b526002613a5a88611f9e565b5211613a80575b5050613a6b611172565b93845260208401526040830152606082015290565b9194909395926001935f5b8651811015613afc57613a9e8188611fd0565b51613aac575b600101613a8b565b94613af4600191613acd613ac3610ece8a8a611fd0565b6124238389611fd0565b613ad7888a611fd0565b51613ae28287611fd0565b5282613aee828d611fd0565b526122a4565b959050613aa4565b5096945092509390505f80613a61565b1561015f57565b916001600160a01b03848116908216101561015f57604080516001600160a01b0392831660208201908152929095169085015260029490940b6060840152605593603793613b6481608081016124a3565b5190209060405192733d602d80600a3d3981f3363d3d373d3d3d363d7360601b845260601b60148401526f5af43d82803e903d91602b57fd5bf3ff60801b602884015260601b6038830152604c820152818120606c820152012090565b60405163a9059cbb60e01b81526001600160a01b03909216600483015260248201929092526020915f9160449183905af13d15601f3d1160015f511416171615613c0757565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b90805f19048211810215670de0b6b3a7640000021561015f57670de0b6b3a764000091020490565b7812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218111670de0b6b3a7640000021582021561015f57670de0b6b3a7640000020490565b90805f19048211810215620f4240021561015f57620f424091020490565b7f1c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71811160090215600a021561015f576009600a91020490565b815f1904811182021583021561015f57020490565b60020b908160ff1d82810118620d89e881116140285763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b18916002811661400c575b60048116613ff0575b60088116613fd4575b60108116613fb8575b60208116613f9c575b60408116613f80575b60808116613f64575b6101008116613f48575b6102008116613f2c575b6104008116613f10575b6108008116613ef4575b6110008116613ed8575b6120008116613ebc575b6140008116613ea0575b6180008116613e84575b620100008116613e68575b620200008116613e4d575b620400008116613e32575b6208000016613e19575b5f12613e11575b0160201c90565b5f1904613e0a565b6b048a170391f7dc42444e8fa290910260801c90613e03565b6d2216e584f5fa1ea926041bedfe9890920260801c91613df9565b916e5d6af8dedb81196699c329225ee6040260801c91613dee565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c91613de3565b916f31be135f97d08fd981231505542fcfa60260801c91613dd8565b916f70d869a156d2a1b890bb3df62baf32f70260801c91613dce565b916fa9f746462d870fdf8a65dc1f90e061e50260801c91613dc4565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91613dba565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91613db0565b916ff3392b0822b70005940c7a398e4b70f30260801c91613da6565b916ff987a7253ac413176f2b074cf7815e540260801c91613d9c565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91613d92565b916ffe5dee046a99a2a811c461f1969c30530260801c91613d88565b916fff2ea16466c96a3843ec78b326b528610260801c91613d7f565b916fff973b41fa98c081472e6896dfb254c00260801c91613d76565b916fffcb9843d60f6159c9db58835c9266440260801c91613d6d565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91613d64565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91613d5b565b916ffff97272373d413259a46990580e213a0260801c91613d52565b826147f2565b94929593905f92808710155f14614051575050505061025a906001948094614929565b9296919281871161406b57505050908161025a92946148ef565b909196506001600160801b03869493961161015f578015614130576140af6140a86140bc936140b5936002880a04818860011b0303908703613c66565b97856148d4565b866116f0565b8095613c66565b938585101561410357614100929394956140f9916001976140e885670de0b6b3a7640000038685613cf9565b670de0b6b3a7640000019203613cf9565b8093614962565b91565b61025a9294614129915f976141188582613c3e565b670de0b6b3a7640000039203613cf9565b80946148ef565b614807565b919390916001600160a01b03808616908416116141cb575b6001600160a01b038181169084168111614177575050509061025a92614172926149db565b6149c7565b929391929091906001600160a01b03861611156141bc57906141a16141a7939261025a96836149db565b93614996565b808210156141b557506149c7565b90506149c7565b505061025a9261417292614996565b91939161414d565b909160608284031261015f5781516141ea8161014e565b926020830151926040810151906001600160401b03821161015f570181601f8201121561015f5780519061421d82611dea565b9261422b6040519485610204565b8284526020838301011161015f57815f9260208093018386015e8301015290565b91614273906080949796959260018060a01b0316845260a0602085015260a0840190610225565b6001600160a01b039687166040840152951660608201520152565b909260406142a861012092602080825183010191016141d3565b939096865f146143c85701906142ce610ece6142c7610ece8551611f9e565b9351611fb0565b935b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116925f9161430d908b9086908816613bc1565b6143358a8751988997889687956344bc658560e01b875260018060a01b03166004870161424c565b03925af192831561068d575f915f946143a5575b501561437f5761436c61437691614367612fdb95966136fe86611f9e565b6116f0565b93610e2b83611fb0565b612cf682611fb0565b6143a090614367614396612fdb95610e2b86611f9e565b956136fe85611fb0565b614376565b9093506143c1915060403d604011612f4657612f288183610204565b925f614349565b01906143e4610ece6143dd610ece8551611fb0565b9351611f9e565b936142d0565b51604051630d34328160e11b815290602090829060049082906001600160a01b03165afa90811561068d575f9161441f575090565b90506020813d60201161444c575b8161443a60209383610204565b8101031261015f575161025a816114b6565b3d915061442d565b97919492959690935f925b60648410614474575050505050505050505090565b61448f9086620f42409c939495969798999a9b9c0390613ca2565b8a15614584576001600160a01b03906144a990898b614dca565b16906001600160a01b03906144bf90898b614e8f565b165b8a15614567570160011c6001600160a01b03165b6001600160a01b0381811690861681106144f95750505050505061025a9450614a48565b9498979695946001600160a01b03831610156145545780828b858b8d61452561452d978e8e8e88614a6d565b959094614ab9565b809b929591956145455750600101929190989361445f565b9a505050505050505050505090565b50509550509091925061025a9450614a22565b6001600160a01b039180820160011c9160029108151501166144d5565b906001600160a01b039061459990898b614d6b565b16906001600160a01b03906145af90898b614e33565b166144c1565b600160ff1b81146116eb575f0390565b6001600160a01b039182168152911515602083015260408201929092529116606082015260a06080820181905261025a92910190610225565b926146bc9291604091614626614620610b54610b54855160018060a01b031690565b916145b5565b841561475a575f6401000276a4915b61469e61012086016146906146616060614658610ece6135ea610ece8751611f9e565b99015160020b90565b89516001600160a01b03938416602082015298909216604089015260029190910b606088015286906080820190565b03601f198101875286610204565b8551630251596160e31b8152978895869485938a30600487016145c5565b03925af190811561068d57612fdb925f905f93614736575b508115614721576146e8906136fe86611f9e565b6146f185611f9e565b521561471457612d359061470e61470785611fb0565b51916145b5565b906116f0565b612d35906136fe84611fb0565b6147319061470e61470787611f9e565b6146e8565b905061475291925060403d604011612f4657612f288183610204565b91905f6146d4565b5f73fffd8963efd1fc6a506488495d951d5263988d2591614635565b906014528160345263095ea7b360601b5f5260205f6044601082855af13d1560015f51141716156147aa575b50505f603452565b604460105f80936020958260345263095ea7b360601b83528238868683865af1506034525af13d1560015f51141716156147e5575f806147a2565b633e3f8f735f526004601cfd5b6345c3193d60e11b5f5260020b60045260245ffd5b634e487b7160e01b5f52601260045260245ffd5b9290600193925b6001821161482e575050565b909280820481116116eb576001841661484e575b80029260011c90614822565b80940293614842565b6148685f196002600160601b61481b565b90815f190481116116eb570290565b905f9180156148ce5780806001146148c6576002146148bf5760016101338210166001600b831016176148b45761486891925060025f199161481b565b6002900a916116eb57565b5060049150565b506001925050565b505f9150565b906148e161025a92614877565b6148e9614857565b91614ce8565b90916001600160801b03821161015f5761025a9261491691670de0b6b3a764000003613c3e565b906002614921614857565b910a91614ce8565b90916001600160801b03821161015f5761025a9261495091670de0b6b3a764000003613c3e565b600261495a614857565b920a90614ce8565b9190916001600160801b03811161015f5761025a92614985916002614921614857565b90670de0b6b3a76400000390613c66565b61025a9291906001600160a01b03808316908216116149c1575b90036001600160a01b031690614c12565b906149b0565b906001600160801b03821691820361015f57565b61025a92916001600160a01b0380821690831611614a1c575b614a0a6001600160a01b03828116908416614c9f565b9190036001600160a01b031691614ce8565b906149f4565b614a3b61025a94614a4292949394620f42400390614f2d565b8383614e33565b90614f8f565b614a6161025a94614a6892949394620f42400390614f2d565b8383614dca565b615053565b93949391929115614a9e5790614a988392614a8c61025a958489614ff3565b90620f42400390614f50565b94615053565b93614ab38295614a8c858461025a979661507f565b94614f8f565b939497959296909196845f14614bdf5788811115614bd657614adf8982035b89846149db565b90614aed8588018486614996565b985b898310998a15614bc657614b038185613c66565b9a5b15614b6b5750505090614b1b614b2193926149c7565b9161507f565b9115614b5c57620f424092919082821115614b4b5750035b925b670de0b6b3a76400000310929190565b9050614b579150613cc0565b614b39565b939450620f4240910393614b3b565b909250614b8391969750614b899450999498996149c7565b91614ff3565b9215614b9c57500392620f424090614b3b565b9493620f4240929082821115614bb55750035b92614b3b565b9050614bc19150613cc0565b614baf565b614bd08482613c66565b9a614b05565b614adf5f614ad8565b614bec84820189846149db565b9089871115614c0957614c038a88035b8486614996565b98614aef565b614c035f614bfc565b90606082901b905f19600160601b8409928280851094039380850394614c39868511613b0c565b14614c98578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b81810291905f1982820991838084109303928084039384600160601b111561015f5714614cdf57600160601b910990828211900360a01b910360601c1790565b50505060601c90565b91818302915f19818509938380861095039480860395614d09878611613b0c565b14614d63579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b91908115614dc5576001600160a01b03909216918183029160609190911b600160601b600160e01b031690820483148282111615614db85761025a92614db3928203916150bb565b6150e4565b63f5c787f15f526004601cfd5b505090565b91908115614dc55760601b600160601b600160e01b0316916001600160a01b03168181028281048214614e1f575b5080156141305782049081018091116116eb5780820615159104016001600160a01b031690565b8301838110614df8579150610b54926150bb565b916001600160a01b038111614e76576001600160801b039060601b91169081156141305704905b6001600160a01b03169081019081106116eb5761025a906150e4565b6001600160801b03614e89921690614c12565b90614e5a565b91906001600160a01b038211614ef0576001600160801b03614eb4614ec19360601b90565b9116808206151591040190565b905b6001600160a01b03169080821115614ee35790036001600160a01b031690565b634323a5555f526004601cfd5b6001600160801b0316614f0881600160601b84614ce8565b91811561413057600160601b9009614f21575b90614ec3565b60010180614f1b575f80fd5b815f19048111820215620f4240021561015f5702620f4240808204910615150190565b7d10c6f7a0b5ed8d36b4c7f34938583621fafc8b0079a2834d26fa3fcc9ea98111620f4240021582021561015f57620f42400290808204910615150190565b6001600160a01b0382811690821611614fed575b6001600160a01b038116928315614fe157614fdd926001600160a01b0380821693909103169060601b600160601b600160e01b0316614ce8565b0490565b62bfc9215f526004601cfd5b90614fa3565b6001600160a01b038281169082161161504d575b6001600160a01b038116928315614fe157615041926001600160a01b0380821693909103169060601b600160601b600160e01b03166150bb565b90808206151591040190565b90615007565b61025a926001600160a01b03928316919092160360ff81901d90810118906001600160801b0316614c9f565b6001600160a01b0391821691160360ff81901d90810118906001906001600160801b03166150ad8382614c9f565b928260601b91091515160190565b9291906150c9828286614ce8565b93821561413057096150d757565b9060010190811561015f57565b6001600160a01b038116919082036150f857565b6393dafdf160e01b5f5260045ffdfea264697066735822122041f69c1f692c15f2026301b4642eb41d3f50e4a5d2ab1ef2b89a8248a9dd459a64736f6c634300081d0033000000000000000000000000b4d72b1c91e640e4ed7d7397f3244de4d8acc50b000000000000000000000000da14fdd72345c4d2511357214c5b89a919768e59000000000000000000000000354dbba1348985cc952c467b8ddaf5dd07590667000000000000000000000000827922686190790b37229fd06084350e74485b720000000000000000000000005e7bb104d84c7cb9b682aac2f3d509f5f406809a000000000000000000000000ec8e5342b19977b4ef8892e02d8daecfa1315831000000000000000000000000940181a94a35a4569e4529a3cdfb74e38fd986310000000000000000000000001dc7a0f5336f52724b650e39174cfcbbedd67bf1000000000000000000000000d74339e0f10fce96894916b93e5cc7de89c98272