0 txs
19.1k calls
constructor
No constructor.
functions
creator
viewfunction creator() view returns (address)
depositor
viewfunction depositor() view returns (address)
getTrackedAssets
viewfunction getTrackedAssets() view returns (tuple[] trackedAssets)
initialize
nonpayablefunction initialize(address _depositor, address _creator)
recoverAssets
nonpayablefunction recoverAssets()
recoverAssets
nonpayablefunction recoverAssets(uint256 _portion, address _to)
swapToSingleAsset
nonpayablefunction swapToSingleAsset(tuple _swapData, uint256 _expectedDestTokenAmount) returns (uint256 balanceAfterSwaps)
unrollAssets
nonpayablefunction unrollAssets(address _dHedgeVault)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b5061445e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c806302d05d3f1461007d578063341a6eba1461009b578063485cc955146100b05780634e9f7554146100c357806363c7feef146100e3578063c4b97370146100eb578063c7c4ff4614610100578063ed8bf63814610108575b600080fd5b61008561011b565b6040516100929190613e07565b60405180910390f35b6100ae6100a9366004613969565b61012a565b005b6100ae6100be3660046135cf565b610269565b6100d66100d13660046138e9565b61039a565b604051610092919061415f565b6100ae610851565b6100f3610898565b6040516100929190613f07565b6100856109d7565b6100ae610116366004613597565b6109ec565b6001546001600160a01b031681565b6001546001600160a01b0316331461015d5760405162461bcd60e51b815260040161015490613fa7565b60405180910390fd5b81670de0b6b3a7640000141561017b5761017681610a22565b610265565b60006101876002610afd565b905060008060005b83811015610260576101a2600282610b10565b925061023c670de0b6b3a764000061023688866001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016101e09190613e07565b60206040518083038186803b1580156101f857600080fd5b505afa15801561020c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102309190613951565b90610b25565b90610b7e565b91508115610258576102586001600160a01b0384168684610be2565b60010161018f565b505050505b5050565b600054610100900460ff16806102825750610282610c34565b80610290575060005460ff16155b6102cb5760405162461bcd60e51b815260040180806020018281038252602e8152602001806143b0602e913960400191505060405180910390fd5b600054610100900460ff161580156102f6576000805460ff1961ff0019909116610100171660011790555b6001600160a01b03831661031c5760405162461bcd60e51b815260040161015490613ffc565b6001600160a01b0382166103425760405162461bcd60e51b815260040161015490613ffc565b6000805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600180546001600160a01b0319169184169190911790558015610395576000805461ff00191690555b505050565b6001546000906001600160a01b031633146103c75760405162461bcd60e51b815260040161015490613fa7565b60015460408051632b3297f960e01b815290516000926001600160a01b031691632b3297f9916004808301926020929190829003018186803b15801561040c57600080fd5b505afa158015610420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044491906135b3565b905060005b6104538580614168565b90508110156105cc576104668580614168565b8281811061047057fe5b905060200281019061048291906141b5565b602001356104908680614168565b8381811061049a57fe5b90506020028101906104ac91906141b5565b6104ba906020810190613597565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104e59190613e07565b60206040518083038186803b1580156104fd57600080fd5b505afa158015610511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105359190613951565b146105525760405162461bcd60e51b815260040161015490613f7a565b6105c4826105608780614168565b8481811061056a57fe5b905060200281019061057c91906141b5565b6020013561058a8880614168565b8581811061059457fe5b90506020028101906105a691906141b5565b6105b4906020810190613597565b6001600160a01b03169190610c46565b600101610449565b506105d561342d565b604080516001808252818301909252600091816020015b6105f461344c565b8152602001906001900390816105ec5790505090506106138680614168565b61061c91614214565b8160008151811061062957fe5b60200260200101516000018190525060008160008151811061064757fe5b60200260200101516020015160000190600281111561066257fe5b9081600281111561066f57fe5b90525080825261068736879003870160208801613899565b6020830152604051630bffcd2560e41b81526001600160a01b0384169063bffcd250906106b8908590600401614051565b600060405180830381600087803b1580156106d257600080fd5b505af11580156106e6573d6000803e3d6000fd5b506106fb925050506040870160208801613597565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107269190613e07565b60206040518083038186803b15801561073e57600080fd5b505afa158015610752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107769190613951565b9350848410156107985760405162461bcd60e51b815260040161015490614025565b60005b6107a58780614168565b90508110156107f6576107ed6107bb8880614168565b838181106107c557fe5b90506020028101906107d791906141b5565b6107e5906020810190613597565b600290610d37565b5060010161079b565b5061080a6107e56040880160208901613597565b50831561084857600054610848906201000090046001600160a01b03168561083860408a0160208b01613597565b6001600160a01b03169190610be2565b50505092915050565b6001546001600160a01b0316331461087b5760405162461bcd60e51b815260040161015490613fa7565b600054610896906201000090046001600160a01b0316610a22565b565b606060006108a66002610afd565b9050806001600160401b03811180156108be57600080fd5b506040519080825280602002602001820160405280156108f857816020015b6108e5613466565b8152602001906001900390816108dd5790505b50915060005b818110156109d257604080518082019091528061091c600284610b10565b6001600160a01b03168152602001610935600284610b10565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016109609190613e07565b60206040518083038186803b15801561097857600080fd5b505afa15801561098c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b09190613951565b8152508382815181106109bf57fe5b60209081029190910101526001016108fe565b505090565b6000546201000090046001600160a01b031681565b6001546001600160a01b03163314610a165760405162461bcd60e51b815260040161015490613fa7565b610a1f81610d4c565b50565b6000610a2e6002610afd565b905060008060005b83811015610af657610a49600282610b10565b6040516370a0823160e01b81529093506001600160a01b038416906370a0823190610a78903090600401613e07565b60206040518083038186803b158015610a9057600080fd5b505afa158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190613951565b9150610ad5600284610d37565b5060001990930192610af16001600160a01b0384168684610be2565b610a36565b5050505050565b6000610b08826112d8565b90505b919050565b6000610b1c83836112dc565b90505b92915050565b600082610b3457506000610b1f565b82820282848281610b4157fe5b0414610b1c5760405162461bcd60e51b81526004018080602001828103825260218152602001806143de6021913960400191505060405180910390fd5b6000808211610bd1576040805162461bcd60e51b815260206004820152601a602482015279536166654d6174683a206469766973696f6e206279207a65726f60301b604482015290519081900360640190fd5b818381610bda57fe5b049392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610395908490611340565b6000610c3f306113f1565b1590505b90565b6000610cdc82856001600160a01b031663dd62ed3e30876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015610caa57600080fd5b505afa158015610cbe573d6000803e3d6000fd5b505050506040513d6020811015610cd457600080fd5b5051906113f7565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052909150610d31908590611340565b50505050565b6000610b1c836001600160a01b03841661144f565b6000816001600160a01b0316631e50a4a66040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8757600080fd5b505afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf91906135b3565b90506000816001600160a01b031663e5406dbf6040518163ffffffff1660e01b815260040160006040518083038186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e389190810190613653565b90506000836001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e7557600080fd5b505afa158015610e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ead91906135b3565b90506000610ec660058451610b2590919063ffffffff16565b6001600160401b0381118015610edb57600080fd5b50604051908082528060200260200182016040528015610f05578160200160208202803683370190505b5090506000805b84518110156111d5576000858281518110610f2357fe5b60200260200101516000015190506000856001600160a01b031663032c49ed836040518263ffffffff1660e01b8152600401610f5f9190613e07565b60206040518083038186803b158015610f7757600080fd5b505afa158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf919061392f565b9050606061ffff8216610fcc57610fc583611515565b9050611173565b8161ffff1660011480610fe357508161ffff166004145b80610ff257508161ffff16600e145b8061100157508161ffff166016145b8061101057508161ffff1660c8145b1561101e57610fc583611694565b8161ffff166003148061103557508161ffff166008145b8061104457508161ffff16601b145b8061105357508161ffff166020145b8061106257508161ffff166024145b8061107157508161ffff166069145b1561107b57611173565b8161ffff166007141561109257610fc58a846116e9565b8161ffff16601914156110ab57610fc587846001611a31565b8161ffff16601a14156110c257610fc58a84612189565b8161ffff16601c14156110e057610fc56110db84612714565b611694565b8161ffff16601e14156110f757610fc5838b612787565b8161ffff16601f141561110e57610fc58a846128a2565b8161ffff166022141561112757610fc56110db84612b74565b8161ffff166025141561114157610fc56110db8b85612baf565b8161ffff166066141561115b57610fc56110db8489612e46565b60405162461bcd60e51b815260040161015490613fcd565b60005b81518110156111c65781818151811061118b57fe5b6020026020010151878760ff16815181106111a257fe5b6001600160a01b039092166020928302919091019091015260019586019501611176565b50505050806001019050610f0c565b5081516000906111e89060ff8416612f35565b905080835103835260005b83518110156112ce57600084828151811061120a57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316141580156112b357506040516370a0823160e01b81526000906001600160a01b038316906370a0823190611261903090600401613e07565b60206040518083038186803b15801561127957600080fd5b505afa15801561128d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b19190613951565b115b156112c5576112c3600282612f92565b505b506001016111f3565b5050505050505050565b5490565b8154600090821061131e5760405162461bcd60e51b81526004018080602001828103825260228152602001806143686022913960400191505060405180910390fd5b82600001828154811061132d57fe5b9060005260206000200154905092915050565b6000611395826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612fa79092919063ffffffff16565b805190915015610395578080602001905160208110156113b457600080fd5b50516103955760405162461bcd60e51b815260040180806020018281038252602a8152602001806143ff602a913960400191505060405180910390fd5b3b151590565b600082820183811015610b1c576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b6000818152600183016020526040812054801561150b578354600019808301919081019060009087908390811061148257fe5b906000526020600020015490508087600001848154811061149f57fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806114cf57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610b1f565b6000915050610b1f565b6001546040516376e5e38b60e01b81526060916001600160a01b0316906376e5e38b90611546908590600401613e07565b60206040518083038186803b15801561155e57600080fd5b505afa158015611572573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611596919061387f565b1561168f576040516370a0823160e01b81526000906001600160a01b038416906370a08231906115ca903090600401613e07565b60206040518083038186803b1580156115e257600080fd5b505afa1580156115f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161a9190613951565b9050801561168957604051632e1a7d4d60e01b81526001600160a01b03841690632e1a7d4d9061164e90849060040161415f565b600060405180830381600087803b15801561166857600080fd5b505af115801561167c573d6000803e3d6000fd5b5050505061168983610d4c565b50610b0b565b610b08825b6040805160018082528183019092526060916020808301908036833701905050905081816000815181106116c457fe5b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b60606000836001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561172657600080fd5b505afa15801561173a573d6000803e3d6000fd5b505050506040513d602081101561175057600080fd5b505160408051634f8419b960e01b81526001600160a01b03868116600483015291519190921691634f8419b9916024808301926020929190829003018186803b15801561179c57600080fd5b505afa1580156117b0573d6000803e3d6000fd5b505050506040513d60208110156117c657600080fd5b505160408051634fac7e4160e01b81526001600160a01b03878116600483015291519190921691634fac7e41916024808301926000929190829003018186803b15801561181257600080fd5b505afa158015611826573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561184f57600080fd5b8101908080516040519392919084600160201b82111561186e57600080fd5b90830190602082018581111561188357600080fd5b82518660208202830111600160201b8211171561189f57600080fd5b82525081516020918201928201910280838360005b838110156118cc5781810151838201526020016118b4565b505050509050016040525050509050600081519050806002026001600160401b03811180156118fa57600080fd5b50604051908082528060200260200182016040528015611924578160200160208202803683370190505b50925060005b8181101561084857600080866001600160a01b03166399fbab8886858151811061195057fe5b60200260200101516040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561198d57600080fd5b505afa1580156119a1573d6000803e3d6000fd5b505050506040513d6101808110156119b857600080fd5b5060408101516060909101518751919350915082908790600286029081106119dc57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868460020260010181518110611a0f57fe5b6001600160a01b0390921660209283029190910190910152505060010161192a565b60606000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a8257600080fd5b505afa158015611a96573d6000803e3d6000fd5b505050506040513d6020811015611aac57600080fd5b505190508015612181576000846001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015611af157600080fd5b505afa158015611b05573d6000803e3d6000fd5b505050506040513d6020811015611b1b57600080fd5b50516040805163d21220a760e01b815290519192506000916001600160a01b0388169163d21220a7916004808301926020929190829003018186803b158015611b6357600080fd5b505afa158015611b77573d6000803e3d6000fd5b505050506040513d6020811015611b8d57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b03891660048201819052602482018790529151929350909163a9059cbb916044808201926020929091908290030181600087803b158015611be457600080fd5b505af1158015611bf8573d6000803e3d6000fd5b505050506040513d6020811015611c0e57600080fd5b50506040805163226bf2d160e21b815230600482015281516001600160a01b038916926389afcb4492602480820193918290030181600087803b158015611c5457600080fd5b505af1158015611c68573d6000803e3d6000fd5b505050506040513d6040811015611c7e57600080fd5b505060408051633f30232f60e21b81526001600160a01b03888116600483015291516000928a169163fcc08cbc916024808301926020929190829003018186803b158015611ccb57600080fd5b505afa158015611cdf573d6000803e3d6000fd5b505050506040513d6020811015611cf557600080fd5b5051604080516311b25aab60e21b815290516001600160a01b03909216916346c96aac91600480820192602092909190829003018186803b158015611d3957600080fd5b505afa158015611d4d573d6000803e3d6000fd5b505050506040513d6020811015611d6357600080fd5b50516040805163b9a09fd560e01b81526001600160a01b038a811660048301529151919092169163b9a09fd5916024808301926020929190829003018186803b158015611daf57600080fd5b505afa158015611dc3573d6000803e3d6000fd5b505050506040513d6020811015611dd957600080fd5b5051905060006001600160a01b03821615611e635786611e5d57816001600160a01b031663e68863966040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2c57600080fd5b505afa158015611e40573d6000803e3d6000fd5b505050506040513d6020811015611e5657600080fd5b5051611e60565b60015b90505b806002016001600160401b0381118015611e7c57600080fd5b50604051908082528060200260200182016040528015611ea6578160200160208202803683370190505b509550600084878281518110611eb857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808060010191505083878281518110611eed57fe5b6001600160a01b03928316602091820292909201015260019091019083161561217b578715612030576000836001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b158015611f5157600080fd5b505afa158015611f65573d6000803e3d6000fd5b505050506040513d6020811015611f7b57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015611fc957600080fd5b505afa158015611fdd573d6000803e3d6000fd5b505050506040513d6020811015611ff357600080fd5b505190508015612029578189848151811061200a57fe5b6001600160a01b03909216602092830291909101909101526001909201915b5050612165565b60005b82811015612163576000846001600160a01b031663f301af42836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561208157600080fd5b505afa158015612095573d6000803e3d6000fd5b505050506040513d60208110156120ab57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156120f957600080fd5b505afa15801561210d573d6000803e3d6000fd5b505050506040513d602081101561212357600080fd5b50519050801561215957818a858151811061213a57fe5b6001600160a01b03909216602092830291909101909101526001909301925b5050600101612033565b505b86516000906121749083612f35565b8851038852505b50505050505b509392505050565b60606000836001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c657600080fd5b505afa1580156121da573d6000803e3d6000fd5b505050506040513d60208110156121f057600080fd5b505160408051634f8419b960e01b81526001600160a01b03868116600483015291519190921691634f8419b9916024808301926020929190829003018186803b15801561223c57600080fd5b505afa158015612250573d6000803e3d6000fd5b505050506040513d602081101561226657600080fd5b505160408051634fac7e4160e01b81526001600160a01b038781166004830152915192935060009291841691634fac7e41916024808201928692909190829003018186803b1580156122b757600080fd5b505afa1580156122cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156122f457600080fd5b8101908080516040519392919084600160201b82111561231357600080fd5b90830190602082018581111561232857600080fd5b82518660208202830111600160201b8211171561234457600080fd5b82525081516020918201928201910280838360005b83811015612371578181015183820152602001612359565b50505050919091016040525050825192935050508061239257505050610b1f565b806002026001016001600160401b03811180156123ae57600080fd5b506040519080825280602002602001820160405280156123d8578160200160208202803683370190505b509350600085815b83811015612708576000806000846001600160a01b03166399fbab8889868151811061240857fe5b60200260200101516040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561244557600080fd5b505afa158015612459573d6000803e3d6000fd5b505050506040513d61018081101561247057600080fd5b50604081015160608201516080909201518c5191955091935090915083908b906002870290811061249d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818a85600202600101815181106124d057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050856126fa576000856001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561253057600080fd5b505afa158015612544573d6000803e3d6000fd5b505050506040513d602081101561255a57600080fd5b5051604080516328af8d0b60e01b81526001600160a01b0387811660048301528681166024830152600286900b6044830152915191909216916328af8d0b916064808301926020929190829003018186803b1580156125b857600080fd5b505afa1580156125cc573d6000803e3d6000fd5b505050506040513d60208110156125e257600080fd5b5051604080516329bc672160e21b815290516001600160a01b039092169163a6f19c8491600480820192602092909190829003018186803b15801561262657600080fd5b505afa15801561263a573d6000803e3d6000fd5b505050506040513d602081101561265057600080fd5b50516040805163f7c618c160e01b815290519192506001600160a01b0383169163f7c618c191600480820192602092909190829003018186803b15801561269657600080fd5b505afa1580156126aa573d6000803e3d6000fd5b505050506040513d60208110156126c057600080fd5b50518b518c9060001981019081106126d457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060019650505b5050508060010190506123e0565b50505050505092915050565b6000816001600160a01b031663c55dae636040518163ffffffff1660e01b815260040160206040518083038186803b15801561274f57600080fd5b505afa158015612763573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0891906135b3565b60606000836001600160a01b031663bcde2019846040518263ffffffff1660e01b81526004016127b79190613e07565b60006040518083038186803b1580156127cf57600080fd5b505afa1580156127e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261280b919081019061372f565b8051909150806001600160401b038111801561282657600080fd5b50604051908082528060200260200182016040528015612850578160200160208202803683370190505b50925060005b818110156108485782818151811061286a57fe5b60200260200101516000015184828151811061288257fe5b6001600160a01b0390921660209283029190910190910152600101612856565b60606000836001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156128df57600080fd5b505afa1580156128f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061291791906135b3565b6001600160a01b0316634f8419b9846040518263ffffffff1660e01b81526004016129429190613e07565b60206040518083038186803b15801561295a57600080fd5b505afa15801561296e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299291906135b3565b6001600160a01b0316634fac7e41856040518263ffffffff1660e01b81526004016129bd9190613e07565b60006040518083038186803b1580156129d557600080fd5b505afa1580156129e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a1191908101906137f0565b905080516002026001600160401b0381118015612a2d57600080fd5b50604051908082528060200260200182016040528015612a57578160200160208202803683370190505b50915060005b8151811015612b6c57600080856001600160a01b03166399fbab88858581518110612a8457fe5b60200260200101516040518263ffffffff1660e01b8152600401612aa8919061415f565b6101806040518083038186803b158015612ac157600080fd5b505afa158015612ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af99190613aab565b505050505050505093509350505081858460020281518110612b1757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080858460020260010181518110612b4a57fe5b6001600160a01b03909216602092830291909101909101525050600101612a5d565b505092915050565b6000816001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561274f57600080fd5b600080826001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401612bde9190613e07565b60206040518083038186803b158015612bf657600080fd5b505afa158015612c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2e9190613951565b905080612c3b5750610b1f565b6000612c478486612fc0565b80945081925050506000846001600160a01b0316632f13b60c6040518163ffffffff1660e01b815260040160206040518083038186803b158015612c8a57600080fd5b505afa158015612c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc2919061387f565b9050612cec6001600160a01b03861673888888888889758f76e7103c6cbf23abbf58f94685610c46565b8015612d945773888888888889758f76e7103c6cbf23abbf58f94663f06a07a03084866000612d1b8a82613164565b6040518663ffffffff1660e01b8152600401612d3b959493929190613ecd565b60c060405180830381600087803b158015612d5557600080fd5b505af1158015612d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8d919061398d565b5050610848565b73888888888889758f76e7103c6cbf23abbf58f946637036e052308486600080612dbe8b82613164565b612dc66131bc565b6040518863ffffffff1660e01b8152600401612de89796959493929190613e1b565b61014060405180830381600087803b158015612e0357600080fd5b505af1158015612e17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e3b9190613a11565b505050505092915050565b604051633f30232f60e21b81526000906001600160a01b0383169063fcc08cbc90612e75908690600401613e07565b60206040518083038186803b158015612e8d57600080fd5b505afa158015612ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec591906135b3565b6001600160a01b03166369d8ff106040518163ffffffff1660e01b815260040160206040518083038186803b158015612efd57600080fd5b505afa158015612f11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1c91906135b3565b600082821115612f8c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610b1c836001600160a01b0384166131c4565b6060612fb6848460008561320e565b90505b9392505050565b6000806000836001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015612ffe57600080fd5b505afa158015613012573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303691906135b3565b6001600160a01b031663fcc08cbc866040518263ffffffff1660e01b81526004016130619190613e07565b60206040518083038186803b15801561307957600080fd5b505afa15801561308d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b191906135b3565b60405163e411b36d60e01b81529091506001600160a01b0382169063e411b36d906130e0908890600401613e07565b60606040518083038186803b1580156130f857600080fd5b505afa15801561310c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131309190613607565b5090935091506001600160a01b03831661315c5760405162461bcd60e51b815260040161015490613f52565b509250929050565b61316c61347d565b6040518060a00160405280846001600160a01b03168152602001838152602001846001600160a01b0316815260200160006001600160a01b031681526020016131b3613369565b90529392505050565b610c436134c7565b60006131d08383613371565b61320657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b1f565b506000610b1f565b60608247101561324f5760405162461bcd60e51b815260040180806020018281038252602681526020018061438a6026913960400191505060405180910390fd5b613258856113f1565b6132a9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106132e75780518252601f1990920191602091820191016132c8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613349576040519150601f19603f3d011682016040523d82523d6000602084013e61334e565b606091505b509150915061335e828286613389565b979650505050505050565b610c436134ff565b60009081526001919091016020526040902054151590565b60608315613398575081612fb9565b8251156133a85782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133f25781810151838201526020016133da565b50505050905090810190601f16801561341f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b604051806040016040528060608152602001613447613466565b905290565b604051806040016040528060608152602001613447613528565b604080518082019091526000808252602082015290565b6040518060a0016040528060006001600160a01b031681526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681526020016134476134ff565b6040518060a0016040528060006001600160a01b03168152602001600081526020016060815260200160608152602001606081525090565b604080516080810190915280600081526000602082018190526060604083018190529091015290565b60408051808201909152600081526060602082015290565b8051610b0b81614352565b80518015158114610b0b57600080fd5b8051600281900b8114610b0b57600080fd5b80516001600160801b0381168114610b0b57600080fd5b805162ffffff81168114610b0b57600080fd5b6000602082840312156135a8578081fd5b8135610b1c81614352565b6000602082840312156135c4578081fd5b8151610b1c81614352565b600080604083850312156135e1578081fd5b82356135ec81614352565b915060208301356135fc81614352565b809150509250929050565b60008060006060848603121561361b578081fd5b835161362681614352565b602085015190935061363781614352565b604085015190925061364881614352565b809150509250925092565b60006020808385031215613665578182fd5b82516001600160401b038082111561367b578384fd5b818501915085601f83011261368e578384fd5b81516136a161369c826141f7565b6141d4565b818152848101908486016040808502870188018b10156136bf578889fd5b8896505b848710156137205780828c0312156136d9578889fd5b805181810181811088821117156136ec57fe5b825282516136f981614352565b8152613706838a0161354b565b818a015284526001969096019592870192908101906136c3565b50909998505050505050505050565b60006020808385031215613741578182fd5b82516001600160401b0380821115613757578384fd5b818501915085601f83011261376a578384fd5b815161377861369c826141f7565b818152848101908486016040808502870188018b1015613796578889fd5b8896505b848710156137205780828c0312156137b0578889fd5b805181810181811088821117156137c357fe5b825282516137d081614352565b81528289015189820152845260019690960195928701929081019061379a565b60006020808385031215613802578182fd5b82516001600160401b03811115613817578283fd5b8301601f81018513613827578283fd5b805161383561369c826141f7565b8181528381019083850185840285018601891015613851578687fd5b8694505b83851015613873578051835260019490940193918501918501613855565b50979650505050505050565b600060208284031215613890578081fd5b610b1c8261354b565b6000604082840312156138aa578081fd5b604051604081018181106001600160401b03821117156138c657fe5b60405282356138d481614352565b81526020928301359281019290925250919050565b600080604083850312156138fb578182fd5b82356001600160401b03811115613910578283fd5b830160608186031215613921578283fd5b946020939093013593505050565b600060208284031215613940578081fd5b815161ffff81168114610b1c578182fd5b600060208284031215613962578081fd5b5051919050565b6000806040838503121561397b578182fd5b8235915060208301356135fc81614352565b60008082840360c08112156139a0578283fd5b8351925060a0601f19820112156139b5578182fd5b5060405160a081018181106001600160401b03821117156139d257fe5b80604052506020840151815260408401516020820152606084015160408201526080840151606082015260a08401516080820152809150509250929050565b600080828403610140811215613a25578283fd5b8351925061012080601f1983011215613a3c578283fd5b613a45816141d4565b91506020850151825260408501516020830152606085015160408301526080850151606083015260a0850151608083015260c085015160a083015260e085015160c08301526101008086015160e084015281860151818401525050809150509250929050565b6000806000806000806000806000806000806101808d8f031215613acd57898afd5b8c516001600160601b0381168114613ae3578a8bfd5b9b50613af160208e01613540565b9a50613aff60408e01613540565b9950613b0d60608e01613540565b9850613b1b60808e01613584565b9750613b2960a08e0161355b565b9650613b3760c08e0161355b565b9550613b4560e08e0161356d565b94506101008d015193506101208d01519250613b646101408e0161356d565b9150613b736101608e0161356d565b90509295989b509295989b509295989b565b6001600160a01b03169052565b6000815180845260208085018081965082840281019150828601855b85811015613cc657828403895281516060815181875280518288015287810151608081818a0152604091508183015160a081818c015285850151955060c09150613bfa828c0187613d1e565b91840151945060e091613c0f8b840187613b85565b8401519450610100613c238b820187613b85565b90840151945061012090613c398b830187613b85565b91840151945061014091613c4f8b840187613b85565b8401516101608b81019190915290840151610180808c0191909152918401516101a08b01528301516101c08a01919091529250613c906101e0890184613cd3565b925088840151915087830389890152613ca98383613cd3565b938101519701969096525098850198935090840190600101613bae565b5091979650505050505050565b60008151808452815b81811015613cf857602081850181015186830182015201613cdc565b81811115613d095782602083870101525b50601f01601f19169290920160200192915050565b60048110613d2857fe5b9052565b80516001600160a01b03168252602090810151910152565b600060018060a01b0380835116845260208301516020850152806040840151166040850152806060840151166060850152608083015160a060808601528051600b8110613d8d57fe5b60a0860152602081015190911660c08501526040810151608060e086015290613dba610120860183613cd3565b915060608101511515610100860152508091505092915050565b6000815160038110613de257fe5b80845250602082015160406020850152613dff6040850182613cd3565b949350505050565b6001600160a01b0391909116815260200190565b600060018060a01b03808a168352808916602084015287604084015286606084015285608084015260e060a0840152613e5760e0840186613d44565b83810360c0850152818551168152602085015160208201526040850151915060a06040820152613e8a60a0820183613b92565b915060608501518183036060830152613ea38382613b92565b92505060808501518183036080830152613ebd8382613cd3565b9c9b505050505050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061335e90830184613d44565b602080825282518282018190526000919060409081850190868401855b82811015613cc657815180516001600160a01b03168552860151868501529284019290850190600101613f24565b6020808252600e908201526d1c1d081b9bdd081a185b991b195960921b604082015260600190565b6020808252601390820152720e6e4c640c2dadeeadce840dad2e6dac2e8c6d606b1b604082015260600190565b6020808252600c908201526b37b7363c9031b932b0ba37b960a11b604082015260600190565b602080825260159082015274185cdcd95d151e5c19481b9bdd081a185b991b1959605a1b604082015260600190565b6020808252600f908201526e696e76616c6964206164647265737360881b604082015260600190565b60208082526012908201527168696768207377617020736c69707061676560701b604082015260600190565b600060208083526080830184516060808487015282825180855260a08801915060a086820289010194508584019350865b8181101561414857888603609f190183528451805160408089528151818a0181905290918a82028a01880191908b0190888b01908d5b81811015614119578c8503605f19018352835180516001600160a01b031686528e8101518f8701528601518686018c905280518c8701528e01516080860187905261410660a0870182613cd3565b955050928d0192918d01916001016140b8565b5050505091890151888303898b0152916141338184613dd4565b98505050948701945091860191600101614082565b50505050918501519150613dff6040850183613d2c565b90815260200190565b6000808335601e1984360301811261417e578283fd5b8301803591506001600160401b03821115614197578283fd5b60209081019250810236038213156141ae57600080fd5b9250929050565b60008235605e198336030181126141ca578182fd5b9190910192915050565b6040518181016001600160401b03811182821017156141ef57fe5b604052919050565b60006001600160401b0382111561420a57fe5b5060209081020190565b600061422261369c846141f7565b8381526020808201919084845b878110156143465781358701606080823603121561424b578788fd5b60408051918201916001600160401b03808411828510171561426957fe5b92825283359261427884614352565b9281528387013587820152818401359280841115614294578a8bfd5b83850194508285360312156142a7578a8bfd5b8251935082840184811082821117156142bc57fe5b83528435845287850135818111156142d2578b8cfd5b9490940193601f36818701126142e6578b8cfd5b8535828111156142f257fe5b614303818301601f19168b016141d4565b9250808352368a828901011115614318578c8dfd5b808a88018b850137820189018c9052508388015290810191909152865250938201939082019060010161422f565b50919695505050505050565b6001600160a01b0381168114610a1f57600080fdfe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220d84545f722f6b48bdf2c8738ee15c9a3cef52def4ba0e0d305d4a97665934eff64736f6c63430007060033