arc_dx
Version:
A platform for building DAOs
487 lines • 396 kB
JSON
{
"contractName": "GenericScheme",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
}
],
"name": "parameters",
"outputs": [
{
"name": "intVote",
"type": "address"
},
{
"name": "voteParams",
"type": "bytes32"
},
{
"name": "contractToCall",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "bytes32"
}
],
"name": "organizationsProposals",
"outputs": [
{
"name": "callData",
"type": "bytes"
},
{
"name": "exist",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_hashedParameters",
"type": "bytes32"
}
],
"name": "updateParameters",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_stakingToken",
"type": "address"
},
{
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "balanceOfStakingToken",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "reputationOf",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "getTotalReputationSupply",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_stakingToken",
"type": "address"
},
{
"name": "_beneficiary",
"type": "address"
},
{
"name": "_amount",
"type": "uint256"
},
{
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "stakingTokenTransfer",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_amount",
"type": "uint256"
},
{
"name": "_beneficiary",
"type": "address"
},
{
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "mintReputation",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_amount",
"type": "uint256"
},
{
"name": "_beneficiary",
"type": "address"
},
{
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "burnReputation",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "hashedParameters",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": false,
"name": "callData",
"type": "bytes"
}
],
"name": "NewCallProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"name": "_proposalId",
"type": "bytes32"
},
{
"indexed": false,
"name": "_param",
"type": "int256"
}
],
"name": "ProposalExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_avatar",
"type": "address"
},
{
"indexed": true,
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "ProposalDeleted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "previousOwner",
"type": "address"
}
],
"name": "OwnershipRenounced",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "_proposalId",
"type": "bytes32"
},
{
"name": "_param",
"type": "int256"
}
],
"name": "executeProposal",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_voteParams",
"type": "bytes32"
},
{
"name": "_intVote",
"type": "address"
},
{
"name": "_contractToCall",
"type": "address"
}
],
"name": "setParameters",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_voteParams",
"type": "bytes32"
},
{
"name": "_intVote",
"type": "address"
},
{
"name": "_contractToCall",
"type": "address"
}
],
"name": "getParametersHash",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_avatar",
"type": "address"
},
{
"name": "_callData",
"type": "bytes"
}
],
"name": "proposeCall",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_avatar",
"type": "address"
}
],
"name": "getContractToCall",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405260008054600160a060020a03191633179055611988806100256000396000f3006080604052600436106100e25763ffffffff60e060020a6000350416630250680481146100e757806306e3a9781461012a5780632ac2af53146101d157806335a05133146101eb57806348ffbfeb146102275780636b8eb40314610251578063715018a61461027557806373795a1e1461028a57806388b26667146102f15780638da5cb5b1461032e5780639588378e146103435780639d4c162d14610367578063b551c37314610396578063bea75f28146103ae578063d29b5d2f146103db578063f2fde38b14610402578063f81f8bf614610423578063f98e87ba1461044a575b600080fd5b3480156100f357600080fd5b506100ff60043561045f565b60408051600160a060020a039485168152602081019390935292168183015290519081900360600190f35b34801561013657600080fd5b5061014e600160a060020a036004351660243561048b565b604051808060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561019557818101518382015260200161017d565b50505050905090810190601f1680156101c25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156101dd57600080fd5b506101e960043561053c565b005b3480156101f757600080fd5b50610215600435600160a060020a0360243581169060443516610558565b60408051918252519081900360200190f35b34801561023357600080fd5b50610215600435600160a060020a0360243581169060443516610601565b34801561025d57600080fd5b50610215600160a060020a0360043516602435610669565b34801561028157600080fd5b506101e9610717565b34801561029657600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610215958335600160a060020a03169536956044949193909101919081908401838280828437509497506107839650505050505050565b3480156102fd57600080fd5b50610312600160a060020a0360043516610a01565b60408051600160a060020a039092168252519081900360200190f35b34801561033a57600080fd5b50610312610a33565b34801561034f57600080fd5b50610215600160a060020a0360043516602435610a42565b34801561037357600080fd5b50610382600435602435610b7b565b604080519115158252519081900360200190f35b3480156103a257600080fd5b50610215600435611052565b3480156103ba57600080fd5b50610382600160a060020a03600435811690602435166044356064356111b7565b3480156103e757600080fd5b50610382600435600160a060020a0360243516604435611366565b34801561040e57600080fd5b506101e9600160a060020a036004351661150c565b34801561042f57600080fd5b50610382600435600160a060020a036024351660443561152f565b34801561045657600080fd5b5061021561169d565b600460205260009081526040902080546001820154600290920154600160a060020a0391821692911683565b600360209081526000928352604080842082529183529181902080548251601f6002600019610100600186161502019093169290920491820185900485028101850190935280835290928391908301828280156105295780601f106104fe57610100808354040283529160200191610529565b820191906000526020600020905b81548152906001019060200180831161050c57829003601f168201915b5050506001909301549192505060ff1682565b600054600160a060020a0316331461055357600080fd5b600155565b6040805160208082018690526c01000000000000000000000000600160a060020a038087168202848601528516026054830152825160488184030181526068909201928390528151600093918291908401908083835b602083106105cd5780518252601f1990920191602091820191016105ae565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120979650505050505050565b60008061060f858585610558565b60008181526004602052604090206001810196909655855473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0396871617875560029096018054909616939094169290921790935550919050565b60008181526002602090815260408083206001015481517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820181905292519293918716926370a082319260248084019391929182900301818887803b1580156106e157600080fd5b505af11580156106f5573d6000803e3d6000fd5b505050506040513d602081101561070b57600080fd5b505191505b5092915050565b600054600160a060020a0316331461072e57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600061078d611829565b6000806004600061079d886116a3565b81526020808201929092526040908101600090812082516060810184528154600160a060020a03908116808352600184015483880181905260029485015483168488015286517f88737b5e00000000000000000000000000000000000000000000000000000000815260048101959095526024850152336044850152908c166064840152935190975092955085936388737b5e9360848084019492939192918390030190829087803b15801561085257600080fd5b505af1158015610866573d6000803e3d6000fd5b505050506040513d602081101561087c57600080fd5b50516040805180820182528781526001602082810191909152600160a060020a038a1660009081526003825283812085825282529290922081518051949550919390926108cd928492910190611849565b506020918201516001918201805491151560ff1990921691909117905560408051606081018252438152600160a060020a03808b168286018181528951831684860190815260008981526002808a52878220965187559251978601805498861673ffffffffffffffffffffffffffffffffffffffff19998a161790559051949091018054949093169390951692909217905581518481528951818601528951869592947f9146aef0668fea5686d4a840cf98e541469a250ce09c3558c8b74256216975ce948c9484939184019290860191908190849084905b838110156109be5781810151838201526020016109a6565b50505050905090810190601f1680156109eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390a395945050505050565b600060046000610a10846116a3565b8152602081019190915260400160002060020154600160a060020a031692915050565b600054600160a060020a031681565b6000610a4c611829565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a0390811693820184905291909301541692820192909252901515610a9e5760009150610710565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b505050506040513d6020811015610b0a57600080fd5b50518151604080517f4ee2cd7e000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152602482019390935290519190921691634ee2cd7e9160448083019260209291908290030181600087803b1580156106e157600080fd5b600080610b86611829565b610b8e6118c7565b60008681526002602081905260408220015481908890600160a060020a03163314610bf1576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600089815260026020526040812060010154600160a060020a03169650600490610c1a886116a3565b60001916600019168152602001908152602001600020606060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820154600019166000191681526020016002820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152505094506003600087600160a060020a0316600160a060020a0316815260200190815260200160002060008a60001916600019168152602001908152602001600020604080519081016040529081600082018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d905780601f10610d6557610100808354040283529160200191610d90565b820191906000526020600020905b815481529060010190602001808311610d7357829003601f168201915b50505091835250506001919091015460ff1615156020918201528101519094501515610e06576040805160e560020a62461bcd02815260206004820152601760248201527f6d7573742062652061206c6976652070726f706f73616c000000000000000000604482015290519081900360640190fd5b600160a060020a03861660009081526003602090815260408083208c8452909152812090610e3482826118df565b50600101805460ff191690556040518990600160a060020a038816907f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe90600090a36001925087156110055785600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ebe57600080fd5b505af1158015610ed2573d6000803e3d6000fd5b505050506040513d6020811015610ee857600080fd5b5051604080870151865191517f20204fb7000000000000000000000000000000000000000000000000000000008152600160a060020a03828116600483019081528b82166044840152606060248401908152855160648501528551969850600096928916956320204fb7959490938e9392916084019060208601908083838d5b83811015610f80578181015183820152602001610f68565b50505050905090810190601f168015610fad5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b505050506040513d6020811015610ff857600080fd5b5051141561100557600092505b6040805189815290518a91600160a060020a038916917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc09181900360200190a35090979650505050505050565b600061105c611829565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a03908116938201849052919093015416928201929092529015156110ae57600091506111b1565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156110f057600080fd5b505af1158015611104573d6000803e3d6000fd5b505050506040513d602081101561111a57600080fd5b50518151604080517f981b24d0000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a039092169163981b24d0916024808201926020929091908290030181600087803b15801561118257600080fd5b505af1158015611196573d6000803e3d6000fd5b505050506040513d60208110156111ac57600080fd5b505191505b50919050565b60008181526002602081905260408220015481908390600160a060020a0316331461121a576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a03169150811515611247576000925061135c565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561128557600080fd5b505af1158015611299573d6000803e3d6000fd5b505050506040513d60208110156112af57600080fd5b5051604080517fb9a04cdd000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905285811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561132d57600080fd5b505af1158015611341573d6000803e3d6000fd5b505050506040513d602081101561135757600080fd5b505192505b5050949350505050565b60008181526002602081905260408220015481908390600160a060020a031633146113c9576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156113f65760009250611503565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561143457600080fd5b505af1158015611448573d6000803e3d6000fd5b505050506040513d602081101561145e57600080fd5b5051604080517feaf994b200000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a03888116602483015285811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b1580156114d457600080fd5b505af11580156114e8573d6000803e3d6000fd5b505050506040513d60208110156114fe57600080fd5b505192505b50509392505050565b600054600160a060020a0316331461152357600080fd5b61152c816117ac565b50565b60008181526002602081905260408220015481908390600160a060020a03163314611592576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156115bf5760009250611503565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156115fd57600080fd5b505af1158015611611573d6000803e3d6000fd5b505050506040513d602081101561162757600080fd5b5051604080517f6e94d27800000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a038881166024830152858116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b1580156114d457600080fd5b60015481565b600081600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156116e357600080fd5b505af11580156116f7573d6000803e3d6000fd5b505050506040513d602081101561170d57600080fd5b5051604080517f1c4d5608000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a03858116602483015291519190921691631c4d56089160448083019260209291908290030181600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050506040513d60208110156117a457600080fd5b505192915050565b600160a060020a03811615156117c157600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080516060810182526000808252602082018190529181019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061188a57805160ff19168380011785556118b7565b828001600101855582156118b7579182015b828111156118b757825182559160200191906001019061189c565b506118c392915061191f565b5090565b60408051808201909152606081526000602082015290565b50805460018160011615610100020316600290046000825580601f10611905575061152c565b601f01602090049060005260206000209081019061152c91905b61193991905b808211156118c35760008155600101611925565b9056006f6e6c7920566f74696e674d616368696e650000000000000000000000000000a165627a7a72305820f78a9beabaf06e5b94d9d17bd9f705e1f7b1decc59a6346e650d66e565eabd190029",
"deployedBytecode": "0x6080604052600436106100e25763ffffffff60e060020a6000350416630250680481146100e757806306e3a9781461012a5780632ac2af53146101d157806335a05133146101eb57806348ffbfeb146102275780636b8eb40314610251578063715018a61461027557806373795a1e1461028a57806388b26667146102f15780638da5cb5b1461032e5780639588378e146103435780639d4c162d14610367578063b551c37314610396578063bea75f28146103ae578063d29b5d2f146103db578063f2fde38b14610402578063f81f8bf614610423578063f98e87ba1461044a575b600080fd5b3480156100f357600080fd5b506100ff60043561045f565b60408051600160a060020a039485168152602081019390935292168183015290519081900360600190f35b34801561013657600080fd5b5061014e600160a060020a036004351660243561048b565b604051808060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561019557818101518382015260200161017d565b50505050905090810190601f1680156101c25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156101dd57600080fd5b506101e960043561053c565b005b3480156101f757600080fd5b50610215600435600160a060020a0360243581169060443516610558565b60408051918252519081900360200190f35b34801561023357600080fd5b50610215600435600160a060020a0360243581169060443516610601565b34801561025d57600080fd5b50610215600160a060020a0360043516602435610669565b34801561028157600080fd5b506101e9610717565b34801561029657600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610215958335600160a060020a03169536956044949193909101919081908401838280828437509497506107839650505050505050565b3480156102fd57600080fd5b50610312600160a060020a0360043516610a01565b60408051600160a060020a039092168252519081900360200190f35b34801561033a57600080fd5b50610312610a33565b34801561034f57600080fd5b50610215600160a060020a0360043516602435610a42565b34801561037357600080fd5b50610382600435602435610b7b565b604080519115158252519081900360200190f35b3480156103a257600080fd5b50610215600435611052565b3480156103ba57600080fd5b50610382600160a060020a03600435811690602435166044356064356111b7565b3480156103e757600080fd5b50610382600435600160a060020a0360243516604435611366565b34801561040e57600080fd5b506101e9600160a060020a036004351661150c565b34801561042f57600080fd5b50610382600435600160a060020a036024351660443561152f565b34801561045657600080fd5b5061021561169d565b600460205260009081526040902080546001820154600290920154600160a060020a0391821692911683565b600360209081526000928352604080842082529183529181902080548251601f6002600019610100600186161502019093169290920491820185900485028101850190935280835290928391908301828280156105295780601f106104fe57610100808354040283529160200191610529565b820191906000526020600020905b81548152906001019060200180831161050c57829003601f168201915b5050506001909301549192505060ff1682565b600054600160a060020a0316331461055357600080fd5b600155565b6040805160208082018690526c01000000000000000000000000600160a060020a038087168202848601528516026054830152825160488184030181526068909201928390528151600093918291908401908083835b602083106105cd5780518252601f1990920191602091820191016105ae565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120979650505050505050565b60008061060f858585610558565b60008181526004602052604090206001810196909655855473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0396871617875560029096018054909616939094169290921790935550919050565b60008181526002602090815260408083206001015481517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820181905292519293918716926370a082319260248084019391929182900301818887803b1580156106e157600080fd5b505af11580156106f5573d6000803e3d6000fd5b505050506040513d602081101561070b57600080fd5b505191505b5092915050565b600054600160a060020a0316331461072e57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600061078d611829565b6000806004600061079d886116a3565b81526020808201929092526040908101600090812082516060810184528154600160a060020a03908116808352600184015483880181905260029485015483168488015286517f88737b5e00000000000000000000000000000000000000000000000000000000815260048101959095526024850152336044850152908c166064840152935190975092955085936388737b5e9360848084019492939192918390030190829087803b15801561085257600080fd5b505af1158015610866573d6000803e3d6000fd5b505050506040513d602081101561087c57600080fd5b50516040805180820182528781526001602082810191909152600160a060020a038a1660009081526003825283812085825282529290922081518051949550919390926108cd928492910190611849565b506020918201516001918201805491151560ff1990921691909117905560408051606081018252438152600160a060020a03808b168286018181528951831684860190815260008981526002808a52878220965187559251978601805498861673ffffffffffffffffffffffffffffffffffffffff19998a161790559051949091018054949093169390951692909217905581518481528951818601528951869592947f9146aef0668fea5686d4a840cf98e541469a250ce09c3558c8b74256216975ce948c9484939184019290860191908190849084905b838110156109be5781810151838201526020016109a6565b50505050905090810190601f1680156109eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390a395945050505050565b600060046000610a10846116a3565b8152602081019190915260400160002060020154600160a060020a031692915050565b600054600160a060020a031681565b6000610a4c611829565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a0390811693820184905291909301541692820192909252901515610a9e5760009150610710565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b505050506040513d6020811015610b0a57600080fd5b50518151604080517f4ee2cd7e000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152602482019390935290519190921691634ee2cd7e9160448083019260209291908290030181600087803b1580156106e157600080fd5b600080610b86611829565b610b8e6118c7565b60008681526002602081905260408220015481908890600160a060020a03163314610bf1576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600089815260026020526040812060010154600160a060020a03169650600490610c1a886116a3565b60001916600019168152602001908152602001600020606060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820154600019166000191681526020016002820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152505094506003600087600160a060020a0316600160a060020a0316815260200190815260200160002060008a60001916600019168152602001908152602001600020604080519081016040529081600082018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d905780601f10610d6557610100808354040283529160200191610d90565b820191906000526020600020905b815481529060010190602001808311610d7357829003601f168201915b50505091835250506001919091015460ff1615156020918201528101519094501515610e06576040805160e560020a62461bcd02815260206004820152601760248201527f6d7573742062652061206c6976652070726f706f73616c000000000000000000604482015290519081900360640190fd5b600160a060020a03861660009081526003602090815260408083208c8452909152812090610e3482826118df565b50600101805460ff191690556040518990600160a060020a038816907f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe90600090a36001925087156110055785600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ebe57600080fd5b505af1158015610ed2573d6000803e3d6000fd5b505050506040513d6020811015610ee857600080fd5b5051604080870151865191517f20204fb7000000000000000000000000000000000000000000000000000000008152600160a060020a03828116600483019081528b82166044840152606060248401908152855160648501528551969850600096928916956320204fb7959490938e9392916084019060208601908083838d5b83811015610f80578181015183820152602001610f68565b50505050905090810190601f168015610fad5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b505050506040513d6020811015610ff857600080fd5b5051141561100557600092505b6040805189815290518a91600160a060020a038916917fd2632e80f5364f02aded1c64e8a04637b7c8bb9c2db2bedf4b6ac47c013acbc09181900360200190a35090979650505050505050565b600061105c611829565b506000828152600260208181526040928390208351606081018552815481526001820154600160a060020a03908116938201849052919093015416928201929092529015156110ae57600091506111b1565b8060200151600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156110f057600080fd5b505af1158015611104573d6000803e3d6000fd5b505050506040513d602081101561111a57600080fd5b50518151604080517f981b24d0000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a039092169163981b24d0916024808201926020929091908290030181600087803b15801561118257600080fd5b505af1158015611196573d6000803e3d6000fd5b505050506040513d60208110156111ac57600080fd5b505191505b50919050565b60008181526002602081905260408220015481908390600160a060020a0316331461121a576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a03169150811515611247576000925061135c565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561128557600080fd5b505af1158015611299573d6000803e3d6000fd5b505050506040513d60208110156112af57600080fd5b5051604080517fb9a04cdd000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301526044820189905285811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561132d57600080fd5b505af1158015611341573d6000803e3d6000fd5b505050506040513d602081101561135757600080fd5b505192505b5050949350505050565b60008181526002602081905260408220015481908390600160a060020a031633146113c9576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156113f65760009250611503565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561143457600080fd5b505af1158015611448573d6000803e3d6000fd5b505050506040513d602081101561145e57600080fd5b5051604080517feaf994b200000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a03888116602483015285811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b1580156114d457600080fd5b505af11580156114e8573d6000803e3d6000fd5b505050506040513d60208110156114fe57600080fd5b505192505b50509392505050565b600054600160a060020a0316331461152357600080fd5b61152c816117ac565b50565b60008181526002602081905260408220015481908390600160a060020a03163314611592576040805160e560020a62461bcd028152602060048201526012602482015260008051602061193d833981519152604482015290519081900360640190fd5b600084815260026020526040902060010154600160a060020a031691508115156115bf5760009250611503565b81600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156115fd57600080fd5b505af1158015611611573d6000803e3d6000fd5b505050506040513d602081101561162757600080fd5b5051604080517f6e94d27800000000000000000000000000000000000000000000000000000000815260048101899052600160a060020a038881166024830152858116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b1580156114d457600080fd5b60015481565b600081600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156116e357600080fd5b505af11580156116f7573d6000803e3d6000fd5b505050506040513d602081101561170d57600080fd5b5051604080517f1c4d5608000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a03858116602483015291519190921691631c4d56089160448083019260209291908290030181600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050506040513d60208110156117a457600080fd5b505192915050565b600160a060020a03811615156117c157600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080516060810182526000808252602082018190529181019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061188a57805160ff19168380011785556118b7565b828001600101855582156118b7579182015b828111156118b757825182559160200191906001019061189c565b506118c392915061191f565b5090565b60408051808201909152606081526000602082015290565b50805460018160011615610100020316600290046000825580601f10611905575061152c565b601f01602090049060005260206000209081019061152c91905b61193991905b808211156118c35760008155600101611925565b9056006f6e6c7920566f74696e674d616368696e650000000000000000000000000000a165627a7a72305820f78a9beabaf06e5b94d9d17bd9f705e1f7b1decc59a6346e650d66e565eabd190029",
"sourceMap": "448:4941:28:-;;;567:5:55;:18;;-1:-1:-1;;;;;;567:18:55;575:10;567:18;;;448:4941:28;;;;;;",
"deployedSourceMap": "448:4941:28:-;;;;;;;;;-1:-1:-1;;;448:4941:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1371:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1371:46:28;;;;;;;;;-1:-1:-1;;;;;1371:46:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1057:78:28;-1:-1:-1;;;;;1057:78:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1057:78:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;419:157:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;419:157:33;;;;;;;3717:253:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3717:253:28;;;-1:-1:-1;;;;;3717:253:28;;;;;;;;;;;;;;;;;;;;;;;;;;3051:448;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3051:448:28;;;-1:-1:-1;;;;;3051:448:28;;;;;;;;;;2581:231:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2581:231:39;-1:-1:-1;;;;;2581:231:39;;;;;;;1001:111:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:55;;;;4253:708:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4253:708:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4253:708:28;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4253:708:28;;-1:-1:-1;4253:708:28;;-1:-1:-1;;;;;;;4253:708:28;5218:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5218:168:28;-1:-1:-1;;;;;5218:168:28;;;;;;;;;-1:-1:-1;;;;;5218:168:28;;;;;;;;;;;;;;238:20:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:55;;;;1759:328:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1759:328:39;-1:-1:-1;;;;;1759:328:39;;;;;;;1683:1126:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1683:1126:28;;;;;;;;;;;;;;;;;;;;;;;;;668:323:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;668:323:39;;;;;2093:482;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2093:482:39;-1:-1:-1;;;;;2093:482:39;;;;;;;;;;;;;;997:375;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;997:375:39;;;-1:-1:-1;;;;;997:375:39;;;;;;;1274:103:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:55;-1:-1:-1;;;;;1274:103:55;;;;;1378:375:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1378:375:39;;;-1:-1:-1;;;;;1378:375:39;;;;;;;356:31:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;356:31:33;;;;1371:46:28;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1371:46:28;;;;;;;:::o;1057:78::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1057:78:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1057:78:28;;;;;;;-1:-1:-1;;1057:78:28;;;:::o;419:157:33:-;719:5:55;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;533:16:33;:36;419:157::o;3717:253:28:-;3907:55;;;;;;;;;;;-1:-1:-1;;;;;3907:55:28;;;;;;;;;;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;3907:55:28;;;;;;;;3897:66;;3867:7;;3907:55;;;3897:66;;;;;3907:55;3897:66;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;;;;365:33;;3897:66:28;;;;;;;;;;;;-1:-1:-1;;;;;;;3717:253:28:o;3051:448::-;3192:7;3215:18;3236:56;3254:11;3267:8;3276:15;3236:17;:56::i;:::-;3302:22;;;;:10;:22;;;;;:33;;;:47;;;;3359:41;;-1:-1:-1;;3359:41:28;;;-1:-1:-1;;;;;3359:41:28;;;;;;3410:37;;;;:55;;;;;;;;;;;;;;;;-1:-1:-1;3302:22:28;3051:448;-1:-1:-1;3051:448:28:o;2581:231:39:-;2683:4;2715:26;;;:13;:26;;;;;;;;:33;;;2765:40;;;;;-1:-1:-1;;;;;2715:33:39;;;2765:40;;;;;;;;2715:33;;2765:23;;;;;;:40;;;;;2715:26;;2765:40;;;;;;2683:4;2765:23;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;2765:40:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2765:40:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2765:40:39;;-1:-1:-1;2581:231:39;;;;;;:::o;1001:111:55:-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:55;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:55;;;1001:111::o;4253:708:28:-;4330:7;4353:24;;:::i;:::-;4438;4490:18;4380:10;:48;4391:36;4419:7;4391:27;:36::i;:::-;4380:48;;;;;;;;;;;;;;;;;;4353:75;;;;;;;;;-1:-1:-1;;;;;4353:75:28;;;;;;;;;;;;;;;;;;;;;;;;;;;4511:56;;;;;;;;;;;;;;;;4548:10;4511:56;;;;;;;;;;;;;4353:75;;-1:-1:-1;4353:75:28;;-1:-1:-1;4353:75:28;;4511:15;;:56;;;;;4380:48;;4511:56;;;;;;;;;;4353:75;4511:56;;;5:2:-1;;;;30:1;27;20:12;5:2;4511:56:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4511:56:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4511:56:28;4624:82;;;;;;;;;;;4691:4;4511:56;4624:82;;;;;;;-1:-1:-1;;;;;4578:31:28;;-1:-1:-1;4578:31:28;;;:22;:31;;;;;:43;;;;;;;;;:128;;;;4511:56;;-1:-1:-1;4624:82:28;;4578:43;;:128;;:43;;:128;;;;:::i;:::-;-1:-1:-1;4578:128:28;;;;;;;;;;;;;;-1:-1:-1;;4578:128:28;;;;;;;;;4744:123;;;;;;;;4783:12;4744:123;;-1:-1:-1;;;;;4744:123:28;;;;;;;;;4851:14;;4744:123;;;;;;;;4578:128;4716:25;;;:13;:25;;;;;;:151;;;;;;;;;;;;;;-1:-1:-1;;4716:151:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;4882:45;;;;;;;;;;;;;4730:10;;4744:123;;4882:45;;4917:9;;4882:45;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4882:45:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4944:10;4253:708;-1:-1:-1;;;;;4253:708:28:o;5218:168::-;5282:7;5308:10;:56;5319:44;5354:7;5319:27;:44::i;:::-;5308:56;;;;;;;;;;;-1:-1:-1;5308:56:28;:71;;;-1:-1:-1;;;;;5308:71:28;;5218:168;-1:-1:-1;;5218:168:28:o;238:20:55:-;;;-1:-1:-1;;;;;238:20:55;;:::o;1759:328:39:-;1839:4;1855:28;;:::i;:::-;-1:-1:-1;1886:26:39;;;;:13;:26;;;;;;;;;1855:57;;;;;;;;;;;;;;;-1:-1:-1;;;;;1855:57:39;;;;;;;;;;;;;;;;;;;;;;;1926:28;1922:67;;;1977:1;1970:8;;;;1922:67;2005:8;:15;;;-1:-1:-1;;;;;2005:32:39;;:34;;;;;-1:-1:-1;;;2005:34:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2005:34:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2005:34:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2005:34:39;2059:20;;2005:75;;;;;;-1:-1:-1;;;;;2005:75:39;;;;;;;;;;;;;;;;:46;;;;;;;:75;;;;;:34;;:75;;;;;;;2059:20;2005:46;:75;;;5:2:-1;;;;30:1;27;20:12;1683:1126:28;1788:4;1804:14;1864:24;;:::i;:::-;2016:28;;:::i;:::-;2270:11;472:26:39;;;:13;:26;;;;;;;:40;;2270:11:28;;472:26:39;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;1821:26:28;;;;:13;:26;;;;;:33;;;-1:-1:-1;;;;;1821:33:28;;-1:-1:-1;1891:10:28;;1902:43;1821:33;1902:27;:43::i;:::-;1891:55;;;;;;;;;;;;;;;;;1864:82;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1864:82:28;-1:-1:-1;;;;;1864:82:28;-1:-1:-1;;;;;1864:82:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1864:82:28;-1:-1:-1;;;;;1864:82:28;-1:-1:-1;;;;;1864:82:28;;;;;;;2047:22;:30;2070:6;-1:-1:-1;;;;;2047:30:28;-1:-1:-1;;;;;2047:30:28;;;;;;;;;;;;:43;2078:11;2047:43;;;;;;;;;;;;;;;;;2016:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2016:74:28;;;-1:-1:-1;;2016:74:28;;;;;;;;;;;;;;;2108:14;;;2016:74;;-1:-1:-1;2100:49:28;;;;;;;-1:-1:-1;;;;;2100:49:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2166:30:28;;;;;;:22;:30;;;;;;;;:43;;;;;;;;;2159:50;2166:43;:30;2159:50;:::i;:::-;-1:-1:-1;2159:50:28;;;;-1:-1:-1;;2159:50:28;;;2224:36;;2248:11;;-1:-1:-1;;;;;2224:36:28;;;;;2159:50;;2224:36;2284:4;;-1:-1:-1;2340:11:28;;2336:385;;2476:6;-1:-1:-1;;;;;2469:20:28;;:22;;;;;-1:-1:-1;;;2469:22:28;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2469:22:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2469:22:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2469:22:28;2555:21;;;;;2599:17;;2510:136;;;;;-1:-1:-1;;;;;2510:136:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2469:22;;-1:-1:-1;2658:1:28;;2510:22;;;;;;2555:21;2599:17;;2639:6;;2510:136;;;;;2469:22;2510:136;;;;;;2658:1;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2510:136:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2510:136:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2510:136:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2510:136:28;:150;2506:203;;;2689:5;2680:14;;2506:203;2735:44;;;;;;;;2760:11;;-1:-1:-1;;;;;2735:44:28;;;;;;;;;;;;-1:-1:-1;2796:6:28;;1683:1126;-1:-1:-1;;;;;;;1683:1126:28:o;668:323:39:-;745:7;764:28;;:::i;:::-;-1:-1:-1;795:26:39;;;;:13;:26;;;;;;;;;764:57;;;;;;;;;;;;;;;-1:-1:-1;;;;;764:57:39;;;;;;;;;;;;;;;;;;;;;;;835:28;831:67;;;886:1;879:8;;;;831:67;914:8;:15;;;-1:-1:-1;;;;;914:32:39;;:34;;;;;-1:-1:-1;;;914:34:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;914:34:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;914:34:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;914:34:39;963:20;;914:70;;;;;;;;;;;;;;-1:-1:-1;;;;;914:48:39;;;;;;:70;;;;;:34;;:70;;;;;;;;963:20;914:48;:70;;;5:2:-1;;;;30:1;27;20:12;5:2;914:70:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;914:70:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;914:70:39;;-1:-1:-1;668:323:39;;;;;:::o;2093:482::-;2302:4;472:26;;;:13;:26;;;;;;;:40;;2302:4;;472:26;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;2338:26;;;;:13;:26;;;;;:33;;;-1:-1:-1;;;;;2338:33:39;;-1:-1:-1;2385:19:39;;2381:62;;;2427:5;2420:12;;;;2381:62;2479:6;-1:-1:-1;;;;;2479:12:39;;:14;;;;;-1:-1:-1;;;2479:14:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2479:14:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2479:14:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2479:14:39;2459:109;;;;;;-1:-1:-1;;;;;2459:109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;;;;:109;;;;;2479:14;;2459:109;;;;;;;-1:-1:-1;2459:57:39;:109;;;5:2:-1;;;;30:1;27;20:12;5:2;2459:109:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2459:109:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2459:109:39;;-1:-1:-1;544:1:39;2093:482;;;;;;;;:::o;997:375::-;1124:4;472:26;;;:13;:26;;;;;;;:40;;1124:4;;472:26;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;1156:26;;;;:13;:26;;;;;:33;;;-1:-1:-1;;;;;1156:33:39;;-1:-1:-1;1203:19:39;;1199:62;;;1245:5;1238:12;;;;1199:62;1297:6;-1:-1:-1;;;;;1297:12:39;;:14;;;;;-1:-1:-1;;;1297:14:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1297:14:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1297:14:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1297:14:39;1277:88;;;;;;;;;;;;-1:-1:-1;;;;;1277:88:39;;;;;;;;;;;;;;;;:50;;;;;;;:88;;;;;1297:14;;1277:88;;;;;;;-1:-1:-1;1277:50:39;:88;;;5:2:-1;;;;30:1;27;20:12;5:2;1277:88:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1277:88:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1277:88:39;;-1:-1:-1;544:1:39;997:375;;;;;;;:::o;1274:103:55:-;719:5;;-1:-1:-1;;;;;719:5:55;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;1378:375:39:-;1505:4;472:26;;;:13;:26;;;;;;;:40;;1505:4;;472:26;;-1:-1:-1;;;;;472:40:39;458:10;:54;450:84;;;;;-1:-1:-1;;;;;450:84:39;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;450:84:39;;;;;;;;;;;;;;;1537:26;;;;:13;:26;;;;;:33;;;-1:-1:-1;;;;;1537:33:39;;-1:-1:-1;1584:19:39;;1580:62;;;1626:5;1619:12;;;;1580:62;1678:6;-1:-1:-1;;;;;1678:12:39;;:14;;;;;-1:-1:-1;;;1678:14:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1678:14:39;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1678:14:39;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1678:14:39;1658:88;;;;;;;;;;;;-1:-1:-1;;;;;1658:88:39;;;;;;;;;;;;;;;;:50;;;;;;;:88;;;;;1678:14;;1658:88;;;;;;;-1:-1:-1;1658:50:39;:88;;;5:2:-1;;;;30:1;27;20:12;356:31:33;;;;:::o;671:187::-;746:7;792;-1:-1:-1;;;;;792:13:33;;:15;;;;;-1:-1:-1;;;792:15:33;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;792:15:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;792:15:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;792:15:33;772:79;;;;;;829:4;772:79;;;;-1:-1:-1;;;;;772:79:33;;;;;;;;;:56;;;;;;;:79;;;;;792:15;;772:79;;;;;;;-1:-1:-1;772:56:33;:79;;;5:2:-1;;;;30:1;27;20:12;5:2;772:79:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;772:79:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;772:79:33;;671:187;-1:-1:-1;;671:187:33:o;1512:171:55:-;-1:-1:-1;;;;;1582:23:55;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:55;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:55;-1:-1:-1;;;;;1661:17:55;;;;;;;;;;1512:171::o;448:4941:28:-;;;;;;;;;-1:-1:-1;448:4941:28;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;448:4941:28;;;-1:-1:-1;448:4941:28;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;448:4941:28;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
"source": "pragma solidity ^0.4.25;\n\nimport \"@daostack/infra/contracts/votingMachines/IntVoteInterface.sol\";\nimport \"@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol\";\nimport \"./UniversalScheme.sol\";\nimport \"../votingMachines/VotingMachineCallbacks.sol\";\n\n\n/**\n * @title GenericScheme.\n * @dev A scheme for proposing and executing calls to an arbitrary function\n * on a specific contract on behalf of the organization avatar.\n */\ncontract GenericScheme is UniversalScheme,VotingMachineCallbacks,ProposalExecuteInterface {\n event NewCallProposal(\n address indexed _avatar,\n bytes32 indexed _proposalId,\n bytes callData\n );\n event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId,int _param);\n event ProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\n\n // Details of a voting proposal:\n struct CallProposal {\n bytes callData;\n bool exist;\n }\n\n // A mapping from the organization (Avatar) address to the saved data of the organization:\n mapping(address=>mapping(bytes32=>CallProposal)) public organizationsProposals;\n\n\n struct Parameters {\n IntVoteInterface intVote;\n bytes32 voteParams;\n address contractToCall;\n }\n\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n mapping(bytes32=>Parameters) public parameters;\n\n /**\n * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\n * @param _proposalId the ID of the voting in the voting machine\n * @param _param a parameter of the voting result, 1 yes and 2 is no.\n */\n function executeProposal(bytes32 _proposalId,int _param) external onlyVotingMachine(_proposalId) returns(bool) {\n address avatar = proposalsInfo[_proposalId].avatar;\n Pa