UNPKG

@tokenz/tokens-smartcontract-sdk

Version:
358 lines 346 kB
{ "contractName": "STODivident", "abi": [ { "constant": true, "inputs": [], "name": "maCAddr", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "stfAddr", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "STOAddress", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "stoSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "contractCategory", "outputs": [ { "name": "", "type": "bytes8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "kycAddr", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "initDist", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "allocation", "outputs": [ { "name": "balance", "type": "uint256" }, { "name": "alloted", "type": "uint256" }, { "name": "isAllotee", "type": "bool" }, { "name": "isAlloted", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "currentDist", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "state", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "ruCAddr", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "contractType", "outputs": [ { "name": "", "type": "bytes8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_maCAddr", "type": "address" }, { "name": "_ruCAddr", "type": "address" }, { "name": "_kyc", "type": "address" }, { "name": "_stf", "type": "address" }, { "name": "_stoAddr", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "constant": false, "inputs": [ { "name": "_addr", "type": "address[]" } ], "name": "allotment", "outputs": [ { "name": "result", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "deposit", "outputs": [ { "name": "result", "type": "bool" } ], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [], "name": "redeem", "outputs": [ { "name": "result", "type": "bool" } ], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_addr", "type": "address" } ], "name": "calculateR", "outputs": [ { "name": "amt", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "finalize", "outputs": [ { "name": "result", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_balance", "type": "uint256" } ], "name": "withdraw", "outputs": [ { "name": "result", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5060405160a0806200215683398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506100af858560017801000000000000000000000000000000000000000000000000026004780100000000000000000000000000000000000000000000000002610328640100000000026401000000009004565b82600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156102dd57600080fd5b505af11580156102f1573d6000803e3d6000fd5b505050506040513d602081101561030757600080fd5b8101908080519060200190929190505050600b8190555050505050506104a7565b83600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555080600060086101000a81548167ffffffffffffffff021916908378010000000000000000000000000000000000000000000000009004021790555050505050565b611c9f80620004b76000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632864faea146101015780632894516e146101585780632e1a7d4d146101af578063391f98fe146101f45780634bb278f31461024b5780635683d9df1461027a5780636873da30146102a55780637381ea03146103235780637705831b14610384578063aba3a7f9146103db578063b1e5db4014610432578063b81b86301461045d578063be040fb0146104d1578063be183957146104f3578063c19d93fb1461051e578063c34b59eb1461054d578063cb2ef6f7146105a4578063d0e30db014610605575b600080fd5b34801561010d57600080fd5b50610116610627565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016457600080fd5b5061016d61064d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bb57600080fd5b506101da60048036038101908080359060200190929190505050610673565b604051808215151515815260200191505060405180910390f35b34801561020057600080fd5b50610209610b3f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025757600080fd5b50610260610b65565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610e0b565b6040518082815260200191505060405180910390f35b3480156102b157600080fd5b5061030960048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610e11565b604051808215151515815260200191505060405180910390f35b34801561032f57600080fd5b506103386112a5565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801561039057600080fd5b506103c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112cf565b6040518082815260200191505060405180910390f35b3480156103e757600080fd5b506103f0611343565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043e57600080fd5b50610447611369565b6040518082815260200191505060405180910390f35b34801561046957600080fd5b5061049e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b60405180858152602001848152602001831515151581526020018215151515815260200194505050505060405180910390f35b6104d96113b9565b604051808215151515815260200191505060405180910390f35b3480156104ff57600080fd5b506105086116e6565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b506105336116ec565b604051808215151515815260200191505060405180910390f35b34801561055957600080fd5b506105626116ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b057600080fd5b506105b9611725565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b61060d611750565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060011515600d60009054906101000a900460ff16151514151561069857600080fd5b7fc26f22db83dc51cea1eb7fe4efcae8c4b4ad5e40c296b9de77cfd16ae68caa94600102600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663635912d5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166382f6f815336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156107b757600080fd5b505af11580156107cb573d6000803e3d6000fd5b505050506040513d60208110156107e157600080fd5b8101908080519060200190929190505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305ad1456856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561088b57600080fd5b505af115801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b15801561098b57600080fd5b505af115801561099f573d6000803e3d6000fd5b505050506040513d60208110156109b557600080fd5b810190808051906020019092919050505015156109d157600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ab057600080fd5b505af1158015610ac4573d6000803e3d6000fd5b505050506040513d6020811015610ada57600080fd5b810190808051906020019092919050505091508173ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015610b33573d6000803e3d6000fd5b50600192505050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000801515600d60009054906101000a900460ff161515141515610b8857600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b505050506040513d6020811015610c9657600080fd5b81019080805190602001909291905050501515141515610cb557600080fd5b333373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610d8a57600080fd5b505af1158015610d9e573d6000803e3d6000fd5b505050506040513d6020811015610db457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515610de757600080fd5b6001600d60006101000a81548160ff02191690831515021790555060019250505090565b600b5481565b6000806000801515600d60009054906101000a900460ff161515141515610e3757600080fd5b333373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f0c57600080fd5b505af1158015610f20573d6000803e3d6000fd5b505050506040513d6020811015610f3657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515610f6957600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561104d57600080fd5b505af1158015611061573d6000803e3d6000fd5b505050506040513d602081101561107757600080fd5b8101908080519060200190929190505050151514151561109657600080fd5b600093505b855184101561129857600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823187868151811015156110f057fe5b906020019060200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b505050506040513d60208110156111a257600080fd5b810190808051906020019092919050505092506080604051908101604052808481526020016000815260200160011515815260200160001515815250600c600088878151811015156111f057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690831515021790555060608201518160020160016101000a81548160ff021916908315150217905550905050838060010194505061109b565b6001945050505050919050565b6000809054906101000a900478010000000000000000000000000000000000000000000000000281565b600061133c600b5461132e600e54600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546119ff90919063ffffffff16565b611acc90919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b600c6020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60008060011515600d60009054906101000a900460ff1615151415156113de57600080fd5b3360001515600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160019054906101000a900460ff161515148015611495575060011515600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff161515145b15156114a057600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561158457600080fd5b505af1158015611598573d6000803e3d6000fd5b505050506040513d60208110156115ae57600080fd5b810190808051906020019092919050505015151415156115cd57600080fd5b6115d6336112cf565b92506115ed83600f54611b5f90919063ffffffff16565b600f8190555082600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160016101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156116db573d6000803e3d6000fd5b506001935050505090565b600f5481565b600d60009054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060089054906101000a900478010000000000000000000000000000000000000000000000000281565b6000801515600d60009054906101000a900460ff16151514151561177357600080fd5b333373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050506040513d602081101561187257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156118a557600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505050506040513d60208110156119b357600080fd5b810190808051906020019092919050505015151415156119d257600080fd5b6119e734600e54611be990919063ffffffff16565b600e81905550600e54600f8190555060019250505090565b6000806000841415611a145760009150611ac5565b8284029050828482811515611a2557fe5b04141515611ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505b5092915050565b600080600083111515611b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b8284811515611b5257fe5b0490508091505092915050565b600080838311151515611bda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b82840390508091505092915050565b6000808284019050838110151515611c69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b80915050929150505600a165627a7a723058205a940c1980a52bacc7428751ea8c192b2a84b8256906cf179c7e4d29a16ee5410029", "deployedBytecode": "0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632864faea146101015780632894516e146101585780632e1a7d4d146101af578063391f98fe146101f45780634bb278f31461024b5780635683d9df1461027a5780636873da30146102a55780637381ea03146103235780637705831b14610384578063aba3a7f9146103db578063b1e5db4014610432578063b81b86301461045d578063be040fb0146104d1578063be183957146104f3578063c19d93fb1461051e578063c34b59eb1461054d578063cb2ef6f7146105a4578063d0e30db014610605575b600080fd5b34801561010d57600080fd5b50610116610627565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016457600080fd5b5061016d61064d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bb57600080fd5b506101da60048036038101908080359060200190929190505050610673565b604051808215151515815260200191505060405180910390f35b34801561020057600080fd5b50610209610b3f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025757600080fd5b50610260610b65565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610e0b565b6040518082815260200191505060405180910390f35b3480156102b157600080fd5b5061030960048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610e11565b604051808215151515815260200191505060405180910390f35b34801561032f57600080fd5b506103386112a5565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801561039057600080fd5b506103c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112cf565b6040518082815260200191505060405180910390f35b3480156103e757600080fd5b506103f0611343565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043e57600080fd5b50610447611369565b6040518082815260200191505060405180910390f35b34801561046957600080fd5b5061049e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b60405180858152602001848152602001831515151581526020018215151515815260200194505050505060405180910390f35b6104d96113b9565b604051808215151515815260200191505060405180910390f35b3480156104ff57600080fd5b506105086116e6565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b506105336116ec565b604051808215151515815260200191505060405180910390f35b34801561055957600080fd5b506105626116ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b057600080fd5b506105b9611725565b604051808277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b61060d611750565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060011515600d60009054906101000a900460ff16151514151561069857600080fd5b7fc26f22db83dc51cea1eb7fe4efcae8c4b4ad5e40c296b9de77cfd16ae68caa94600102600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663635912d5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166382f6f815336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156107b757600080fd5b505af11580156107cb573d6000803e3d6000fd5b505050506040513d60208110156107e157600080fd5b8101908080519060200190929190505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305ad1456856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561088b57600080fd5b505af115801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808377ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018277ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200192505050602060405180830381600087803b15801561098b57600080fd5b505af115801561099f573d6000803e3d6000fd5b505050506040513d60208110156109b557600080fd5b810190808051906020019092919050505015156109d157600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ab057600080fd5b505af1158015610ac4573d6000803e3d6000fd5b505050506040513d6020811015610ada57600080fd5b810190808051906020019092919050505091508173ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015610b33573d6000803e3d6000fd5b50600192505050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000801515600d60009054906101000a900460ff161515141515610b8857600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b505050506040513d6020811015610c9657600080fd5b81019080805190602001909291905050501515141515610cb557600080fd5b333373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610d8a57600080fd5b505af1158015610d9e573d6000803e3d6000fd5b505050506040513d6020811015610db457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515610de757600080fd5b6001600d60006101000a81548160ff02191690831515021790555060019250505090565b600b5481565b6000806000801515600d60009054906101000a900460ff161515141515610e3757600080fd5b333373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f0c57600080fd5b505af1158015610f20573d6000803e3d6000fd5b505050506040513d6020811015610f3657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141515610f6957600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561104d57600080fd5b505af1158015611061573d6000803e3d6000fd5b505050506040513d602081101561107757600080fd5b8101908080519060200190929190505050151514151561109657600080fd5b600093505b855184101561129857600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823187868151811015156110f057fe5b906020019060200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b505050506040513d60208110156111a257600080fd5b810190808051906020019092919050505092506080604051908101604052808481526020016000815260200160011515815260200160001515815250600c600088878151811015156111f057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690831515021790555060608201518160020160016101000a81548160ff021916908315150217905550905050838060010194505061109b565b6001945050505050919050565b6000809054906101000a900478010000000000000000000000000000000000000000000000000281565b600061133c600b5461132e600e54600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546119ff90919063ffffffff16565b611acc90919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b600c6020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60008060011515600d60009054906101000a900460ff1615151415156113de57600080fd5b3360001515600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160019054906101000a900460ff161515148015611495575060011515600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff161515145b15156114a057600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561158457600080fd5b505af1158015611598573d6000803e3d6000fd5b505050506040513d60208110156115ae57600080fd5b810190808051906020019092919050505015151415156115cd57600080fd5b6115d6336112cf565b92506115ed83600f54611b5f90919063ffffffff16565b600f8190555082600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160016101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156116db573d6000803e3d6000fd5b506001935050505090565b600f5481565b600d60009054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060089054906101000a900478010000000000000000000000000000000000000000000000000281565b6000801515600d60009054906101000a900460ff16151514151561177357600080fd5b333373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4799e01836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050506040513d602081101561187257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156118a557600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660011515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf08bca6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505050506040513d60208110156119b357600080fd5b810190808051906020019092919050505015151415156119d257600080fd5b6119e734600e54611be990919063ffffffff16565b600e81905550600e54600f8190555060019250505090565b6000806000841415611a145760009150611ac5565b8284029050828482811515611a2557fe5b04141515611ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505b5092915050565b600080600083111515611b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b8284811515611b5257fe5b0490508091505092915050565b600080838311151515611bda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b82840390508091505092915050565b6000808284019050838110151515611c69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b80915050929150505600a165627a7a723058205a940c1980a52bacc7428751ea8c192b2a84b8256906cf179c7e4d29a16ee5410029", "sourceMap": "57:2374:0:-;;;103:417;8:9:-1;5:2;;;30:1;27;20:12;5:2;103:417:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;233:62;239:8;248;257:18;233:62;;276:18;233:62;;:5;;;:62;;;:::i;:::-;321:4;305;;:21;;;;;;;;;;;;;;;;;;354:4;336;;:23;;;;;;;;;;;;;;;;;;379:4;369:7;;:14;;;;;;;;;;;;;;;;;;403:4;393:7;;:14;;;;;;;;;;;;;;;;;;430:8;417:10;;:21;;;;;;;;;;;;;;;;;;463:10;;;;;;;;;;;448:3;;:26;;;;;;;;;;;;;;;;;;496:3;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;496:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;496:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;496:17:0;;;;;;;;;;;;;;;;484:9;:29;;;;103:417;;;;;57:2374;;891:341:13;1030:8;1020:7;;:18;;;;;;;;;;;;;;;;;;1058:8;1048:7;;:18;;;;;;;;;;;;;;;;;;1095:8;1076:4;;:28;;;;;;;;;;;;;;;;;;1132:8;1114:4;;:27;;;;;;;;;;;;;;;;;;1170:17;1151:16;;:36;;;;;;;;;;;;;;;;;;;1212:13;1197:12;;:28;;;;;;;;;;;;;;;;;;;891:341;;;;:::o;57:2374:0:-;;;;;;;", "deployedSourceMap": "57:2374:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:22:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;424:22:13;;;;;;;;;;;;;;;;;;;;;;;;;;;338::1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;338:22:1;;;;;;;;;;;;;;;;;;;;;;;;;;;2095:334:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2095:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;367:25:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;367:25:1;;;;;;;;;;;;;;;;;;;;;;;;;;;1867:222:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1867:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;399:24:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;399:24:1;;;;;;;;;;;;;;;;;;;;;;;526:403:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;526:403:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;355:30:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;355:30:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1680:180:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1680:180:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:22:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;309:22:1;;;;;;;;;;;;;;;;;;;;;;;;;;;630:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:23:1;;;;;;;;;;;;;;;;;;;;;;;430:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;430:45:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1228:446:0;;;;;;;;;;;;;;;;;;;;;;;;;;;660:26:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;660:26:1;;;;;;;;;;;;;;;;;;;;;;;606:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;606:17:1;;;;;;;;;;;;;;;;;;;;;;;;;;;452:22:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;452:22:13;;;;;;;;;;;;;;;;;;;;;;;;;;;391:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;391:26:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;935:287:0;;;;;;;;;;;;;;;;;;;;;;;;;;;424:22:13;;;;;;;;;;;;;:::o;338::1:-;;;;;;;;;;;;;:::o;2095:334:0:-;2277:11;2305:16;745:4:1;736:13;;:5;;;;;;;;;;;:13;;;727:24;;;;;;;;2176:66:0;525:142:13;;583:4;;;;;;;;;;;:20;;;604:4;;;;;;;;;;;:12;;;617:10;604:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;604:24:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;604:24:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;604:24:13;;;;;;;;;;;;;;;;629:4;;;;;;;;;;;:11;;;641:5;629:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;629:18:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;629:18:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;629:18:13;;;;;;;;;;;;;;;;583:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;583:65:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;583:65:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;583:65:13;;;;;;;;;;;;;;;;575:74;;;;;;;;2324:4:0;;;;;;;;;;;:15;;;2341:10;;;;;;;;;;;2324:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2324:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2324:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2324:29:0;;;;;;;;;;;;;;;;2305:48;;2371:8;2363:26;;:36;2390:8;2363:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2363:36:0;2418:4;2409:13;;761:1:1;2095:334:0;;;;:::o;367:25:1:-;;;;;;;;;;;;;:::o;1867:222:0:-;2019:11;830:5:1;821:14;;:5;;;;;;;;;;;:14;;;812:25;;;;;;;;1936:10:0;;;;;;;;;;;1070:4:1;1043:31;;:4;;;;;;;;;;;:15;;;1059:5;1043:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1043:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1043:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1043:23:1;;;;;;;;;;;;;;;;:31;;;1034:42;;;;;;;;1973:10:0;947::1;920:37;;:4;;;;;;;;;;;:15;;;936:5;920:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;920:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;920:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;920:23:1;;;;;;;;;;;;;;;;:37;;;911:48;;;;;;;;2055:4:0;2047:5;;:12;;;;;;;;;;;;;;;;;;2078:4;2069:13;;1086:1:1;847;1867:222:0;:::o;399:24:1:-;;;;:::o;526:403:0:-;691:11;724:6;776:15;830:5:1;821:14;;:5;;;;;;;;;;;:14;;;812:25;;;;;;;;610:10:0;947::1;920:37;;:4;;;;;;;;;;;:15;;;936:5;920:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;920:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;920:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;920:23:1;;;;;;;;;;;;;;;;:37;;;911:48;;;;;;;;646:10:0;;;;;;;;;;;1070:4:1;1043:31;;:4;;;;;;;;;;;:15;;;1059:5;1043:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1043:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1043:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1043:23:1;;;;;;;;;;;;;;;;:31;;;1034:42;;;;;;;;733:1:0;724:10;;719:181;741:5;:12;737:1;:16;719:181;;;794:3;;;;;;;;;;;:13;;;808:5;814:1;808:8;;;;;;;;;;;;;;;;;;794:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;794:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;794:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;794:23:0;;;;;;;;;;;;;;;;776:41;;854:35;;;;;;;;;861:7;854:35;;;;871:1;854:35;;;;875:4;854:35;;;;;;882:5;854:35;;;;;831:10;:20;842:5;848:1;842:8;;;;;;;;;;;;;;;;;;831:20;;;;;;;;;;;;;;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;756:3;;;;;;;719:181;;;918:4;909:13;;969:1:1;847;526:403:0;;;;;:::o;355:30:13:-;;;;;;;;;;;;;:::o;1680:180:0:-;1763:11;1797:56;1843:9;;1798:39;1828:8;;1798:10;:17;1809:5;1798:17;;;;;;;;;;;;;;;:25;;;:29;;:39;;;;:::i;:::-;1797:45;;:56;;;;:::i;:::-;1791:62;;1680:180;;;:::o;309:22:1:-;;;;;;;;;;;;;:::o;630:23::-;;;;:::o;430:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1228:446:0:-;1386:11;1414:14;745:4:1;736:13;;:5;;;;;;;;;;;:13;;;727:24;;;;;;;;1289:10:0;1311:5:1;1280:36;;:10;:17;1291:5;1280:17;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:36;;;1278:83;;;;;1355:4;1324:35;;:10;:17;1335:5;1324:17;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:35;;;1278:83;1269:94;;;;;;;;1325:10:0;;;;;;;;;;;1070:4:1;1043:31;;:4;;;;;;;;;;;:15;;;1059:5;1043:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1043:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1043:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1043:23:1;;;;;;;;;;;;;;;;:31;;;1034:42;;;;;;;;1431:22:0;1442:10;1431;:22::i;:::-;1414:39;;1477:23;1493:6;1477:11;;:15;;:23;;;;:::i;:::-;1463:11;:37;;;;1543:6;1510:10;:22;1521:10;1510:22;;;;;;;;;;;;;;;:30;;:39;;;;1594:4;1559:10;:22;1570:10;1559:22;;;;;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;1616:10;1608:28;;:36;1637:6;1608:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1608:36:0;1663:4;1654:13;;1373:1:1;761;1228:446:0;;:::o;660:26:1:-;;;;:::o;606:17::-;;;;;;;;;;;;;:::o;452:22:13:-;;;;;;;;;;;;;:::o;391:26::-;;;;;;;;;;;;;:::o;935:287:0:-;1098:11;830:5:1;821:14;;:5;;;;;;;;;;;:14;;;812:25;;;;;;;;1001:10:0;947::1;920:37;;:4;;;;;;;;;;;:15;;;936:5;920:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;920:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;920:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;920:23:1;;;;;;;;;;;;;;;;:37;;;911:48;;;;;;;;1037:10:0;;;;;;;;;;;1070:4:1;1043:31;;:4;;;;;;;;;;;:15;;;1059:5;1043:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1043:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1043:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1043:23:1;;;;;;;;;;;;;;;;:31;;;1034:42;;;;;;;;1137:23:0;1150:9;1137:8;;:12;;:23;;;;:::i;:::-;1126:8;:34;;;;1184:8;;1170:11;:22;;;;1211:4;1202:13;;969:1:1;847;935:287:0;:::o;1694:458:12:-;1752:7;2043:9;1997:1;1992;:6;1988:45;;;2021:1;2014:8;;;;1988:45;2059:1;2055;:5;2043:17;;2087:1;2082;2078;:5;;;;;;;;:10;2070:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2144:1;2137:8;;1694:458;;;;;;:::o;2607:326::-;2665:7;2804:9;2762:1;2758;:5;2750:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2820:1;2816;:5;;;;;;;;2804:17;;2925:1;2918:8;;2607:326;;;;;:::o;1275:179::-;1333:7;1411:9;1365:1;1360;:6;;1352:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1427:1;1423;:5;1411:17;;1446:1;1439:8;;1275:179;;;;;:::o;835:176::-;893:7;912:9;928:1;924;:5;912:17;;952:1;947;:6;;939:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1003:1;996:8;;835:176;;;;;:::o", "source": "pragma solidity ^0.4.0;\n\nimport \"./STODivident_ds.sol\";\n\ncontract STODivident is STODivident_ds{\n\n\n constructor ( address _maCAddr , address _ruCAddr , address _kyc , address _stf , address _stoAddr )\n public\n {\n setup(_maCAddr,_ruCAddr,0x0000000000000001,0x0000000000000004);\n kycR = kycRegis(_kyc);\n stoF = STOFactory(_stf);\n kycAddr = _kyc;\n stfAddr = _stf;\n STOAddress = _stoAddr;\n sto = STOToken(STOAddress);\n stoSupply = sto.totalSupply();\n }\n\n function allotment( address[] _addr )\n mod_isNotFinal\n mod_isSTOOwner(msg.sender)\n mod_isactiveSTO(STOAddress)\n public\n returns ( bool result )\n {\n for( uint i = 0 ; i < _addr.length ; i++ ){\n uint256 balance = sto.balanceOf(_addr[i]);\n allocation[_addr[i]] = alloc( balance , 0 , true , false );\n }\n result = true;\n }\n\n function deposit( )\n mod_isNotFinal\n mod_isSTOOwner(msg.sender)\n mod_isactiveSTO(STOAddress)\n payable\n public\n returns ( bool result )\n {\n initDist = initDist.add(msg.value);\n currentDist = initDist;\n result = true;\n }\n\n function redeem( )\n mod_isFinal\n mod_isAlloted(msg.sender)\n mod_isactiveSTO(STOAddress)\n payable\n public\n returns ( bool result )\n {\n uint256 amount = calculateR(msg.sender);\n currentDist = currentDist.sub(amount);\n allocation[msg.sender].alloted = amount;\n allocation[msg.sender].isAlloted = true;\n address(msg.sender).transfer(amount);\n result = true;\n }\n\n function calculateR( address _addr )\n public\n view\n returns ( uint256 amt )\n {\n amt = (allocation[_addr].balance.mul(initDist)).div(stoSupply);\n }\n\n\n function finalize( )\n mod_isNotFinal\n mod_isactiveSTO( STOAddress )\n mod_isSTOOwner( msg.sender )\n public\n returns ( bool result )\n {\n state = true;\n result = true;\n }\n\n function withdraw ( uint256 _balance )\n mod_isFinal\n mod_checkPerm(0xc26f22db83dc51cea1eb7fe4efcae8c4b4ad5e40c296b9de77cfd16ae68caa94)\n public\n returns ( bool result )\n {\n address stoOwner = stoF.fetchOwner( STOAddress );\n address(stoOwner).transfer(_balance);\n result = true;\n }\n}", "sourcePath": "/contracts/STO/STODivident/STODivident.sol", "ast": { "absolutePath": "/contracts/STO/STODivident/STODivident.sol", "exportedSymbols": { "STODivident": [ 283 ] }, "id": 284, "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", "^", "0.4", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:0" }, { "absolutePath": "/contracts/STO/STODivident/STODivident_ds.sol", "file": "./STODivident_ds.sol", "id": 2, "nodeType": "ImportDirective", "scope": 284, "sourceUnit": 417, "src": "25:30:0", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName":