@ensuro/core
Version:
Ensuro - Decentralized insurance protocol
239 lines (238 loc) • 27.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "ERC4626AssetManager",
"sourceName": "contracts/ERC4626AssetManager.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IERC20Metadata",
"name": "asset_",
"type": "address"
},
{
"internalType": "contract IERC4626",
"name": "vault_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "int256",
"name": "earnings",
"type": "int256"
}
],
"name": "EarningsRecorded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "enum IAccessManager.GovernanceActions",
"name": "action",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "GovernanceAction",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "MoneyDeinvested",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "MoneyInvested",
"type": "event"
},
{
"inputs": [],
"name": "connect",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "deinvestAll",
"outputs": [
{
"internalType": "int256",
"name": "earnings",
"type": "int256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getInvestmentValue",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "liquidityMax",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "liquidityMiddle",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "liquidityMin",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "rebalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "recordEarnings",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "paymentAmount",
"type": "uint256"
}
],
"name": "refillWallet",
"outputs": [
{
"internalType": "uint256",
"name": "deinvest",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "min",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "middle",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"name": "setLiquidityThresholds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x60c060405234801561000f575f5ffd5b506040516117ec3803806117ec83398101604081905261002e91610235565b816001600160a01b0381166100b05760405162461bcd60e51b815260206004820152603c60248201527f4c69717569646974795468726573686f6c6441737365744d616e616765723a2060448201527f61737365742063616e6e6f74206265207a65726f20616464726573730000000060648201526084015b60405180910390fd5b6001600160a01b0390811660805281166101265760405162461bcd60e51b815260206004820152603160248201527f4552433436323641737365744d616e616765723a207661756c742063616e6e6f60448201527074206265207a65726f206164647265737360781b60648201526084016100a7565b806001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610162573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610186919061026d565b6001600160a01b0316826001600160a01b03161461020c5760405162461bcd60e51b815260206004820152603360248201527f4552433436323641737365744d616e616765723a207661756c74206d7573742060448201527f68617665207468652073616d652061737365740000000000000000000000000060648201526084016100a7565b6001600160a01b031660a0525061028f565b6001600160a01b0381168114610232575f5ffd5b50565b5f5f60408385031215610246575f5ffd5b82516102518161021e565b60208401519092506102628161021e565b809150509250929050565b5f6020828403121561027d575f5ffd5b81516102888161021e565b9392505050565b60805160a0516114e161030b5f395f8181610686015281816109c901528181610a9401528181610dfa0152610efa01525f8181610162015281816102520152818161034a0152818161049d015281816105bb0152818161081801528181610902015281816109f801528181610c120152610f4a01526114e15ff3fe608060405234801561000f575f5ffd5b50600436106100a5575f3560e01c80634eb978a41161006e5780634eb978a4146101175780637d7c2a1c1461011f5780638d7ddd9014610127578063948cb7191461012f578063cec16f3f14610137578063f9c4fd1b1461013f575f5ffd5b8062a9bb8d146100a957806301ffc9a7146100be5780631014a0c2146100e65780633b6612c8146101075780634dd93bd31461010f575b5f5ffd5b6100bc6100b73660046111da565b610147565b005b6100d16100cc366004611203565b610446565b60405190151581526020015b60405180910390f35b6100f96100f436600461122a565b61047c565b6040519081526020016100dd565b6100f96105b8565b6100f961066f565b6100f961075c565b6100bc610801565b6100f96108ff565b6100bc6109aa565b6100f9610a62565b6100f9610c0f565b5f51602061148c5f395f51905f525f198414610245576101fa7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e09190611241565b6101eb90600a611358565b6101f59086611366565b610cc2565b815463ffffffff191663ffffffff9190911617815560266040518581527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b5f19831461033d576102e57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d09190611241565b6102db90600a611358565b6101f59085611366565b815463ffffffff919091166401000000000267ffffffff000000001990911617815560276040518481527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b5f198214610438576103dd7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c89190611241565b6103d390600a611358565b6101f59084611366565b815463ffffffff91909116600160401b026bffffffff00000000000000001990911617815560286040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b50610441610d2a565b505050565b5f6001600160e01b031982166301ffc9a760e01b148061047657506001600160e01b03198216631e670a9760e21b145b92915050565b6040516370a0823160e01b81523060048201525f9081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156104e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105069190611385565b90508281106105725760405162461bcd60e51b815260206004820152602d60248201527f4e6f206e65656420746f20726566696c6c207468652077616c6c657420666f7260448201526c081d1a1a5cc81c185e5b595b9d609a1b60648201526084015b60405180910390fd5b5f61057b61066f565b905081610586610c0f565b610590908661139c565b61059a91906113af565b9250808311156105a8578092505b6105b183610dce565b5050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610615573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106399190611241565b61064490600a611358565b5f51602061148c5f395f51905f525461066a9190600160401b900463ffffffff166113c2565b905090565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a9082906370a0823190602401602060405180830381865afa1580156106db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ff9190611385565b6040518263ffffffff1660e01b815260040161071d91815260200190565b602060405180830381865afa158015610738573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066a9190611385565b5f5f61076661066f565b5f51602061148c5f395f51905f528054919250905f9061079690600160601b90046001600160801b0316846113d9565b90506107a183610e6d565b82546001600160801b0391909116600160601b02600160601b600160e01b03199091161782556040518181527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a19392505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610865573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108899190611385565b90506108936105b8565b8111156108b7576108b46108a5610c0f565b6108af90836113af565b610ed5565b50565b6108bf6108ff565b8110156108b4575f6108ea6108d261066f565b836108db610c0f565b6108e591906113af565b610f31565b905080156108fb576108fb81610dce565b5050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190611241565b61098b90600a611358565b5f51602061148c5f395f51905f525461066a919063ffffffff166113c2565b6109b2610f48565b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f1960248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610a3e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b491906113ff565b5f805f51602061148c5f395f51905f526040516370a0823160e01b81523060048201529091505f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ba0876529082906370a0823190602401602060405180830381865afa158015610ae1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b059190611385565b6040516001600160e01b031960e084901b1681526004810191909152306024820181905260448201526064016020604051808303815f875af1158015610b4d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190611385565b8254909150610b9090600160601b90046001600160801b0316826113d9565b8254600160601b600160e01b03191683556040518281529093507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c659060200160405180910390a16040518381527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a1505090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c909190611241565b610c9b90600a611358565b5f51602061148c5f395f51905f525461066a9190640100000000900463ffffffff166113c2565b5f63ffffffff821115610d265760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610569565b5090565b5f51602061148c5f395f51905f52805463ffffffff64010000000082048116911611801590610d715750805463ffffffff600160401b820481166401000000009092041611155b6108b45760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a204c6971756964697479206c696d69747320617265604482015267081a5b9d985b1a5960c21b6064820152608401610569565b610dd781611096565b604051632d182be560e21b815260048101829052306024820181905260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b460af94906064015b6020604051808303815f875af1158015610e49573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190611385565b5f6001600160801b03821115610d265760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610569565b610ede8161114c565b604051636e553f6560e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f6590604401610e2d565b5f818310610f3f5781610f41565b825b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fae573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd29190611432565b6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110319190611432565b6001600160a01b0316146110785760405162461bcd60e51b815260206004820152600e60248201526d082e6e6cae840dad2e6dac2e8c6d60931b6044820152606401610569565b5f51602061148c5f395f51905f5280546001600160e01b0319169055565b5f51602061148c5f395f51905f5280546110c9906110c490600160601b90046001600160801b031684610f31565b610e6d565b81548290600c906110eb908490600160601b90046001600160801b031661144d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c658260405161114091815260200190565b60405180910390a15050565b5f51602061148c5f395f51905f5261116382610e6d565b81548290600c90611185908490600160601b90046001600160801b031661146c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f0f0cdeac88e111e1dd9b9f043e8c671053dedfbaeccabfb144fd51a4f870fcf48260405161114091815260200190565b5f5f5f606084860312156111ec575f5ffd5b505081359360208301359350604090920135919050565b5f60208284031215611213575f5ffd5b81356001600160e01b031981168114610f41575f5ffd5b5f6020828403121561123a575f5ffd5b5035919050565b5f60208284031215611251575f5ffd5b815160ff81168114610f41575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156112b05780850481111561129457611294611261565b60018416156112a257908102905b60019390931c928002611279565b935093915050565b5f826112c657506001610476565b816112d257505f610476565b81600181146112e857600281146112f25761130e565b6001915050610476565b60ff84111561130357611303611261565b50506001821b610476565b5060208310610133831016604e8410600b8410161715611331575081810a610476565b61133d5f198484611275565b805f190482111561135057611350611261565b029392505050565b5f610f4160ff8416836112b8565b5f8261138057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611395575f5ffd5b5051919050565b8082018082111561047657610476611261565b8181038181111561047657610476611261565b808202811582820484141761047657610476611261565b8181035f8312801583831316838312821617156113f8576113f8611261565b5092915050565b5f6020828403121561140f575f5ffd5b81518015158114610f41575f5ffd5b6001600160a01b03811681146108b4575f5ffd5b5f60208284031215611442575f5ffd5b8151610f418161141e565b6001600160801b03828116828216039081111561047657610476611261565b6001600160801b0381811683821601908111156104765761047661126156fe2285f21cf946f4f139f84d60d1bd42e41b7cecbb3685384f294f426ac09f5f46a26469706673582212207f7b8606c143d4d00dea41550973a7cc4e5550992310770e54f02c244f61351c64736f6c634300081c0033",
"deployedBytecode": "0x608060405234801561000f575f5ffd5b50600436106100a5575f3560e01c80634eb978a41161006e5780634eb978a4146101175780637d7c2a1c1461011f5780638d7ddd9014610127578063948cb7191461012f578063cec16f3f14610137578063f9c4fd1b1461013f575f5ffd5b8062a9bb8d146100a957806301ffc9a7146100be5780631014a0c2146100e65780633b6612c8146101075780634dd93bd31461010f575b5f5ffd5b6100bc6100b73660046111da565b610147565b005b6100d16100cc366004611203565b610446565b60405190151581526020015b60405180910390f35b6100f96100f436600461122a565b61047c565b6040519081526020016100dd565b6100f96105b8565b6100f961066f565b6100f961075c565b6100bc610801565b6100f96108ff565b6100bc6109aa565b6100f9610a62565b6100f9610c0f565b5f51602061148c5f395f51905f525f198414610245576101fa7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e09190611241565b6101eb90600a611358565b6101f59086611366565b610cc2565b815463ffffffff191663ffffffff9190911617815560266040518581527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b5f19831461033d576102e57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d09190611241565b6102db90600a611358565b6101f59085611366565b815463ffffffff919091166401000000000267ffffffff000000001990911617815560276040518481527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b5f198214610438576103dd7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c89190611241565b6103d390600a611358565b6101f59084611366565b815463ffffffff91909116600160401b026bffffffff00000000000000001990911617815560286040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a25b50610441610d2a565b505050565b5f6001600160e01b031982166301ffc9a760e01b148061047657506001600160e01b03198216631e670a9760e21b145b92915050565b6040516370a0823160e01b81523060048201525f9081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156104e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105069190611385565b90508281106105725760405162461bcd60e51b815260206004820152602d60248201527f4e6f206e65656420746f20726566696c6c207468652077616c6c657420666f7260448201526c081d1a1a5cc81c185e5b595b9d609a1b60648201526084015b60405180910390fd5b5f61057b61066f565b905081610586610c0f565b610590908661139c565b61059a91906113af565b9250808311156105a8578092505b6105b183610dce565b5050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610615573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106399190611241565b61064490600a611358565b5f51602061148c5f395f51905f525461066a9190600160401b900463ffffffff166113c2565b905090565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a9082906370a0823190602401602060405180830381865afa1580156106db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ff9190611385565b6040518263ffffffff1660e01b815260040161071d91815260200190565b602060405180830381865afa158015610738573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066a9190611385565b5f5f61076661066f565b5f51602061148c5f395f51905f528054919250905f9061079690600160601b90046001600160801b0316846113d9565b90506107a183610e6d565b82546001600160801b0391909116600160601b02600160601b600160e01b03199091161782556040518181527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a19392505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610865573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108899190611385565b90506108936105b8565b8111156108b7576108b46108a5610c0f565b6108af90836113af565b610ed5565b50565b6108bf6108ff565b8110156108b4575f6108ea6108d261066f565b836108db610c0f565b6108e591906113af565b610f31565b905080156108fb576108fb81610dce565b5050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190611241565b61098b90600a611358565b5f51602061148c5f395f51905f525461066a919063ffffffff166113c2565b6109b2610f48565b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f1960248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610a3e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b491906113ff565b5f805f51602061148c5f395f51905f526040516370a0823160e01b81523060048201529091505f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ba0876529082906370a0823190602401602060405180830381865afa158015610ae1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b059190611385565b6040516001600160e01b031960e084901b1681526004810191909152306024820181905260448201526064016020604051808303815f875af1158015610b4d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190611385565b8254909150610b9090600160601b90046001600160801b0316826113d9565b8254600160601b600160e01b03191683556040518281529093507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c659060200160405180910390a16040518381527f731c439c5bae15be1344eec709967e046b4f7d3f7e37abeffc5247f448fa18bf9060200160405180910390a1505090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c909190611241565b610c9b90600a611358565b5f51602061148c5f395f51905f525461066a9190640100000000900463ffffffff166113c2565b5f63ffffffff821115610d265760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610569565b5090565b5f51602061148c5f395f51905f52805463ffffffff64010000000082048116911611801590610d715750805463ffffffff600160401b820481166401000000009092041611155b6108b45760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a204c6971756964697479206c696d69747320617265604482015267081a5b9d985b1a5960c21b6064820152608401610569565b610dd781611096565b604051632d182be560e21b815260048101829052306024820181905260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b460af94906064015b6020604051808303815f875af1158015610e49573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190611385565b5f6001600160801b03821115610d265760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610569565b610ede8161114c565b604051636e553f6560e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f6590604401610e2d565b5f818310610f3f5781610f41565b825b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fae573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd29190611432565b6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110319190611432565b6001600160a01b0316146110785760405162461bcd60e51b815260206004820152600e60248201526d082e6e6cae840dad2e6dac2e8c6d60931b6044820152606401610569565b5f51602061148c5f395f51905f5280546001600160e01b0319169055565b5f51602061148c5f395f51905f5280546110c9906110c490600160601b90046001600160801b031684610f31565b610e6d565b81548290600c906110eb908490600160601b90046001600160801b031661144d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507fb82d4e0870bf4ae7236ad1de74d6612d04d1b805b47d98c2f40088a193d87c658260405161114091815260200190565b60405180910390a15050565b5f51602061148c5f395f51905f5261116382610e6d565b81548290600c90611185908490600160601b90046001600160801b031661146c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f0f0cdeac88e111e1dd9b9f043e8c671053dedfbaeccabfb144fd51a4f870fcf48260405161114091815260200190565b5f5f5f606084860312156111ec575f5ffd5b505081359360208301359350604090920135919050565b5f60208284031215611213575f5ffd5b81356001600160e01b031981168114610f41575f5ffd5b5f6020828403121561123a575f5ffd5b5035919050565b5f60208284031215611251575f5ffd5b815160ff81168114610f41575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156112b05780850481111561129457611294611261565b60018416156112a257908102905b60019390931c928002611279565b935093915050565b5f826112c657506001610476565b816112d257505f610476565b81600181146112e857600281146112f25761130e565b6001915050610476565b60ff84111561130357611303611261565b50506001821b610476565b5060208310610133831016604e8410600b8410161715611331575081810a610476565b61133d5f198484611275565b805f190482111561135057611350611261565b029392505050565b5f610f4160ff8416836112b8565b5f8261138057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611395575f5ffd5b5051919050565b8082018082111561047657610476611261565b8181038181111561047657610476611261565b808202811582820484141761047657610476611261565b8181035f8312801583831316838312821617156113f8576113f8611261565b5092915050565b5f6020828403121561140f575f5ffd5b81518015158114610f41575f5ffd5b6001600160a01b03811681146108b4575f5ffd5b5f60208284031215611442575f5ffd5b8151610f418161141e565b6001600160801b03828116828216039081111561047657610476611261565b6001600160801b0381811683821601908111156104765761047661126156fe2285f21cf946f4f139f84d60d1bd42e41b7cecbb3685384f294f426ac09f5f46a26469706673582212207f7b8606c143d4d00dea41550973a7cc4e5550992310770e54f02c244f61351c64736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}