UNPKG

@daostack/arc-experimental

Version:

A platform for building DAOs

503 lines (502 loc) 33.7 kB
{ "contractName": "LockingToken4Reputation", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_locker", "type": "address" }, { "indexed": true, "internalType": "bytes32", "name": "_lockingId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_period", "type": "uint256" } ], "name": "Lock", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "_lockingId", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "_token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_numerator", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_denominator", "type": "uint256" } ], "name": "LockToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_beneficiary", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Redeem", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "_lockingId", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "_beneficiary", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Release", "type": "event" }, { "inputs": [], "name": "avatar", "outputs": [ { "internalType": "contract Avatar", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAgreementHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract Avatar", "name": "_avatar", "type": "address" }, { "internalType": "uint256", "name": "_reputationReward", "type": "uint256" }, { "internalType": "uint256", "name": "_lockingStartTime", "type": "uint256" }, { "internalType": "uint256", "name": "_lockingEndTime", "type": "uint256" }, { "internalType": "uint256", "name": "_redeemEnableTime", "type": "uint256" }, { "internalType": "uint256", "name": "_maxLockingPeriod", "type": "uint256" }, { "internalType": "contract PriceOracleInterface", "name": "_priceOracleContract", "type": "address" }, { "internalType": "bytes32", "name": "_agreementHash", "type": "bytes32" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_period", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "bytes32", "name": "_agreementHash", "type": "bytes32" } ], "name": "lock", "outputs": [ { "internalType": "bytes32", "name": "lockingId", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "lockedTokens", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "lockers", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "releaseTime", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockingEndTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockingStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockingsCounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxLockingPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "priceOracleContract", "outputs": [ { "internalType": "contract PriceOracleInterface", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_beneficiary", "type": "address" } ], "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "reputation", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "redeemEnableTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "bytes32", "name": "_lockingId", "type": "bytes32" } ], "name": "release", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reputationReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reputationRewardLeft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "scores", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalLocked", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalLockedLeft", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalScore", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "voteParamsHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "votingMachine", "outputs": [ { "internalType": "contract IntVoteInterface", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061168a806100206000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394d0cb6e116100b8578063c006719f1161007c578063c006719f146102eb578063c3201add146102f3578063c348a24b146102fb578063d7c2eec714610303578063e8d3358814610343578063ed1ff6d81461036057610142565b806394d0cb6e1461027557806395a2251f146102ad578063a8c33017146102d3578063afe0e33c146102db578063bf0df445146102e357610142565b8063568914121161010a578063568914121461019d5780635aef7de6146101a5578063696da921146101ad57806376dd110f146101b55780637ad88799146101db578063838057421461023057610142565b80633d1678f4146101475780633edf7ca114610161578063457454db146101855780634ea2c7ec1461018d57806355bfec8814610195575b600080fd5b61014f610368565b60408051918252519081900360200190f35b61016961036e565b604080516001600160a01b039092168252519081900360200190f35b61016961037d565b61014f61038c565b61014f610392565b61014f610398565b61016961039e565b61014f6103ad565b61014f600480360360208110156101cb57600080fd5b50356001600160a01b03166103b3565b61022e60048036036101008110156101f257600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a08101359160c0820135169060e001356103c5565b005b61025c6004803603604081101561024657600080fd5b506001600160a01b0381351690602001356103f9565b6040805192835260208301919091528051918290030190f35b61014f6004803603608081101561028b57600080fd5b508035906020810135906001600160a01b03604082013516906060013561041d565b61014f600480360360208110156102c357600080fd5b50356001600160a01b03166105e2565b61014f610873565b61014f610879565b61014f61087f565b61014f610885565b61014f61088b565b61014f610891565b61032f6004803603604081101561031957600080fd5b506001600160a01b038135169060200135610897565b604080519115158252519081900360200190f35b6101696004803603602081101561035957600080fd5b50356108d6565b61014f6108f1565b60425481565b6035546001600160a01b031681565b6043546001600160a01b031681565b60365481565b60415481565b60395481565b6034546001600160a01b031681565b60005490565b60386020526000908152604090205481565b604380546001600160a01b0319166001600160a01b0384161790556103ef888888888888876108f7565b5050505050505050565b60376020908152600092835260408084209091529082529020805460019091015482565b604354604080516341976e0960e01b81526001600160a01b03858116600483015282516000948594859493909116926341976e099260248083019392829003018186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d604081101561049757600080fd5b5080516020909101519092509050816104f7576040805162461bcd60e51b815260206004820152601760248201527f6e756d657261746f722073686f756c64206265203e2030000000000000000000604482015290519081900360640190fd5b6000811161054c576040805162461bcd60e51b815260206004820152601960248201527f64656e6f6d696e61746f722073686f756c64206265203e203000000000000000604482015290519081900360640190fd5b6105616001600160a01b03861633308a6109ad565b61056f878733858589610a0d565b60008181526044602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155825186815291820185905282519396509286927f09ae2accb7909b2605e5e74e2584c7f5aa396bc6ab76290633ae3819ff650e9f928290030190a35050949350505050565b60006042544211610633576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b038216600090815260386020526040902054610693576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b0382166000908152603860205260408120805490829055603d549091906106c2908390610db1565b90506106d9603b5482610e1190919063ffffffff16565b603e549093506106e99084610e53565b603e5560345460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b15801561073157600080fd5b505afa158015610745573d6000803e3d6000fd5b505050506040513d602081101561075b57600080fd5b50516040805163dea9e24d60e01b8152600481018690526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b1580156107b057600080fd5b505af11580156107c4573d6000803e3d6000fd5b505050506040513d60208110156107da57600080fd5b505161082d576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b603f5481565b603e5481565b60405481565b603b5481565b603c5481565b603a5481565b6000806108a48484610e95565b6000848152604460205260409020549091506108ca906001600160a01b03168583610fba565b60019150505b92915050565b6044602052600090815260409020546001600160a01b031681565b603d5481565b61090087611011565b84841161093e5760405162461bcd60e51b815260040180806020018281038252603a81526020018061157b603a913960400191505060405180910390fd5b8383101561097d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116336022913960400191505060405180910390fd5b603d869055603e869055603f8490556040829055604185905560428390556109a481611129565b50505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610a07908590611183565b50505050565b6000816000548114610a505760405162461bcd60e51b81526004018080602001828103825260288152602001806115b56028913960400191505060405180910390fd5b60008811610aa5576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720616d6f756e742073686f756c64206265203e203000000000604482015290519081900360640190fd5b604054871115610ae65760405162461bcd60e51b815260040180806020018281038252602c8152602001806115dd602c913960400191505060405180910390fd5b60008711610b3b576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203e203000000000604482015290519081900360640190fd5b603f54421115610b7c5760405162461bcd60e51b81526004018080602001828103825260308152602001806114fc6030913960400191505060405180910390fd5b604154421015610bbd5760405162461bcd60e51b81526004018080602001828103825260288152602001806114d46028913960400191505060405180910390fd5b603c54604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209250610bfd90600161133b565b603c556001600160a01b038616600090815260376020908152604080832085845290915290208881554288016001820155603954610c3b908a61133b565b603955603a54610c4b908a61133b565b603a556000610c6e86610c6889610c628d8f610db1565b90610db1565b90610e11565b905060008111610cb9576040805162461bcd60e51b8152602060048201526011602482015270073636f7265206d757374206d65203e203607c1b604482015290519081900360640190fd5b6001600160a01b038816600090815260386020526040902054610cdc908261133b565b6001600160a01b0389166000908152603860205260409020819055603d549081810281610d0557fe5b0414610d4c576040805162461bcd60e51b81526020600482015260116024820152700e6c6dee4ca40d2e640e8dede40d0d2ced607b1b604482015290519081900360640190fd5b603b54610d59908261133b565b603b55604080518b8152602081018b9052815186926001600160a01b038c16927fd173f98f4a2080eab40a0bff4d9a575753270cb2401c74efdec1feb0ba31b426929081900390910190a35050509695505050505050565b600082610dc0575060006108d0565b82820282848281610dcd57fe5b0414610e0a5760405162461bcd60e51b815260040180806020018281038252602181526020018061152c6021913960400191505060405180910390fd5b9392505050565b6000610e0a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611395565b6000610e0a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611437565b6001600160a01b038216600090815260376020908152604080832084845290915281208054610f02576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b80546000825560018201549092504211610f63576040805162461bcd60e51b815260206004820152601a60248201527f636865636b20746865206c6f636b20706572696f642070617373000000000000604482015290519081900360640190fd5b603a54610f709083610e53565b603a556040805183815290516001600160a01b0386169185917fcb7ab693259d2332e08e7666832578144deb74443e37a762847e848793fc29819181900360200190a35092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261100c908490611183565b505050565b600154610100900460ff168061102a575061102a611491565b80611038575060015460ff16155b6110735760405162461bcd60e51b815260040180806020018281038252602e81526020018061154d602e913960400191505060405180910390fd5b600154610100900460ff1615801561109d576001805460ff1961ff00199091166101001716811790555b6001600160a01b0382166110f8576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0384161790558015611125576001805461ff00191690555b5050565b6000541561117e576040805162461bcd60e51b815260206004820152601b60248201527f43616e206e6f74207365742061677265656d656e742074776963650000000000604482015290519081900360640190fd5b600055565b611195826001600160a01b0316611497565b6111e6576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106112245780518252601f199092019160209182019101611205565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611286576040519150601f19603f3d011682016040523d82523d6000602084013e61128b565b606091505b5091509150816112e2576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610a07578080602001905160208110156112fe57600080fd5b5051610a075760405162461bcd60e51b815260040180806020018281038252602a815260200180611609602a913960400191505060405180910390fd5b600082820183811015610e0a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836114215760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113e65781810151838201526020016113ce565b50505050905090810190601f1680156114135780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161142d57fe5b0495945050505050565b600081848411156114895760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113e65781810151838201526020016113ce565b505050900390565b303b1590565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906114cb57508115155b94935050505056fe6c6f636b2073686f756c64207374617274206166746572206c6f636b696e67537461727454696d656c6f636b2073686f756c642062652077697468696e2074686520616c6c6f776564206c6f636b696e6720706572696f64536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65646c6f636b696e6720656e642074696d652073686f756c642062652067726561746572207468616e206c6f636b696e672073746172742074696d6553656e646572206d7573742073656e64207468652072696768742061677265656d656e74486173686c6f636b696e6720706572696f642073686f756c64206265203c3d206d61784c6f636b696e67506572696f645361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656472656465656d456e61626c6554696d65203e3d206c6f636b696e67456e6454696d65a2646970667358221220f7e41a0528a8aa8af206bd1d9ec47d0e2c98b403e77e1c80cfb08e888046bf4364736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806394d0cb6e116100b8578063c006719f1161007c578063c006719f146102eb578063c3201add146102f3578063c348a24b146102fb578063d7c2eec714610303578063e8d3358814610343578063ed1ff6d81461036057610142565b806394d0cb6e1461027557806395a2251f146102ad578063a8c33017146102d3578063afe0e33c146102db578063bf0df445146102e357610142565b8063568914121161010a578063568914121461019d5780635aef7de6146101a5578063696da921146101ad57806376dd110f146101b55780637ad88799146101db578063838057421461023057610142565b80633d1678f4146101475780633edf7ca114610161578063457454db146101855780634ea2c7ec1461018d57806355bfec8814610195575b600080fd5b61014f610368565b60408051918252519081900360200190f35b61016961036e565b604080516001600160a01b039092168252519081900360200190f35b61016961037d565b61014f61038c565b61014f610392565b61014f610398565b61016961039e565b61014f6103ad565b61014f600480360360208110156101cb57600080fd5b50356001600160a01b03166103b3565b61022e60048036036101008110156101f257600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a08101359160c0820135169060e001356103c5565b005b61025c6004803603604081101561024657600080fd5b506001600160a01b0381351690602001356103f9565b6040805192835260208301919091528051918290030190f35b61014f6004803603608081101561028b57600080fd5b508035906020810135906001600160a01b03604082013516906060013561041d565b61014f600480360360208110156102c357600080fd5b50356001600160a01b03166105e2565b61014f610873565b61014f610879565b61014f61087f565b61014f610885565b61014f61088b565b61014f610891565b61032f6004803603604081101561031957600080fd5b506001600160a01b038135169060200135610897565b604080519115158252519081900360200190f35b6101696004803603602081101561035957600080fd5b50356108d6565b61014f6108f1565b60425481565b6035546001600160a01b031681565b6043546001600160a01b031681565b60365481565b60415481565b60395481565b6034546001600160a01b031681565b60005490565b60386020526000908152604090205481565b604380546001600160a01b0319166001600160a01b0384161790556103ef888888888888876108f7565b5050505050505050565b60376020908152600092835260408084209091529082529020805460019091015482565b604354604080516341976e0960e01b81526001600160a01b03858116600483015282516000948594859493909116926341976e099260248083019392829003018186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d604081101561049757600080fd5b5080516020909101519092509050816104f7576040805162461bcd60e51b815260206004820152601760248201527f6e756d657261746f722073686f756c64206265203e2030000000000000000000604482015290519081900360640190fd5b6000811161054c576040805162461bcd60e51b815260206004820152601960248201527f64656e6f6d696e61746f722073686f756c64206265203e203000000000000000604482015290519081900360640190fd5b6105616001600160a01b03861633308a6109ad565b61056f878733858589610a0d565b60008181526044602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155825186815291820185905282519396509286927f09ae2accb7909b2605e5e74e2584c7f5aa396bc6ab76290633ae3819ff650e9f928290030190a35050949350505050565b60006042544211610633576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b038216600090815260386020526040902054610693576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b0382166000908152603860205260408120805490829055603d549091906106c2908390610db1565b90506106d9603b5482610e1190919063ffffffff16565b603e549093506106e99084610e53565b603e5560345460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b15801561073157600080fd5b505afa158015610745573d6000803e3d6000fd5b505050506040513d602081101561075b57600080fd5b50516040805163dea9e24d60e01b8152600481018690526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b1580156107b057600080fd5b505af11580156107c4573d6000803e3d6000fd5b505050506040513d60208110156107da57600080fd5b505161082d576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b603f5481565b603e5481565b60405481565b603b5481565b603c5481565b603a5481565b6000806108a48484610e95565b6000848152604460205260409020549091506108ca906001600160a01b03168583610fba565b60019150505b92915050565b6044602052600090815260409020546001600160a01b031681565b603d5481565b61090087611011565b84841161093e5760405162461bcd60e51b815260040180806020018281038252603a81526020018061157b603a913960400191505060405180910390fd5b8383101561097d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116336022913960400191505060405180910390fd5b603d869055603e869055603f8490556040829055604185905560428390556109a481611129565b50505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610a07908590611183565b50505050565b6000816000548114610a505760405162461bcd60e51b81526004018080602001828103825260288152602001806115b56028913960400191505060405180910390fd5b60008811610aa5576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720616d6f756e742073686f756c64206265203e203000000000604482015290519081900360640190fd5b604054871115610ae65760405162461bcd60e51b815260040180806020018281038252602c8152602001806115dd602c913960400191505060405180910390fd5b60008711610b3b576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203e203000000000604482015290519081900360640190fd5b603f54421115610b7c5760405162461bcd60e51b81526004018080602001828103825260308152602001806114fc6030913960400191505060405180910390fd5b604154421015610bbd5760405162461bcd60e51b81526004018080602001828103825260288152602001806114d46028913960400191505060405180910390fd5b603c54604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209250610bfd90600161133b565b603c556001600160a01b038616600090815260376020908152604080832085845290915290208881554288016001820155603954610c3b908a61133b565b603955603a54610c4b908a61133b565b603a556000610c6e86610c6889610c628d8f610db1565b90610db1565b90610e11565b905060008111610cb9576040805162461bcd60e51b8152602060048201526011602482015270073636f7265206d757374206d65203e203607c1b604482015290519081900360640190fd5b6001600160a01b038816600090815260386020526040902054610cdc908261133b565b6001600160a01b0389166000908152603860205260409020819055603d549081810281610d0557fe5b0414610d4c576040805162461bcd60e51b81526020600482015260116024820152700e6c6dee4ca40d2e640e8dede40d0d2ced607b1b604482015290519081900360640190fd5b603b54610d59908261133b565b603b55604080518b8152602081018b9052815186926001600160a01b038c16927fd173f98f4a2080eab40a0bff4d9a575753270cb2401c74efdec1feb0ba31b426929081900390910190a35050509695505050505050565b600082610dc0575060006108d0565b82820282848281610dcd57fe5b0414610e0a5760405162461bcd60e51b815260040180806020018281038252602181526020018061152c6021913960400191505060405180910390fd5b9392505050565b6000610e0a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611395565b6000610e0a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611437565b6001600160a01b038216600090815260376020908152604080832084845290915281208054610f02576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b80546000825560018201549092504211610f63576040805162461bcd60e51b815260206004820152601a60248201527f636865636b20746865206c6f636b20706572696f642070617373000000000000604482015290519081900360640190fd5b603a54610f709083610e53565b603a556040805183815290516001600160a01b0386169185917fcb7ab693259d2332e08e7666832578144deb74443e37a762847e848793fc29819181900360200190a35092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261100c908490611183565b505050565b600154610100900460ff168061102a575061102a611491565b80611038575060015460ff16155b6110735760405162461bcd60e51b815260040180806020018281038252602e81526020018061154d602e913960400191505060405180910390fd5b600154610100900460ff1615801561109d576001805460ff1961ff00199091166101001716811790555b6001600160a01b0382166110f8576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0384161790558015611125576001805461ff00191690555b5050565b6000541561117e576040805162461bcd60e51b815260206004820152601b60248201527f43616e206e6f74207365742061677265656d656e742074776963650000000000604482015290519081900360640190fd5b600055565b611195826001600160a01b0316611497565b6111e6576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106112245780518252601f199092019160209182019101611205565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611286576040519150601f19603f3d011682016040523d82523d6000602084013e61128b565b606091505b5091509150816112e2576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610a07578080602001905160208110156112fe57600080fd5b5051610a075760405162461bcd60e51b815260040180806020018281038252602a815260200180611609602a913960400191505060405180910390fd5b600082820183811015610e0a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836114215760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113e65781810151838201526020016113ce565b50505050905090810190601f1680156114135780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161142d57fe5b0495945050505050565b600081848411156114895760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113e65781810151838201526020016113ce565b505050900390565b303b1590565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906114cb57508115155b94935050505056fe6c6f636b2073686f756c64207374617274206166746572206c6f636b696e67537461727454696d656c6f636b2073686f756c642062652077697468696e2074686520616c6c6f776564206c6f636b696e6720706572696f64536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65646c6f636b696e6720656e642074696d652073686f756c642062652067726561746572207468616e206c6f636b696e672073746172742074696d6553656e646572206d7573742073656e64207468652072696768742061677265656d656e74486173686c6f636b696e6720706572696f642073686f756c64206265203c3d206d61784c6f636b696e67506572696f645361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656472656465656d456e61626c6554696d65203e3d206c6f636b696e67456e6454696d65a2646970667358221220f7e41a0528a8aa8af206bd1d9ec47d0e2c98b403e77e1c80cfb08e888046bf4364736f6c634300060c0033", "linkReferences": {}, "deployedLinkReferences": {} }