0 txs
0 calls
constructor
constructor(address _addressesGeneratorAddress, address _addressesMergeHelperAddress, address _oracleAddress)
functions
addressesGeneratorAddress
viewfunction addressesGeneratorAddress() view returns (address)
addressesMergeHelperAddress
viewfunction addressesMergeHelperAddress() view returns (address)
assetsStrategies
viewfunction assetsStrategies(address[] _assetsAddresses) view returns (tuple[])
assetsStrategiesAddresses
viewfunction assetsStrategiesAddresses() view returns (address[])
assetsStrategiesAddresses
viewfunction assetsStrategiesAddresses(address[] _assetsAddresses) view returns (address[])
assetsStrategiesAddressesByFilter
viewfunction assetsStrategiesAddressesByFilter(address[] _strategiesAddresses, string[][] filter) view returns (address[])
assetsStrategiesAddressesByFilter
viewfunction assetsStrategiesAddressesByFilter(string[][] filter) view returns (address[])
assetsStrategiesByFilter
viewfunction assetsStrategiesByFilter(address[] _assetsAddresses, string[][] _filter) view returns (tuple[])
assetsStrategiesByFilter
viewfunction assetsStrategiesByFilter(string[][] _filter) view returns (tuple[])
assetsStrategiesDelegatedBalance
viewfunction assetsStrategiesDelegatedBalance() view returns (uint256)
assetsStrategiesLength
viewfunction assetsStrategiesLength() view returns (uint256)
assetStrategies
viewfunction assetStrategies(address assetAddress) view returns (tuple[])
assetStrategiesAddresses
viewfunction assetStrategiesAddresses(address assetAddress) view returns (address[])
assetStrategiesDelegatedBalance
viewfunction assetStrategiesDelegatedBalance(address assetAddress) view returns (uint256)
assetStrategiesLength
viewfunction assetStrategiesLength(address assetAddress) view returns (uint256)
atoi
purefunction atoi(string input, uint8 base) pure returns (uint256 output)
bytes32ToString
purefunction bytes32ToString(bytes32 _bytes32) pure returns (string)
equal
purefunction equal(string input0, string input1) pure returns (bool)
indexOfStringInString
purefunction indexOfStringInString(string needle, string haystack) pure returns (int256)
itoa
purefunction itoa(uint256 input, uint8 base) pure returns (string output)
oracleAddress
viewfunction oracleAddress() view returns (address)
ownerAddress
viewfunction ownerAddress() view returns (address)
startsWith
purefunction startsWith(string haystack, string needle) pure returns (bool)
strategies
viewfunction strategies(address[] _strategiesAddresses) view returns (tuple[])
strategy
viewfunction strategy(address strategyAddress) view returns (tuple)
strategyPassesFilter
viewfunction strategyPassesFilter(address strategyAddress, string[][] instructions) view returns (bool)
updateSlot
nonpayablefunction updateSlot(bytes32 slot, bytes32 value)
events
No events.
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162003059380380620030598339810160408190526200003491620000a1565b600080546001600160a01b039485166001600160a01b03199182161790915560018054938516938216939093179092556002805491909316908216179091556003805490911633179055620000eb565b80516001600160a01b03811681146200009c57600080fd5b919050565b600080600060608486031215620000b757600080fd5b620000c28462000084565b9250620000d26020850162000084565b9150620000e26040850162000084565b90509250925092565b612f5e80620000fb6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806380a0c5cd116100f9578063a89ae4ba11610097578063d829c2b311610071578063d829c2b3146103c2578063f01c2668146103ca578063f7520f4e146103dd578063fbfdf079146103f057600080fd5b8063a89ae4ba14610389578063adf069ea1461039c578063d09b7ab7146103af57600080fd5b80639201de55116100d35780639201de551461033d57806397a077b9146103505780639add9d0214610363578063a5b166fb1461037657600080fd5b806380a0c5cd146103025780638f84aa091461031557806391ea83e81461032857600080fd5b806346bdca9a1161016657806359bd39091161014057806359bd3909146102915780635d183719146102bc57806361117512146102dc5780636f961bf1146102ef57600080fd5b806346bdca9a1461026e57806347411919146102815780635616c3e41461028957600080fd5b80630ec82f5b146101ae5780631465a32d146101d75780632096c59e146101f8578063228bfd9f1461021b57806329c34b6a1461023b578063336b5eb21461024e575b600080fd5b6101c16101bc36600461261f565b610403565b6040516101ce919061265b565b60405180910390f35b6101ea6101e53660046126a8565b610422565b6040519081526020016101ce565b61020b610206366004612723565b61053c565b60405190151581526020016101ce565b61022e610229366004612768565b610cd6565b6040516101ce9190612958565b6101ea61024936600461297a565b611551565b61026161025c366004612a2f565b61162a565b6040516101ce9190612a63565b61020b61027c3660046126a8565b6116f6565b6101c161179a565b6101ea61181e565b6000546102a4906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b6102cf6102ca366004612ac5565b6118ec565b6040516101ce9190612aea565b6101ea6102ea366004612768565b611b66565b6102616102fd366004612a2f565b611c37565b6101c1610310366004612a2f565b611c41565b6003546102a4906001600160a01b031681565b61033b610336366004612afd565b611d7f565b005b6102cf61034b366004612b1f565b611de1565b6101c161035e366004612768565b611f10565b61026161037136600461261f565b61201d565b6101ea610384366004612768565b612035565b6002546102a4906001600160a01b031681565b61020b6103aa3660046126a8565b6120cf565b6001546102a4906001600160a01b031681565b6101ea6120e3565b6102616103d8366004612768565b6120f3565b6101c16103eb366004612b38565b612212565b6102616103fe366004612b38565b6122e8565b6060600061040f61179a565b905061041b8184612212565b9392505050565b8151815160009184918491111561043f5760001992505050610536565b6000805b825181101561052c5760005b845181101561051957600085828151811061046c5761046c612b91565b0160200151855160f89190911c91506104858385612bbd565b1061049a576000199650505050505050610536565b6000856104a78486612bbd565b815181106104b7576104b7612b91565b016020015160f81c905060ff82168114156104f95760019450600187516104de9190612bd5565b8314156104f45783975050505050505050610536565b610504565b600094505050610519565b5050808061051190612bec565b91505061044f565b508061052481612bec565b915050610443565b5060001993505050505b92915050565b6000808251600361054d9190612c07565b6001600160401b038111156105645761056461243c565b60405190808252806020026020018201604052801561058d578160200160208202803683370190505b5090506000805b8451811015610c995760008582815181106105b1576105b1612b91565b602002602001015190506000816001815181106105d0576105d0612b91565b602002602001015190506000610620836000815181106105f2576105f2612b91565b60200260200101516040518060400160405280600881526020016727a822a920aa27a960c11b8152506116f6565b905080156109b25760008087610637600189612bd5565b8151811061064757610647612b91565b602002602001015190506000886002896106619190612bd5565b8151811061067157610671612b91565b602002602001015190506106b98660018151811061069157610691612b91565b602002602001015160405180604001604052806002815260200161455160f01b8152506116f6565b156106c45781811492505b610702866001815181106106da576106da612b91565b6020026020010151604051806040016040528060028152602001614e4560f01b8152506116f6565b1561070e578181141592505b61074c8660018151811061072457610724612b91565b60200260200101516040518060400160405280600281526020016111d560f21b8152506116f6565b156107575780821192505b6107968660018151811061076d5761076d612b91565b60200260200101516040518060400160405280600381526020016247544560e81b8152506116f6565b156107a2578082101592505b6107e0866001815181106107b8576107b8612b91565b602002602001015160405180604001604052806002815260200161131560f21b8152506116f6565b156107eb5780821092505b61082a8660018151811061080157610801612b91565b6020026020010151604051806040016040528060038152602001624c544560e81b8152506116f6565b15610836578082111592505b6108758660018151811061084c5761084c612b91565b60200260200101516040518060400160405280600381526020016210539160ea1b8152506116f6565b156108835760018282161492505b6108c18660018151811061089957610899612b91565b60200260200101516040518060400160405280600281526020016127a960f11b8152506116f6565b156108cf5760018282171492505b61090f866001815181106108e5576108e5612b91565b6020026020010151604051806040016040528060048152602001634c494b4560e01b8152506116f6565b1561093d57600061091f82611de1565b9050600061092c84611de1565b905061093882826122f7565b945050505b82156109725760018961095160028b612bd5565b8151811061096157610961612b91565b60200260200101818152505061099d565b60008961098060028b612bd5565b8151811061099057610990612b91565b6020026020010181815250505b876109a781612c26565b985050505050610c83565b6000806109f4856000815181106109cb576109cb612b91565b6020026020010151604051806040016040528060038152602001624b455960e81b8152506116f6565b905060608115610ad45760008c6001600160a01b031687600181518110610a1d57610a1d612b91565b6020026020010151604051602001610a359190612c3d565b60408051601f19818403018152600483526024830191829052610a5791612c63565b60408051918290039091206020830180516001600160e01b03166001600160e01b031990921691909117905251610a8e9190612c63565b600060405180830381855afa9150503d8060008114610ac9576040519150601f19603f3d011682016040523d82523d6000602084013e610ace565b606091505b50925050505b610b1386600281518110610aea57610aea612b91565b6020026020010151604051806040016040528060038152602001620908ab60eb1b8152506116f6565b15610b635760018215151415610b2f5760208101519250610c54565b610b5c610b5587600181518110610b4857610b48612b91565b602002602001015161230d565b6010611551565b9250610c54565b610ba586600281518110610b7957610b79612b91565b602002602001015160405180604001604052806006815260200165535452494e4760d01b8152506116f6565b15610bcd5760018215151415610bc15760608101519250610c54565b60208501519250610c54565b610c1086600281518110610be357610be3612b91565b602002602001015160405180604001604052806007815260200166111150d253505360ca1b8152506116f6565b15610c545760018215151415610c2c5760208101519250610c54565b610c5186600181518110610c4257610c42612b91565b6020026020010151600a611551565b92505b82898981518110610c6757610c67612b91565b602090810291909101015287610c7c81612bec565b9850505050505b5050508080610c9190612bec565b915050610594565b5081600081518110610cad57610cad612b91565b602002602001015160001c60011415610ccb57600192505050610536565b506000949350505050565b610cde6123a9565b60008290506000600260009054906101000a90046001600160a01b031690506000806000846001600160a01b0316631f1fcd516040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d649190612c7f565b604051632415d18360e11b81526001600160a01b03808316600483015291925082916000919087169063482ba30690602401602060405180830381865afa158015610db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd79190612c9c565b90506000876001600160a01b031663efbb5cb06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3d9190612c9c565b9050876001600160a01b0316636718835f6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e99575060408051601f3d908101601f19168201909252610e9691810190612cb5565b60015b610ea257610f08565b50876001600160a01b0316636718835f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f059190612cb5565b95505b876001600160a01b031663b252720b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f62575060408051601f3d908101601f19168201909252610f5f91810190612c7f565b60015b610f6b57610fd1565b50876001600160a01b031663b252720b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fce9190612c7f565b94505b604051806102400160405280896001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561101b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110439190810190612cd7565b81526020018b6001600160a01b03168152602001896001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa158015611095573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110bd9190810190612cd7565b8152602001896001600160a01b0316631fe4a6866040518163ffffffff1660e01b8152600401602060405180830381865afa158015611100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190612c7f565b6001600160a01b03168152602001896001600160a01b0316639ec5a8946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111949190612c7f565b6001600160a01b03168152602001896001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112049190612c7f565b6001600160a01b03168152602001896001600160a01b031663aced16616040518163ffffffff1660e01b8152600401602060405180830381865afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112749190612c7f565b6001600160a01b03168152602001856001600160a01b03168152602001838152602001846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f99190612d44565b60ff168152602001846001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561133f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113679190810190612cd7565b8152602001896001600160a01b0316635641ec036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ce9190612cb5565b15158152602001896001600160a01b03166322f3e2d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611413573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114379190612cb5565b15158152602001896001600160a01b0316638e6350e26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190612c9c565b81526020810183905260408051636816905560e11b81526001600160a01b03888116600483015260248201869052604482018790529190920191908a169063d02d20aa90606401602060405180830381865afa158015611504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115289190612c9c565b81526020018715158152602001866001600160a01b031681525098505050505050505050919050565b60008160ff166002148061156857508160ff166008145b8061157657508160ff16600a145b8061158457508160ff166010145b61158d57600080fd5b8260005b815181101561162257600060308383815181106115b0576115b0612b91565b01602001516115c2919060f81c612d61565b9050600a8160ff1611156115de576115db600782612d61565b90505b8460ff168160ff16106115f057600080fd5b6115fd60ff861685612c07565b935061160c60ff821685612bbd565b935050808061161a90612bec565b915050611591565b505092915050565b80516060906000816001600160401b038111156116495761164961243c565b60405190808252806020026020018201604052801561168257816020015b61166f6123a9565b8152602001906001900390816116675790505b50905060005b828110156116ee5760008582815181106116a4576116a4612b91565b6020026020010151905060006116b982610cd6565b9050808484815181106116ce576116ce612b91565b6020026020010181905250505080806116e690612bec565b915050611688565b509392505050565b8151815160009190828183111561170e575081611711565b50805b600061171e602083612d9a565b611729906001612bbd565b905060008060005b8381101561178a576000611746826001612bbd565b611751906020612c07565b9050808b01519350808a0151925082841461177757600098505050505050505050610536565b508061178281612bec565b915050611731565b5060019998505050505050505050565b600080546040805163a31091c760e01b81529051606093926001600160a01b03169163a31091c791600480830192869291908290030181865afa1580156117e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261180d9190810190612dae565b905061181881611c41565b91505090565b600080546040805163a31091c760e01b8152905183926001600160a01b03169163a31091c791600480830192869291908290030181865afa158015611867573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261188f9190810190612dae565b80519091506000805b828110156116ee5760008482815181106118b4576118b4612b91565b6020026020010151905060006118c982611b66565b90506118d58185612bbd565b9350505080806118e490612bec565b915050611898565b60608160ff166002148061190357508160ff166008145b8061191157508160ff16600a145b8061191f57508160ff166010145b61192857600080fd5b8261194b57506040805180820190915260018152600360fc1b6020820152610536565b60408051610100808252610120820190925260009160208201818036833701905050905060005b8415611a0157600061198760ff861687612e3c565b90506000611996826030612e50565b905060098260ff1611156119b2576119af600782612e50565b90505b8060f81b8484806119c290612bec565b9550815181106119d4576119d4612b91565b60200101906001600160f81b031916908160001a9053506119f860ff871688612d9a565b96505050611972565b6000905b611a10600282612d9a565b821015611b5c578282611a24600184612bd5565b611a2e9190612bd5565b81518110611a3e57611a3e612b91565b602001015160f81c60f81b838381518110611a5b57611a5b612b91565b0160200180516001600160f81b031990811690921890911690600082901a905350828281518110611a8e57611a8e612b91565b01602001516001600160f81b0319168383611aaa600185612bd5565b611ab49190612bd5565b81518110611ac457611ac4612b91565b0160200180516001600160f81b031990811690921890911690600082901a9053508282611af2600184612bd5565b611afc9190612bd5565b81518110611b0c57611b0c612b91565b602001015160f81c60f81b838381518110611b2957611b29612b91565b0160200180516001600160f81b031990811690921890911690600082901a90535081611b5481612bec565b925050611a05565b5090949350505050565b600080611b7283611f10565b80519091506000805b82811015611c2e576000848281518110611b9757611b97612b91565b6020026020010151905060008190506000816001600160a01b0316638e6350e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0a9190612c9c565b9050611c168186612bbd565b94505050508080611c2690612bec565b915050611b7b565b50949350505050565b606061053661025c835b80516060906000816001600160401b03811115611c6057611c6061243c565b604051908082528060200260200182016040528015611c9357816020015b6060815260200190600190039081611c7e5790505b50905060005b82811015611cff576000858281518110611cb557611cb5612b91565b602002602001015190506000611cca82611f10565b905080848481518110611cdf57611cdf612b91565b602002602001018190525050508080611cf790612bec565b915050611c99565b50600154604051631819535760e31b81526000916001600160a01b03169063c0ca9ab890611d31908590600401612e75565b600060405180830381865afa158015611d4e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d769190810190612dae565b95945050505050565b6003546001600160a01b03163314611ddd5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015260640160405180910390fd5b9055565b606060005b60208160ff16108015611e1a5750828160ff1660208110611e0957611e09612b91565b1a60f81b6001600160f81b03191615155b15611e315780611e2981612f08565b915050611de6565b60008160ff166001600160401b03811115611e4e57611e4e61243c565b6040519080825280601f01601f191660200182016040528015611e78576020820181803683370190505b509050600091505b60208260ff16108015611eb45750838260ff1660208110611ea357611ea3612b91565b1a60f81b6001600160f81b03191615155b1561041b57838260ff1660208110611ece57611ece612b91565b1a60f81b818360ff1681518110611ee757611ee7612b91565b60200101906001600160f81b031916908160001a90535081611f0881612f08565b925050611e80565b6060816000611f1e82612035565b90506000816001600160401b03811115611f3a57611f3a61243c565b604051908082528060200260200182016040528015611f63578160200160208202803683370190505b50905060005b82811015611c2e5760405163641156ed60e11b8152600481018290526000906001600160a01b0386169063c822adda90602401602060405180830381865afa158015611fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdd9190612c7f565b905080838381518110611ff257611ff2612b91565b6001600160a01b0390921660209283029190910190910152508061201581612bec565b915050611f69565b6060600061202a83610403565b905061041b8161162a565b600081815b60405163641156ed60e11b8152600481018290526000906001600160a01b0384169063c822adda90602401602060405180830381865afa158015612082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a69190612c7f565b90506001600160a01b0381166120bc575061041b565b816120c681612bec565b9250505061203a565b60006120db8284610422565b159392505050565b60006120ed61179a565b51905090565b606081600061210182612035565b90506000816001600160401b0381111561211d5761211d61243c565b60405190808252806020026020018201604052801561215657816020015b6121436123a9565b81526020019060019003908161213b5790505b50905060005b82811015611c2e5760405163641156ed60e11b8152600481018290526000906001600160a01b0386169063c822adda90602401602060405180830381865afa1580156121ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d09190612c7f565b905060006121dd82610cd6565b9050808484815181106121f2576121f2612b91565b60200260200101819052505050808061220a90612bec565b91505061215c565b81516060906000805b8281101561229c57600086828151811061223757612237612b91565b6020026020010151905061224b818761053c565b15612289578087848151811061226357612263612b91565b6001600160a01b03909216602092830291909101909101528261228581612bec565b9350505b508061229481612bec565b91505061221b565b506000856040516020016122b0919061265b565b60405160208183030381529060405290508160408201526000818060200190518101906122dd9190612dae565b979650505050505050565b606061041b61025c8484612212565b6000806123048385610422565b12159392505050565b60608160005b81518110156123a257600082828151811061233057612330612b91565b016020015160f81c90506061811080159061234f5750607a8160ff1611155b1561238f5761235f602082612d61565b90508060f81b83838151811061237757612377612b91565b60200101906001600160f81b031916908160001a9053505b508061239a81612bec565b915050612313565b5092915050565b604080516102408101825260608082526000602083018190529282018190528082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820152610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081019190915290565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561247a5761247a61243c565b604052919050565b60006001600160401b0382111561249b5761249b61243c565b5060051b60200190565b60006001600160401b038211156124be576124be61243c565b50601f01601f191660200190565b600082601f8301126124dd57600080fd5b81356124f06124eb826124a5565b612452565b81815284602083860101111561250557600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261253357600080fd5b813560206125436124eb83612482565b82815260059290921b8401810191818101908684111561256257600080fd5b8286015b848110156126145780356001600160401b038082111561258557600080fd5b818901915089603f83011261259957600080fd5b858201356125a96124eb82612482565b81815260059190911b830160400190878101908c8311156125c957600080fd5b604085015b83811015612602578035858111156125e557600080fd5b6125f48f6040838a01016124cc565b8452509189019189016125ce565b50875250505092840192508301612566565b509695505050505050565b60006020828403121561263157600080fd5b81356001600160401b0381111561264757600080fd5b61265384828501612522565b949350505050565b6020808252825182820181905260009190848201906040850190845b8181101561269c5783516001600160a01b031683529284019291840191600101612677565b50909695505050505050565b600080604083850312156126bb57600080fd5b82356001600160401b03808211156126d257600080fd5b6126de868387016124cc565b935060208501359150808211156126f457600080fd5b50612701858286016124cc565b9150509250929050565b6001600160a01b038116811461272057600080fd5b50565b6000806040838503121561273657600080fd5b82356127418161270b565b915060208301356001600160401b0381111561275c57600080fd5b61270185828601612522565b60006020828403121561277a57600080fd5b813561041b8161270b565b60005b838110156127a0578181015183820152602001612788565b838111156127af576000848401525b50505050565b600081518084526127cd816020860160208601612785565b601f01601f19169290920160200192915050565b600061024082518185526127f7828601826127b5565b915050602083015161281460208601826001600160a01b03169052565b506040830151848203604086015261282c82826127b5565b915050606083015161284960608601826001600160a01b03169052565b50608083015161286460808601826001600160a01b03169052565b5060a083015161287f60a08601826001600160a01b03169052565b5060c083015161289a60c08601826001600160a01b03169052565b5060e08301516128b560e08601826001600160a01b03169052565b5061010083810151908501526101208084015160ff169085015261014080840151858303828701526128e783826127b5565b92505050610160808401516128ff8287018215159052565b5050610180838101511515908501526101a080840151908501526101c080840151908501526101e0808401519085015261020080840151151590850152610220928301516001600160a01b031692909301919091525090565b60208152600061041b60208301846127e1565b60ff8116811461272057600080fd5b6000806040838503121561298d57600080fd5b82356001600160401b038111156129a357600080fd5b6129af858286016124cc565b92505060208301356129c08161296b565b809150509250929050565b600082601f8301126129dc57600080fd5b813560206129ec6124eb83612482565b82815260059290921b84018101918181019086841115612a0b57600080fd5b8286015b84811015612614578035612a228161270b565b8352918301918301612a0f565b600060208284031215612a4157600080fd5b81356001600160401b03811115612a5757600080fd5b612653848285016129cb565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612ab857603f19888603018452612aa68583516127e1565b94509285019290850190600101612a8a565b5092979650505050505050565b60008060408385031215612ad857600080fd5b8235915060208301356129c08161296b565b60208152600061041b60208301846127b5565b60008060408385031215612b1057600080fd5b50508035926020909101359150565b600060208284031215612b3157600080fd5b5035919050565b60008060408385031215612b4b57600080fd5b82356001600160401b0380821115612b6257600080fd5b612b6e868387016129cb565b93506020850135915080821115612b8457600080fd5b5061270185828601612522565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115612bd057612bd0612ba7565b500190565b600082821015612be757612be7612ba7565b500390565b6000600019821415612c0057612c00612ba7565b5060010190565b6000816000190483118215151615612c2157612c21612ba7565b500290565b600081612c3557612c35612ba7565b506000190190565b60008251612c4f818460208701612785565b61282960f01b920191825250600201919050565b60008251612c75818460208701612785565b9190910192915050565b600060208284031215612c9157600080fd5b815161041b8161270b565b600060208284031215612cae57600080fd5b5051919050565b600060208284031215612cc757600080fd5b8151801515811461041b57600080fd5b600060208284031215612ce957600080fd5b81516001600160401b03811115612cff57600080fd5b8201601f81018413612d1057600080fd5b8051612d1e6124eb826124a5565b818152856020838501011115612d3357600080fd5b611d76826020830160208601612785565b600060208284031215612d5657600080fd5b815161041b8161296b565b600060ff821660ff841680821015612d7b57612d7b612ba7565b90039392505050565b634e487b7160e01b600052601260045260246000fd5b600082612da957612da9612d84565b500490565b60006020808385031215612dc157600080fd5b82516001600160401b03811115612dd757600080fd5b8301601f81018513612de857600080fd5b8051612df66124eb82612482565b81815260059190911b82018301908381019087831115612e1557600080fd5b928401925b828410156122dd578351612e2d8161270b565b82529284019290840190612e1a565b600082612e4b57612e4b612d84565b500690565b600060ff821660ff84168060ff03821115612e6d57612e6d612ba7565b019392505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b83811015612efa57888603603f19018552825180518088529088019088880190845b81811015612ee45783516001600160a01b03168352928a0192918a0191600101612ebf565b5090975050509386019391860191600101612e9d565b509398975050505050505050565b600060ff821660ff811415612f1f57612f1f612ba7565b6001019291505056fea2646970667358221220ae3ac401cd89255aa2004d4814728d9c75ead3d5848b0728e9e1307839e4fffe64736f6c634300080b003300000000000000000000000071be461149f4e810fbb494268b0485085ac9b9110000000000000000000000002636a682ad0d46594af1207c402fb0d0759c4afc000000000000000000000000e0f3d78db7bc111996864a32d22ab0f59ca5fa86