0 txs
1 call
constructor
constructor(address _oracleLens, address _utilsLens, address _irmLens)
functions
getRecognizedCollateralsLTVInfo
viewfunction getRecognizedCollateralsLTVInfo(address vault) view returns (tuple[])
getRewardVaultInfo
viewfunction getRewardVaultInfo(address vault, address reward, uint256 numberOfEpochs) view returns (tuple)
getVaultInfoDynamic
viewfunction getVaultInfoDynamic(address vault) view returns (tuple)
getVaultInfoFull
viewfunction getVaultInfoFull(address vault) view returns (tuple)
getVaultInfoStatic
viewfunction getVaultInfoStatic(address vault) view returns (tuple)
getVaultInterestRateModelInfo
viewfunction getVaultInterestRateModelInfo(address vault, uint256[] cash, uint256[] borrows) view returns (tuple)
getVaultKinkInterestRateModelInfo
viewfunction getVaultKinkInterestRateModelInfo(address vault) view returns (tuple)
irmLens
viewfunction irmLens() view returns (address)
oracleLens
viewfunction oracleLens() view returns (address)
TTL_ERROR
viewfunction TTL_ERROR() view returns (int256)
TTL_INFINITY
viewfunction TTL_INFINITY() view returns (int256)
TTL_LIQUIDATION
viewfunction TTL_LIQUIDATION() view returns (int256)
TTL_MORE_THAN_ONE_YEAR
viewfunction TTL_MORE_THAN_ONE_YEAR() view returns (int256)
utilsLens
viewfunction utilsLens() view returns (address)
events
No events.
errors
No errors.
creation bytecode
0x60e060405234801562000010575f80fd5b5060405162005d7438038062005d748339810160408190526200003391620003ac565b6001600160a01b0380841660805282811660a052811660c0525f6200005762000118565b5f80546001810182559080525f8051602062005d548339815191520180546001600160a01b03191661034817905590506001600160a01b03811615620000cd575f80546001810182559080525f8051602062005d548339815191520180546001600160a01b0319166001600160a01b0383161790555b50505f80546001810182559080525f8051602062005d548339815191520180546001600160a01b03191673bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb17905550620003f39050565b5f466001036200013b575073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290565b46600a14806200014b5750466082145b8062000158575046612105145b8062000165575046610783145b80620001725750466101e0145b806200017f57504661def1145b806200018c57504661ed88145b15620001ab575073420000000000000000000000000000000000000690565b46603803620001cd5750732170ed0880ac9a755fd29b2688956bd959f933f890565b46606403620001ef5750736a023ccd1ff6f2045c3309768ead9e68f978f6e190565b46608903620002115750737ceb23fd6bc0add59e62ac25578270cff1b9f61990565b466092036200023357507350c42deacd8fc9773493ed674b675be577f2634b90565b4661a4b1036200025657507382af49447d8a07e3bd95bd0d56f35241523fbab190565b4661a86a036200027957507349d5c2bdffac6ce2bfdb6640f4f80f226bc10bab90565b46620138de036200029d5750732f6f07cdcf3588944bf4c42ac74ff24bf56e759090565b46601e1480620002b05750466301406f40145b80620002bd57504661279f145b80620002cb575046620138d4145b80620002d8575046610956145b80620002e55750466103e6145b15620002f057505f90565b466103e703620002ff57505f90565b4660ef036200030d57505f90565b46612611036200031c57505f90565b46608f036200032a57505f90565b4662aa36a7036200033a57505f90565b60405162461bcd60e51b815260206004820152602160248201527f67657457455448416464726573733a20556e737570706f7274656420636861696044820152603760f91b606482015260840160405180910390fd5b80516001600160a01b0381168114620003a7575f80fd5b919050565b5f805f60608486031215620003bf575f80fd5b620003ca8462000390565b9250620003da6020850162000390565b9150620003ea6040850162000390565b90509250925092565b60805160a05160c0516158ff620004555f395f818161027701528181611aae01526131d701525f818160ee0152818161329e0152818161358d015261388a01525f818161021d015281816136c0015281816139af0152613a6001526158ff5ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063900bb8a611610088578063d1dc6e3b11610063578063d1dc6e3b1461025f578063dfe31a1314610272578063e74b963214610299578063fb113581146102b9575f80fd5b8063900bb8a6146101f1578063c90be1e414610218578063ca4ef6d61461023f575f80fd5b80636369fedb116100c35780636369fedb146101635780636410b792146101835780636a384578146101aa57806372537d9a146101ca575f80fd5b80630f80efc3146100e9578063116e1d2e1461012d5780634abee02a1461014d575b5f80fd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61014061013b3660046142fe565b6102d9565b604051610124919061465f565b6101556106f3565b604051908152602001610124565b6101766101713660046142fe565b610721565b6040516101249190614a76565b6101557ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81565b6101bd6101b83660046142fe565b610b0d565b6040516101249190614a88565b6101557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101557f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b61025261024d3660046142fe565b611391565b6040516101249190614c88565b61025261026d366004614dd4565b6115be565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6102ac6102a7366004614e45565b611b2b565b6040516101249190614ed2565b6102cc6102c73660046142fe565b61262b565b6040516101249190614ff4565b6102e1613ef0565b5f6102eb83610b0d565b90505f6102f78461262b565b9050610301613ef0565b825f0151815f018181525050826020015181602001906001600160a01b031690816001600160a01b031681525050826040015181604001819052508260600151816060018190525082608001518160800181815250508260a001518160a001906001600160a01b031690816001600160a01b0316815250508260c001518160c001819052508260e001518160e00181905250826101000151816101000181815250508261012001518161012001906001600160a01b031690816001600160a01b03168152505082610140015181610140018190525082610160015181610160018190525082610180015181610180018181525050826101a00151816103a001906001600160a01b031690816001600160a01b031681525050826101c00151816103c001906001600160a01b031690816001600160a01b031681525050826101e001518161042001906001600160a01b031690816001600160a01b0316815250508261020001518161044001906001600160a01b031690816001600160a01b0316815250508261022001518161046001906001600160a01b031690816001600160a01b0316815250508261024001518161048001906001600160a01b031690816001600160a01b031681525050826102600151816104a001906001600160a01b031690816001600160a01b0316815250508160400151816101a00181815250508160600151816101c00181815250508160800151816101e00181815250508160a00151816102000181815250508160c00151816102200181815250508160e00151816102400181815250508161010001518161026001906001600160a01b031690816001600160a01b0316815250508161012001518161028001906001600160a01b031690816001600160a01b031681525050816101400151816102a0018181525050816101600151816102c0018181525050816101800151816102e0018181525050816101a0015181610300018181525050816101c0015181610320018181525050816101e00151816103400181815250508161020001518161036001818152505081610220015181610380018181525050816102400151816103e001906001600160a01b031690816001600160a01b0316815250508161026001518161040001906001600160a01b031690816001600160a01b031681525050816102800151816104c001906001600160a01b031690816001600160a01b031681525050816102a00151816104e00181905250816102c00151816105000181905250816102e00151816105200181905250816103000151816105400181905250816103200151816105600181905250816103400151816105800181905250816103600151816105a00181905250809350505050919050565b61071e60017f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61523a565b81565b60605f826001600160a01b0316636a16ef846040518163ffffffff1660e01b81526004015f60405180830381865afa15801561075f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107869190810190615270565b90505f815167ffffffffffffffff8111156107a3576107a3614c9a565b60405190808252806020026020018201604052801561081057816020015b6107fd6040518060c001604052805f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816107c15790505b5090505f805b8351811015610a095783818151811061083157610831615305565b602002602001015183828151811061084b5761084b615305565b60200260200101515f01906001600160a01b031690816001600160a01b031681525050856001600160a01b03166333708d0c85838151811061088f5761088f615305565b60200260200101516040518263ffffffff1660e01b81526004016108c291906001600160a01b0391909116815260200190565b60a060405180830381865afa1580156108dd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610901919061536b565b8461ffff1694508361ffff1693508261ffff1692508165ffffffffffff1691508063ffffffff16905087868151811061093c5761093c615305565b602002602001015160200188878151811061095957610959615305565b602002602001015160400189888151811061097657610976615305565b60200260200101516060018a898151811061099357610993615305565b60200260200101516080018b8a815181106109b0576109b0615305565b602090810291909101015160a001949094529390925292909152919091525282518390829081106109e3576109e3615305565b6020026020010151608001515f14610a01576109fe826153cc565b91505b600101610816565b505f8167ffffffffffffffff811115610a2457610a24614c9a565b604051908082528060200260200182016040528015610a9157816020015b610a7e6040518060c001604052805f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81525090565b815260200190600190039081610a425790505b5090505f5b8451811015610b0357838181518110610ab157610ab1615305565b6020026020010151608001515f14610afb57838181518110610ad557610ad5615305565b6020026020010151828281518110610aef57610aef615305565b60200260200101819052505b600101610a96565b5095945050505050565b610bf56040518061028001604052805f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681525090565b610cdd6040518061028001604052805f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681525090565b4281526001600160a01b03831660208201819052604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290516306fdde03916004808201925f929091908290030181865afa158015610d42573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d699190810190615464565b8160400181905250826001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610dac573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610dd39190810190615464565b8160600181905250826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e3b9190615496565b60ff16816080018181525050826001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea791906154b6565b6001600160a01b031660a08201819052610ee1907f06fdde0300000000000000000000000000000000000000000000000000000000613afa565b60c082015260a0810151610f15907f95d89b4100000000000000000000000000000000000000000000000000000000613afa565b60e082015260a0810151610f2890613c25565b60ff1681610100018181525050826001600160a01b0316633e8333646040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9591906154b6565b6001600160a01b03166101208201819052610fd0907f06fdde0300000000000000000000000000000000000000000000000000000000613afa565b610140820152610120810151611006907f95d89b4100000000000000000000000000000000000000000000000000000000613afa565b61016082015261012081015161101b90613c25565b60ff1681610180018181525050826001600160a01b031663d9d7858a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611064573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108891906154b6565b816101a001906001600160a01b031690816001600160a01b031681525050826001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110691906154b6565b816101c001906001600160a01b031690816001600160a01b031681525050826001600160a01b031663a70354a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611160573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118491906154b6565b816101e001906001600160a01b031690816001600160a01b031681525050826001600160a01b031663539bd5bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120291906154b6565b8161020001906001600160a01b031690816001600160a01b031681525050826001600160a01b031663ece6a7fa6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561125c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128091906154b6565b8161022001906001600160a01b031690816001600160a01b031681525050826001600160a01b031663c52249836040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe91906154b6565b8161024001906001600160a01b031690816001600160a01b031681525050826001600160a01b03166302d05d3f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c91906154b6565b6001600160a01b031661026082015292915050565b6113996141bf565b5f826001600160a01b031663f3fdb15a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fa91906154b6565b90506001600160a01b038116611429576114126141bf565b6001600160a01b0390931660408401525090919050565b5f816001600160a01b031663fd2da3396040518163ffffffff1660e01b8152600401602060405180830381865afa158015611466573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148a91906154d1565b604080516003808252608082019092529192505f9190602082016060803683375050604080516003808252608082019092529293505f9291506020820160608036833701905050905063ffffffff8016825f815181106114ec576114ec615305565b60209081029190910101526115058363ffffffff6154e8565b8260018151811061151857611518615305565b6020026020010181815250505f8260028151811061153857611538615305565b6020026020010181815250505f815f8151811061155757611557615305565b602002602001018181525050828160018151811061157757611577615305565b60200260200101818152505063ffffffff80168160028151811061159d5761159d615305565b6020026020010181815250506115b48683836115be565b9695505050505050565b6115c66141bf565b8151835114611635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5661756c744c656e733a20696e76616c696420696e7075740000000000000000604482015260640160405180910390fd5b61163d6141bf565b6001600160a01b038516604080830182905280517ff3fdb15a000000000000000000000000000000000000000000000000000000008152905163f3fdb15a916004808201926020929091908290030181865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c391906154b6565b6001600160a01b0316606082018190526116e257600181529050611b24565b5f856001600160a01b031663a75df4986040518163ffffffff1660e01b8152600401602060405180830381865afa15801561171f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061174391906154fb565b61ffff169050845167ffffffffffffffff81111561176357611763614c9a565b6040519080825280602002602001820160405280156117c157816020015b6117ae6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816117815790505b5060808301525f5b8551811015611a70575f8084606001516001600160a01b0316898985815181106117f5576117f5615305565b602002602001015189868151811061180f5761180f615305565b60209081029190910101516040516001600160a01b0390931660248401526044830191909152606482015260840160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2e34c87200000000000000000000000000000000000000000000000000000000179052516118a09190615514565b5f60405180830381855afa9150503d805f81146118d8576040519150601f19603f3d011682016040523d82523d5f602084013e6118dd565b606091505b50915091508115806118f0575060208151105b156119045760018552602085015250611a70565b87838151811061191657611916615305565b60200260200101518560800151848151811061193457611934615305565b60200260200101515f01818152505086838151811061195557611955615305565b60200260200101518560800151848151811061197357611973615305565b602002602001015160200181815250508080602001905181019061199791906154d1565b856080015184815181106119ad576119ad615305565b60200260200101516040018181525050611a1c856080015184815181106119d6576119d6615305565b6020026020010151604001518985815181106119f4576119f4615305565b6020026020010151898681518110611a0e57611a0e615305565b602002602001015187613d10565b86608001518581518110611a3257611a32615305565b602002602001015160600187608001518681518110611a5357611a53615305565b6020908102919091010151608001919091525250506001016117c9565b5060608201516040517ff8fb7a7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063f8fb7a7b906024015f60405180830381865afa158015611af4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b1b919081019061552f565b60a08301525090505b9392505050565b611bb1604051806101c001604052805f81526020015f6001600160a01b031681526020015f6001600160a01b0316815260200160608152602001606081526020015f60ff1681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b611c37604051806101c001604052805f81526020015f6001600160a01b031681526020015f6001600160a01b0316815260200160608152602001606081526020015f60ff1681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b4281526001600160a01b038086166020830152841660408201819052611c7d907f06fdde0300000000000000000000000000000000000000000000000000000000613afa565b60608201526040810151611cb1907f95d89b4100000000000000000000000000000000000000000000000000000000613afa565b60808201526040810151611cc490613c25565b60ff1660a0820152604080517fece6a7fa00000000000000000000000000000000000000000000000000000000815290516001600160a01b0387169163ece6a7fa9160048083019260209291908290030181865afa158015611d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4c91906154b6565b6001600160a01b031660c08201819052611d67579050611b24565b8060c001516001600160a01b031663a70b9f0c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611da7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dcb91906154d1565b8160e00181815250508060c001516001600160a01b031663766718086040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3891906155c0565b65ffffffffffff1661010082015260c08101516040517f33c359e30000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301528681166024830152909116906333c359e390604401602060405180830381865afa158015611eb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed591906154d1565b61012082015260c08101516040517e0b55560000000000000000000000000000000000000000000000000000000081526001600160a01b038781166004830152868116602483015290911690620b555690604401602060405180830381865afa158015611f44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f6891906154d1565b61014082015260c08101516040517f25ad15010000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301528681166024830152909116906325ad150190604401602060405180830381865afa158015611fd9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ffd91906154d1565b6101608201528267ffffffffffffffff81111561201c5761201c614c9a565b60405190808252806020026020018201604052801561207457816020015b61206160405180608001604052805f81526020015f81526020015f81526020015f81525090565b81526020019060019003908161203a5790505b506101808201528267ffffffffffffffff81111561209457612094614c9a565b6040519080825280602002602001820160405280156120ec57816020015b6120d960405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816120b25790505b506101a08201525f5b6121008460026155d9565b811015612622575f818584610100015161211a91906154e8565b61212491906155f0565b9050848210156123a1575f8290508165ffffffffffff16846101800151828151811061215257612152615305565b60209081029190910101515260c08401516040517fc84705d400000000000000000000000000000000000000000000000000000000815265ffffffffffff841660048201526001600160a01b039091169063c84705d490602401602060405180830381865afa1580156121c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121eb91906155c0565b65ffffffffffff16846101800151828151811061220a5761220a615305565b602090810291909101810151015260c08401516040517fc29ad55700000000000000000000000000000000000000000000000000000000815265ffffffffffff841660048201526001600160a01b039091169063c29ad55790602401602060405180830381865afa158015612281573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a591906155c0565b65ffffffffffff1684610180015182815181106122c4576122c4615305565b602090810291909101015160409081019190915260c085015190517fd318f2120000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152898116602483015265ffffffffffff851660448301529091169063d318f21290606401602060405180830381865afa158015612350573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237491906154d1565b846101800151828151811061238b5761238b615305565b6020026020010151606001818152505050612619565b5f6123ac86846154e8565b90508165ffffffffffff16846101a0015182815181106123ce576123ce615305565b60209081029190910101515260c08401516040517fc84705d400000000000000000000000000000000000000000000000000000000815265ffffffffffff841660048201526001600160a01b039091169063c84705d490602401602060405180830381865afa158015612443573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246791906155c0565b65ffffffffffff16846101a00151828151811061248657612486615305565b602090810291909101810151015260c08401516040517fc29ad55700000000000000000000000000000000000000000000000000000000815265ffffffffffff841660048201526001600160a01b039091169063c29ad55790602401602060405180830381865afa1580156124fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061252191906155c0565b65ffffffffffff16846101a00151828151811061254057612540615305565b602090810291909101015160409081019190915260c085015190517fd318f2120000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152898116602483015265ffffffffffff851660448301529091169063d318f21290606401602060405180830381865afa1580156125cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125f091906154d1565b846101a00151828151811061260757612607615305565b60200260200101516060018181525050505b506001016120f5565b50949350505050565b61263361421f565b61263b61421f565b5f836001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612678573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269c91906154b6565b90505f846001600160a01b0316633e8333646040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ff91906154b6565b90505f856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561273e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061276291906154b6565b4285526001600160a01b0387166020808701829052604080517f18160ddd000000000000000000000000000000000000000000000000000000008152905193945091926318160ddd9260048082019392918290030181865afa1580156127ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee91906154d1565b846040018181525050856001600160a01b031663961be3916040518163ffffffff1660e01b8152600401602060405180830381865afa158015612833573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285791906154d1565b846060018181525050856001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa15801561289c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128c091906154d1565b846080018181525050856001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015612905573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061292991906154d1565b8460a0018181525050856001600160a01b031663587f5ed76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561296e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061299291906154d1565b8460c0018181525050856001600160a01b031663f6e50f586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129fb91906154d1565b8460e0018181525050856001600160a01b031663b3f006746040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a6491906154b6565b8461010001906001600160a01b031690816001600160a01b031681525050856001600160a01b03166339a51be56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612abe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae291906154b6565b8461012001906001600160a01b031690816001600160a01b031681525050856001600160a01b031663960b26a26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6091906154d1565b84610140018181525050856001600160a01b031663a75df4986040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ba6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bca91906154fb565b61ffff16610160850152604080517fcf349b7d00000000000000000000000000000000000000000000000000000000815281516001600160a01b0389169263cf349b7d92600480820193918290030181865afa158015612c2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c509190615603565b63ffffffff166101808601526001600160a01b03908116610260860152604080517f2b38a367000000000000000000000000000000000000000000000000000000008152905191881691632b38a367916004808201926020929091908290030181865afa158015612cc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce79190615636565b63ffffffff16846101a0018181525050856001600160a01b0316634f7e43df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d5791906154fb565b61ffff1684610200018181525050856001600160a01b0316634abdb9596040518163ffffffff1660e01b8152600401602060405180830381865afa158015612da1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dc591906154fb565b61ffff16610220850152604080517f18e22d9800000000000000000000000000000000000000000000000000000000815281516001600160a01b038916926318e22d9892600480820193918290030181865afa158015612e27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4b919061564f565b61ffff9081166101e0870152166101c08501819052612e6990613dd1565b6101c08501526101e0840151612e7e90613dd1565b846101e0018181525050856001600160a01b031663f3fdb15a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ec4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee891906154b6565b8461024001906001600160a01b031690816001600160a01b031681525050856001600160a01b0316636ce98c296040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f6691906154b6565b6001600160a01b0390811661028086015261024085015116612f91576102a08401516001905261324f565b6102a0840180516001600160a01b03888116604092830152610240870151925192166060909201919091528051600180825281830190925290816020015b612ffc6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b815260200190600190039081612fcf57905050846102a00151608001819052508360600151846102a00151608001515f8151811061303c5761303c615305565b60200260200101515f0181815250508360800151846102a00151608001515f8151811061306b5761306b615305565b60200260200101516020018181525050856001600160a01b0316637c3a00fd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130db91906154d1565b846102a00151608001515f815181106130f6576130f6615305565b60200260200101516040018181525050613145846102a00151608001515f8151811061312457613124615305565b60200260200101516040015185606001518660800151876101600151613d10565b856102a00151608001515f8151811061316057613160615305565b6020026020010151606001866102a00151608001515f8151811061318657613186615305565b602090810291909101015160800191909152526102408401516040517ff8fb7a7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063f8fb7a7b906024015f60405180830381865afa15801561321d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613244919081019061552f565b6102a085015160a001525b61325886610721565b6102c08501526040517fb0d4d6bb0000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015284811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063b0d4d6bb906044015f60405180830381865afa1580156132e2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133099190810190615686565b6102e08501526102c08401515167ffffffffffffffff81111561332e5761332e614c9a565b6040519080825280602002602001820160405280156133c957816020015b6133b66040518061014001604052805f15158152602001606081526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81525090565b81526020019060019003908161334c5790505b506103008501526102c0840151515f906133e49060016155f0565b67ffffffffffffffff8111156133fc576133fc614c9a565b604051908082528060200260200182016040528015613425578160200160208202803683370190505b5090505f856102c0015151600161343c91906155f0565b67ffffffffffffffff81111561345457613454614c9a565b60405190808252806020026020018201604052801561347d578160200160208202803683370190505b50905084825f8151811061349357613493615305565b60200260200101906001600160a01b031690816001600160a01b03168152505083815f815181106134c6576134c6615305565b60200260200101906001600160a01b031690816001600160a01b0316815250505f5b866102c001515181101561368f57866102c00151818151811061350d5761350d615305565b60200260200101515f01518382600161352691906155f0565b8151811061353657613536615305565b6001600160a01b0390921660209283029190910190910152848261355b8360016155f0565b8151811061356b5761356b615305565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b0d4d6bb8a896102c0015184815181106135d2576135d2615305565b6020908102919091010151516040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044015f60405180830381865afa15801561363e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136659190810190615686565b876103000151828151811061367c5761367c615305565b60209081029190910101526001016134e8565b506040517fb25664310000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b2566431906136f9908690869086906004016157a1565b5f60405180830381865afa158015613713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261373a91908101906157d4565b610320870152604080516001808252818301909252906020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506001600160a01b038316613aee575f5b5f5461379d9060016155f0565b811015613aec5785835f815181106137b7576137b7615305565b60200260200101906001600160a01b031690816001600160a01b031681525050805f03613825576001600160a01b03851615613ae45784825f8151811061380057613800615305565b60200260200101906001600160a01b031690816001600160a01b031681525050613888565b5f6138316001836154e8565b8154811061384157613841615305565b5f91825260208220015483516001600160a01b0390911691849161386757613867615305565b60200260200101906001600160a01b031690816001600160a01b0316815250505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663222911d0845f815181106138c9576138c9615305565b6020026020010151845f815181106138e3576138e3615305565b60200260200101516040518363ffffffff1660e01b815260040161391d9291906001600160a01b0392831681529116602082015260400190565b5f60405180830381865afa158015613937573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261395e9190810190615686565b6103408801819052511580613a21575061034087015160608101516020909101516040517f17a358230000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926317a35823926139e292600401615857565b602060405180830381865afa1580156139fd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a219190615878565b15613ae457610340870151606001516040517fb25664310000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163b256643191613a989190879087906004016157a1565b5f60405180830381865afa158015613ab2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613ad991908101906157d4565b610360880152613aec565b600101613790565b505b50939695505050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000851617905290516060915f9182916001600160a01b03871691613b709190615514565b5f60405180830381855afa9150503d805f8114613ba8576040519150601f19603f3d011682016040523d82523d5f602084013e613bad565b606091505b5091509150818015613bbf5750805115155b613bd75760405180602001604052805f815250613c1a565b8051602014613bf95780806020019051810190613bf49190615464565b613c1a565b80604051602001613c0a9190615514565b6040516020818303038152906040525b925050505b92915050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f313ce5670000000000000000000000000000000000000000000000000000000017905290515f91829182916001600160a01b03861691613c989190615514565b5f60405180830381855afa9150503d805f8114613cd0576040519150601f19603f3d011682016040523d82523d5f602084013e613cd5565b606091505b5091509150818015613ce957506020815110155b613cf4576012613d08565b80806020019051810190613d089190615496565b949350505050565b5f8080613d1d85876155f0565b90505f613d50613d396b033b2e3c9fd0803ce80000008a6155f0565b6301e185586b033b2e3c9fd0803ce8000000613e1d565b90945090508015613d68575f80935093505050613dc8565b613d7e6b033b2e3c9fd0803ce8000000856154e8565b93508115613dc15761271082613d9487836154e8565b613d9e89886155d9565b613da891906155d9565b613db29190615891565b613dbc9190615891565b613dc3565b5f5b925050505b94509492505050565b5f61ffff8216808203613e0657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b6064603f8216600a0a600683901c02049392505050565b5f80848015613ed257600185168015613e3857869350613e3c565b8493505b508360011c8560011c95505b8515613ecc578660801c15613e605760019250613ecc565b86870281810181811015613e7957600194505050613ecc565b8690049750506001861615613ec1578684028488820414613ea4578715613ea4576001935050613ecc565b81810181811015613eba57600194505050613ecc565b8690049450505b8560011c9550613e48565b50613ee7565b848015613ee1575f9350613ee5565b8493505b505b50935093915050565b604051806105c001604052805f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f6001600160a01b0316815260200160608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161407b6141bf565b8152602001606081526020016140f16040518061014001604052805f15158152602001606081526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81525090565b81526020016060815260200161412960405180606001604052805f6001600160a01b0316815260200160608152602001606081525090565b81526020016141986040518061014001604052805f15158152602001606081526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81525090565b815260408051606080820183525f825260208281018290529282015291015290565b905290565b6040518060c001604052805f15158152602001606081526020015f6001600160a01b031681526020015f6001600160a01b03168152602001606081526020016141ba60408051606080820183525f80835260208301529181019190915290565b6040518061038001604052805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161407b6141bf565b6001600160a01b03811681146142fb575f80fd5b50565b5f6020828403121561430e575f80fd5b8135611b24816142e7565b5f5b8381101561433357818101518382015260200161431b565b50505f910152565b5f8151808452614352816020860160208601614319565b601f01601f19169290920160200192915050565b6001600160a01b0381511682525f6020820151600581106143ae577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b80602085015250604082015160606040850152613d08606085018261433b565b8051151582525f60208083015160c0828601526143ee60c086018261433b565b6040858101516001600160a01b039081168883015260608088015190911681890152608080880151898503828b0152805180865290870195509293919290915f91908701905b808310156144775786518051835288810151898401528681015187840152858101518684015284015184830152958701956001929092019160a090910190614434565b5060a0890151965089810360a08b01526144918188614366565b9a9950505050505050505050565b5f815180845260208085019450602084015f5b8381101561450b57815180516001600160a01b03168852838101518489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016144b2565b509495945050505050565b8051151582525f61014060208301518160208601526145378286018261433b565b91505060408301516040850152606083015161455e60608601826001600160a01b03169052565b50608083015161457960808601826001600160a01b03169052565b5060a083015161459460a08601826001600160a01b03169052565b5060c0838101519085015260e0808401519085015261010080840151908501526101209283015192909301919091525090565b5f8282518085526020808601955060208260051b840101602086015f5b8481101561461257601f19868403018952614600838351614516565b988401989250908301906001016145e4565b5090979650505050505050565b6001600160a01b0381511682525f602082015160606020850152614646606085018261433b565b905060408301518482036040860152613c1a828261433b565b60208152815160208201525f602083015161468560408401826001600160a01b03169052565b5060408301516105c08060608501526146a26105e085018361433b565b91506060850151601f19808685030160808701526146c0848361433b565b9350608087015160a087015260a087015191506146e860c08701836001600160a01b03169052565b60c08701519150808685030160e0870152614703848361433b565b935060e08701519150610100818786030181880152614722858461433b565b9088015161012088810191909152880151909450915061014061474f818801846001600160a01b03169052565b8088015192505061016081878603018188015261476c858461433b565b94508088015192505061018081878603018188015261478b858461433b565b908801516101a0888101919091528801516101c0808901919091528801516101e080890191909152880151610200808901919091528801516102208089019190915288015161024080890191909152880151610260808901919091528801519094509150610280614806818801846001600160a01b03169052565b87015191506102a0614822878201846001600160a01b03169052565b8701516102c0878101919091528701516102e08088019190915287015161030080880191909152870151610320808801919091528701516103408088019190915287015161036080880191909152870151610380808801919091528701516103a08088019190915287015191506103c06148a6818801846001600160a01b03169052565b87015191506103e06148c2878201846001600160a01b03169052565b87015191506104006148de878201846001600160a01b03169052565b87015191506104206148fa878201846001600160a01b03169052565b8701519150610440614916878201846001600160a01b03169052565b8701519150610460614932878201846001600160a01b03169052565b870151915061048061494e878201846001600160a01b03169052565b87015191506104a061496a878201846001600160a01b03169052565b87015191506104c0614986878201846001600160a01b03169052565b87015191506104e06149a2878201846001600160a01b03169052565b808801519250506105008187860301818801526149bf85846143ce565b9450808801519250506105208187860301818801526149de858461449f565b9450808801519250506105408187860301818801526149fd8584614516565b945080880151925050610560818786030181880152614a1c85846145c7565b945080880151925050610580818786030181880152614a3b858461461f565b9450808801519250506105a0818786030181880152614a5a8584614516565b9088015187820390920184880152935090506115b4838261461f565b602081525f611b24602083018461449f565b60208152815160208201525f6020830151614aae60408401826001600160a01b03169052565b506040830151610280806060850152614acb6102a085018361433b565b91506060850151601f1980868503016080870152614ae9848361433b565b9350608087015160a087015260a08701519150614b1160c08701836001600160a01b03169052565b60c08701519150808685030160e0870152614b2c848361433b565b935060e08701519150610100818786030181880152614b4b858461433b565b90880151610120888101919091528801519094509150610140614b78818801846001600160a01b03169052565b80880151925050610160818786030181880152614b95858461433b565b945080880151925050610180818786030181880152614bb4858461433b565b908801516101a08881019190915288015190945091506101c09050614be3818701836001600160a01b03169052565b86015190506101e0614bff868201836001600160a01b03169052565b8601519050610200614c1b868201836001600160a01b03169052565b8601519050610220614c37868201836001600160a01b03169052565b8601519050610240614c53868201836001600160a01b03169052565b8601519050610260614c6f868201836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b602081525f611b2460208301846143ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715614cea57614cea614c9a565b60405290565b604051610140810167ffffffffffffffff81118282101715614cea57614cea614c9a565b604051601f8201601f1916810167ffffffffffffffff81118282101715614d3d57614d3d614c9a565b604052919050565b5f67ffffffffffffffff821115614d5e57614d5e614c9a565b5060051b60200190565b5f82601f830112614d77575f80fd5b81356020614d8c614d8783614d45565b614d14565b8083825260208201915060208460051b870101935086841115614dad575f80fd5b602086015b84811015614dc95780358352918301918301614db2565b509695505050505050565b5f805f60608486031215614de6575f80fd5b8335614df1816142e7565b9250602084013567ffffffffffffffff80821115614e0d575f80fd5b614e1987838801614d68565b93506040860135915080821115614e2e575f80fd5b50614e3b86828701614d68565b9150509250925092565b5f805f60608486031215614e57575f80fd5b8335614e62816142e7565b92506020840135614e72816142e7565b929592945050506040919091013590565b5f815180845260208085019450602084015f5b8381101561450b578151805188528381015184890152604080820151908901526060908101519088015260809096019590820190600101614e96565b60208152815160208201525f6020830151614ef860408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516101c0806080850152614f2a6101e085018361433b565b91506080850151601f19808685030160a0870152614f48848361433b565b935060a08701519150614f6060c087018360ff169052565b60c08701516001600160a01b03811660e0880152915060e0870151610100878101919091528701516101208088019190915287015161014080880191909152870151610160808801919091528701516101808088019190915287015186850382016101a080890191909152909250614fd88584614e83565b9088015187820390920184880152935090506115b48382614e83565b60208152815160208201525f602083015161501a60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e083015260e0830151610100818185015280850151915050610120615078818501836001600160a01b03169052565b8401519050610140615094848201836001600160a01b03169052565b84015161016084810191909152840151610180808501919091528401516101a0808501919091528401516101c0808501919091528401516101e0808501919091528401516102008085019190915284015161022080850191909152840151610240808501919091528401519050610260615118818501836001600160a01b03169052565b8401519050610280615134848201836001600160a01b03169052565b84015190506102a0615150848201836001600160a01b03169052565b808501519150506103806102c081818601526151706103a08601846143ce565b9250808601519050601f196102e0818786030181880152615191858461449f565b9450808801519250506103008187860301818801526151b08584614516565b9450808801519250506103208187860301818801526151cf85846145c7565b9450808801519250506103408187860301818801526151ee858461461f565b945080880151925050610360818786030181880152614a5a8584614516565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181035f8312801583831316838312821617156152595761525961520d565b5092915050565b805161526b816142e7565b919050565b5f6020808385031215615281575f80fd5b825167ffffffffffffffff811115615297575f80fd5b8301601f810185136152a7575f80fd5b80516152b5614d8782614d45565b81815260059190911b820183019083810190878311156152d3575f80fd5b928401925b828410156152fa5783516152eb816142e7565b825292840192908401906152d8565b979650505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805161ffff8116811461526b575f80fd5b805165ffffffffffff8116811461526b575f80fd5b805163ffffffff8116811461526b575f80fd5b5f805f805f60a0868803121561537f575f80fd5b61538886615332565b945061539660208701615332565b93506153a460408701615332565b92506153b260608701615343565b91506153c060808701615358565b90509295509295909350565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036153fc576153fc61520d565b5060010190565b5f82601f830112615412575f80fd5b815167ffffffffffffffff81111561542c5761542c614c9a565b61543f6020601f19601f84011601614d14565b818152846020838601011115615453575f80fd5b613d08826020830160208701614319565b5f60208284031215615474575f80fd5b815167ffffffffffffffff81111561548a575f80fd5b613d0884828501615403565b5f602082840312156154a6575f80fd5b815160ff81168114611b24575f80fd5b5f602082840312156154c6575f80fd5b8151611b24816142e7565b5f602082840312156154e1575f80fd5b5051919050565b81810381811115613c1f57613c1f61520d565b5f6020828403121561550b575f80fd5b611b2482615332565b5f8251615525818460208701614319565b9190910192915050565b5f6020828403121561553f575f80fd5b815167ffffffffffffffff80821115615556575f80fd5b9083019060608286031215615569575f80fd5b615571614cc7565b825161557c816142e7565b815260208301516005811061558f575f80fd5b60208201526040830151828111156155a5575f80fd5b6155b187828601615403565b60408301525095945050505050565b5f602082840312156155d0575f80fd5b611b2482615343565b8082028115828204841417613c1f57613c1f61520d565b80820180821115613c1f57613c1f61520d565b5f8060408385031215615614575f80fd5b825161561f816142e7565b915061562d60208401615358565b90509250929050565b5f60208284031215615646575f80fd5b611b2482615358565b5f8060408385031215615660575f80fd5b61566983615332565b915061562d60208401615332565b8051801515811461526b575f80fd5b5f60208284031215615696575f80fd5b815167ffffffffffffffff808211156156ad575f80fd5b9083019061014082860312156156c1575f80fd5b6156c9614cf0565b6156d283615677565b81526020830151828111156156e5575f80fd5b6156f187828601615403565b6020830152506040830151604082015261570d60608401615260565b606082015261571e60808401615260565b608082015261572f60a08401615260565b60a082015260c0838101519082015260e0808401519082015261010080840151908201526101209283015192810192909252509392505050565b5f815180845260208085019450602084015f5b8381101561450b5781516001600160a01b03168752958201959082019060010161577c565b6001600160a01b0384168152606060208201525f6157c26060830185615769565b82810360408401526115b48185615769565b5f602082840312156157e4575f80fd5b815167ffffffffffffffff808211156157fb575f80fd5b908301906060828603121561580e575f80fd5b615816614cc7565b8251615821816142e7565b8152602083015182811115615834575f80fd5b61584087828601615403565b6020830152506040830151828111156155a5575f80fd5b6001600160a01b0383168152604060208201525f613d08604083018461433b565b5f60208284031215615888575f80fd5b611b2482615677565b5f826158c4577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea2646970667358221220c0406719329d3f410ee229dec0b7a419355e403dfb6f56a77d39c6b731bdf7ba64736f6c63430008180033290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563000000000000000000000000301a83cf9ffbde64dbbd7f7988e900704cbca2cb000000000000000000000000537f650a4fd350061f3c07f704f744f2c772dac500000000000000000000000056fb9f68354af7dae4e3b2067b53c498ecd053c6