{
  "contractName": "VoteInOrganizationScheme",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "intVote",
          "type": "address"
        },
        {
          "name": "voteParams",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        },
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "organizationsData",
      "outputs": [
        {
          "name": "originalIntVote",
          "type": "address"
        },
        {
          "name": "originalProposalId",
          "type": "bytes32"
        },
        {
          "name": "originalNumOfChoices",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_voteParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hashedParameters",
          "type": "bytes32"
        }
      ],
      "name": "updateParameters",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_param",
          "type": "int256"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_originalIntVote",
          "type": "address"
        },
        {
          "name": "_originalProposalId",
          "type": "bytes32"
        }
      ],
      "name": "proposeVote",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_voteParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_params",
          "type": "bytes32[]"
        }
      ],
      "name": "action",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hashedParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_intVoteInterface",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_originalIntVote",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_originalProposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_originalNumOfChoices",
          "type": "uint256"
        }
      ],
      "name": "NewVoteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "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": false,
          "name": "proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610bb48061003b6000396000f3006060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a57806307377bd6146100d25780632453732a146101225780632ac2af5314610156578063310ce4e21461016e57806358b37659146101a757806368e14dac146101cf5780637ff4b630146101f15780638da5cb5b14610240578063f2fde38b1461026f578063f98e87ba1461028e575b600080fd5b34156100a557600080fd5b6100b06004356102a1565b604051600160a060020a03909216825260208201526040908101905180910390f35b34156100dd57600080fd5b6100f4600160a060020a03600435166024356102c6565b604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390f35b341561012d57600080fd5b610144600435600160a060020a03602435166102fa565b60405190815260200160405180910390f35b341561016157600080fd5b61016c600435610334565b005b341561017957600080fd5b610193600435600160a060020a0360243516604435610354565b604051901515815260200160405180910390f35b34156101b257600080fd5b610144600160a060020a0360043581169060243516604435610653565b34156101da57600080fd5b610144600435600160a060020a036024351661089b565b34156101fc57600080fd5b61019360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506108f095505050505050565b341561024b57600080fd5b6102536109ae565b604051600160a060020a03909116815260200160405180910390f35b341561027a57600080fd5b61016c600160a060020a03600435166109bd565b341561029957600080fd5b610144610a58565b60036020526000908152604090208054600190910154600160a060020a039091169082565b60026020818152600093845260408085209091529183529120805460018201549190920154600160a060020a039092169183565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b60005433600160a060020a0390811691161461034f57600080fd5b600155565b600061035e610b3f565b600080610369610b5f565b33600160a060020a0316600360006103808a610a5e565b8152602081019190915260400160002054600160a060020a0316146103a457600080fd5b600160a060020a03871660009081526002602090815260408083208b845290915290819020906060905190810160409081528254600160a060020a03908116835260018085015460208086019190915260029586015484860152918c1660008181528684528481208f8252909352838320805473ffffffffffffffffffffffffffffffffffffffff191681559182018390559401559095508991907f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe905160405180910390a36001925085156106105786600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104ba57600080fd5b6102c65a03f115156104cb57600080fd5b50505060405180519050915060036040518059106104e65750595b908082528060200260200182016040525090508351600160a060020a03168160008151811061051157fe5b60209081029091018101919091528401518160018151811061052f57fe5b60209081029091010152858160028151811061054757fe5b60209081029091010152600160a060020a0382166360351748828960006040516020015260405160e060020a63ffffffff8516028152600160a060020a038216602482015260406004820190815290819060440184818151815260200191508051906020019060200280838360005b838110156105ce5780820151838201526020016105b6565b505050509050019350505050602060405180830381600087803b15156105f357600080fd5b6102c65a03f1151561060457600080fd5b50505060405180519350505b87600160a060020a0388167f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f53360405160405180910390a350909695505050505050565b60008061065e610b71565b60008086600160a060020a031663a003651d8760006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156106b057600080fd5b6102c65a03f115156106c157600080fd5b505050604051805190509350600360006106da8a610a5e565b8152602081019190915260409081016000209080519081016040528154600160a060020a03168152600190910154602082015292508251915081600160a060020a03166388737b5e8560010185602001518b3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561078a57600080fd5b6102c65a03f1151561079b57600080fd5b50505060405180519050905060606040519081016040908152600160a060020a03808a16835260208084018a9052828401889052908b16600090815260028252828120858252909152208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201556040820151600290910155508251600160a060020a0316816000191689600160a060020a03167fa04e76655fd38a7c9579a6fde8864276137b505c346dc2a2ae185946772abcd78a8a89604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a4979650505050505050565b6000806108a884846102fa565b60008181526003602052604090206001810195909555845473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03949094169390931790935550919050565b6000808260008151811061090057fe5b906020019060200201519050600160a060020a038116639ef1204c8460018151811061092857fe5b906020019060200201518560028151811061093f57fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561098d57600080fd5b6102c65a03f1151561099e57600080fd5b5050506040518051949350505050565b600054600160a060020a031681565b60005433600160a060020a039081169116146109d857600080fd5b600160a060020a03811615156109ed57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610aa657600080fd5b6102c65a03f11515610ab757600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610b1f57600080fd5b6102c65a03f11515610b3057600080fd5b50505060405180519392505050565b606060405190810160409081526000808352602083018190529082015290565b60206040519081016040526000815290565b6040805190810160405260008082526020820152905600a165627a7a72305820e69d792e51576f142ff604bbf65200b854b253a66270371ddfb0c5eb3fe583310029",
  "deployedBytecode": "0x6060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a57806307377bd6146100d25780632453732a146101225780632ac2af5314610156578063310ce4e21461016e57806358b37659146101a757806368e14dac146101cf5780637ff4b630146101f15780638da5cb5b14610240578063f2fde38b1461026f578063f98e87ba1461028e575b600080fd5b34156100a557600080fd5b6100b06004356102a1565b604051600160a060020a03909216825260208201526040908101905180910390f35b34156100dd57600080fd5b6100f4600160a060020a03600435166024356102c6565b604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390f35b341561012d57600080fd5b610144600435600160a060020a03602435166102fa565b60405190815260200160405180910390f35b341561016157600080fd5b61016c600435610334565b005b341561017957600080fd5b610193600435600160a060020a0360243516604435610354565b604051901515815260200160405180910390f35b34156101b257600080fd5b610144600160a060020a0360043581169060243516604435610653565b34156101da57600080fd5b610144600435600160a060020a036024351661089b565b34156101fc57600080fd5b61019360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506108f095505050505050565b341561024b57600080fd5b6102536109ae565b604051600160a060020a03909116815260200160405180910390f35b341561027a57600080fd5b61016c600160a060020a03600435166109bd565b341561029957600080fd5b610144610a58565b60036020526000908152604090208054600190910154600160a060020a039091169082565b60026020818152600093845260408085209091529183529120805460018201549190920154600160a060020a039092169183565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b60005433600160a060020a0390811691161461034f57600080fd5b600155565b600061035e610b3f565b600080610369610b5f565b33600160a060020a0316600360006103808a610a5e565b8152602081019190915260400160002054600160a060020a0316146103a457600080fd5b600160a060020a03871660009081526002602090815260408083208b845290915290819020906060905190810160409081528254600160a060020a03908116835260018085015460208086019190915260029586015484860152918c1660008181528684528481208f8252909352838320805473ffffffffffffffffffffffffffffffffffffffff191681559182018390559401559095508991907f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe905160405180910390a36001925085156106105786600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104ba57600080fd5b6102c65a03f115156104cb57600080fd5b50505060405180519050915060036040518059106104e65750595b908082528060200260200182016040525090508351600160a060020a03168160008151811061051157fe5b60209081029091018101919091528401518160018151811061052f57fe5b60209081029091010152858160028151811061054757fe5b60209081029091010152600160a060020a0382166360351748828960006040516020015260405160e060020a63ffffffff8516028152600160a060020a038216602482015260406004820190815290819060440184818151815260200191508051906020019060200280838360005b838110156105ce5780820151838201526020016105b6565b505050509050019350505050602060405180830381600087803b15156105f357600080fd5b6102c65a03f1151561060457600080fd5b50505060405180519350505b87600160a060020a0388167f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f53360405160405180910390a350909695505050505050565b60008061065e610b71565b60008086600160a060020a031663a003651d8760006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156106b057600080fd5b6102c65a03f115156106c157600080fd5b505050604051805190509350600360006106da8a610a5e565b8152602081019190915260409081016000209080519081016040528154600160a060020a03168152600190910154602082015292508251915081600160a060020a03166388737b5e8560010185602001518b3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561078a57600080fd5b6102c65a03f1151561079b57600080fd5b50505060405180519050905060606040519081016040908152600160a060020a03808a16835260208084018a9052828401889052908b16600090815260028252828120858252909152208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201556040820151600290910155508251600160a060020a0316816000191689600160a060020a03167fa04e76655fd38a7c9579a6fde8864276137b505c346dc2a2ae185946772abcd78a8a89604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a4979650505050505050565b6000806108a884846102fa565b60008181526003602052604090206001810195909555845473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03949094169390931790935550919050565b6000808260008151811061090057fe5b906020019060200201519050600160a060020a038116639ef1204c8460018151811061092857fe5b906020019060200201518560028151811061093f57fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561098d57600080fd5b6102c65a03f1151561099e57600080fd5b5050506040518051949350505050565b600054600160a060020a031681565b60005433600160a060020a039081169116146109d857600080fd5b600160a060020a03811615156109ed57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610aa657600080fd5b6102c65a03f11515610ab757600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610b1f57600080fd5b6102c65a03f11515610b3057600080fd5b50505060405180519392505050565b606060405190810160409081526000808352602083018190529082015290565b60206040519081016040526000815290565b6040805190810160405260008082526020820152905600a165627a7a72305820e69d792e51576f142ff604bbf65200b854b253a66270371ddfb0c5eb3fe583310029",
  "sourceMap": "254:5628:29:-;;;1425:45;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;254:5628:29;;;;;;",
  "deployedSourceMap": "254:5628:29:-;;;;;;;;;-1:-1:-1;;;254:5628:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1332:46;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1332:46:29;;;;;;;;;;;;;;;;;;;;1055:73;;;;;;;;;;-1:-1:-1;;;;;1055:73:29;;;;;;;;;;-1:-1:-1;;;;;1055:73:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2264:186;;;;;;;;;;;;-1:-1:-1;;;;;2264:186:29;;;;;;;;;;;;;;;;;;;;455:157:25;;;;;;;;;;;;;;;;4176:1076:29;;;;;;;;;;;;-1:-1:-1;;;;;4176:1076:29;;;;;;;;;;;;;;;;;;;;;;;;2808:931;;;;;;;;;;-1:-1:-1;;;;;2808:931:29;;;;;;;;;;;;1712:334;;;;;;;;;;;;-1:-1:-1;;;;;1712:334:29;;;;;5684:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5684:196:29;;-1:-1:-1;5684:196:29;;-1:-1:-1;;;;;;5684:196:29;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;1332:46:29;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1332:46:29;;;;;:::o;1055:73::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1055:73:29;;;;;:::o;2264:186::-;2381:7;2421:11;2434:8;2411:32;;;;;-1:-1:-1;;;;;2411:32:29;;;;;;;;;;;;;;;;2404:39;;2264:186;;;;:::o;455:157:25:-;654:5:33;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;569:16:25;:36;455:157::o;4176:1076:29:-;4258:4;4490:28;;:::i;:::-;4673:11;4819:30;4910:20;;:::i;:::-;4408:10;-1:-1:-1;;;;;4340:78:29;:10;:56;4351:44;4386:7;4351:27;:44::i;:::-;4340:56;;;;;;;;;;;;;:64;-1:-1:-1;;;;;4340:64:29;:78;4332:87;;;;;;-1:-1:-1;;;;;4521:26:29;;;;;;:17;:26;;;;;;;;:39;;;;;;;;;;;4490:70;;;;;;;;;;;;-1:-1:-1;;;;;4490:70:29;;;;;;;;;;;;;;;;;;;;;;;;;;;4577:26;;;4490:70;4577:26;;;;;;;;;:39;;;;;;;;;4570:46;;-1:-1:-1;;4570:46:29;;;;;;;;;;;;4490:70;;-1:-1:-1;4604:11:29;;4577:26;4626:37;;;;;;;;;;4687:4;;-1:-1:-1;4743:11:29;;4739:436;;4879:7;-1:-1:-1;;;;;4872:21:29;;:23;;;;;;;;;;;-1:-1:-1;;;4872:23:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4819:77;;4947:1;4933:16;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4910:39:29;-1:-1:-1;4988:8:29;:24;-1:-1:-1;;;;;4972:42:29;4963:3;4967:1;4963:3;:6;;;;;;;;;;;;;;;;:51;;;;5037:27;;;5028:3;5032:1;5028:6;;;;;;;;;;;;;;;;:36;5095:6;5078:3;5082:1;5078:3;:6;;;;;;;;;;;;;;;:24;-1:-1:-1;;;;;5125:24:29;;;5150:3;5154:7;5078:24;5125:37;;;;;;;-1:-1:-1;;;5125:37:29;;;;;;-1:-1:-1;;;;;5125:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1;;4739:436:29;5210:11;-1:-1:-1;;;;;5184:38:29;;;;;;;;;;;;-1:-1:-1;5239:6:29;;4176:1076;-1:-1:-1;;;;;;4176:1076:29:o;2808:931::-;2932:7;2955:17;3041:24;;:::i;:::-;3126;3177:18;2975:16;-1:-1:-1;;;;;2975:35:29;;3011:19;2975:56;;;;;;;;-1:-1:-1;;;2975:56:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2955:76;;3068:10;:48;3079:36;3107:7;3079:27;:36::i;:::-;3068:48;;;;;;;;;;;;;;;;;3041:75;;;;;;;;-1:-1:-1;;;;;3041:75:29;;;;;;;;;;;;;-1:-1:-1;3041:75:29;3153:14;3126:41;;3198:7;-1:-1:-1;;;;;3198:15:29;;3214:12;3227:1;3214:14;3230:6;:17;;;3249:7;3278:4;3198:86;;;;;;;;-1:-1:-1;;;3198:86:29;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3198:86:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3177:107;;3336:172;;;;;;;;;;-1:-1:-1;;;;;3336:172:29;;;;;;;;;;;;;;;;;;3295:26;;;3336:172;3295:26;;;:17;:26;;;;;:38;;;;;;;3336:172;3295:213;;;-1:-1:-1;;3295:213:29;-1:-1:-1;;;;;3295:213:29;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3592:6:29;:14;-1:-1:-1;;;;;3518:187:29;3568:10;3518:187;;;3547:7;-1:-1:-1;;;;;3518:187:29;;3620:16;3650:19;3683:12;3518:187;;-1:-1:-1;;;;;3518:187:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3722:10;2808:931;-1:-1:-1;;;;;;;2808:931:29:o;1712:334::-;1820:7;1843:18;1864:40;1882:11;1895:8;1864:17;:40::i;:::-;1914:22;;;;:10;:22;;;;;:33;;;:47;;;;1971:41;;-1:-1:-1;;1971:41:29;-1:-1:-1;;;;;1971:41:29;;;;;;;;;;;-1:-1:-1;1914:22:29;1712:334;-1:-1:-1;1712:334:29:o;5684:196::-;5734:4;5750:24;5802:7;5810:1;5802:10;;;;;;;;;;;;;;;;5794:19;-1:-1:-1;;;;;;5831:12:29;;;5844:7;5794:19;5844:7;:10;;;;;;;;;;;;;;;5861:7;5869:1;5861:10;;;;;;;;;;;;;;;;5831:42;;;;;;;;-1:-1:-1;;;5831:42:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5684:196;-1:-1:-1;;;;5684:196:29:o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:33;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:33;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:33;-1:-1:-1;;;;;982:16:33;;;;;;;;;;834:169::o;345:31:25:-;;;;:::o;707:191::-;786:7;832;-1:-1:-1;;;;;832:13:25;;:15;;;;;;;;;;;-1:-1:-1;;;832:15:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;812:56:25;;869:4;882:7;812:79;;;;;;;;-1:-1:-1;;;812:79:25;;;;;;-1:-1:-1;;;;;812:79:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;707:191;-1:-1:-1;;;707:191:25:o;254:5628:29:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../VotingMachines/IntVoteInterface.sol\";\nimport \"./UniversalScheme.sol\";\n\n\n/**\n * @title VoteInOrganizationScheme.\n * @dev A scheme to allow an organization to vote in a proposal.\n */\n\n// ToDo: Documentation and tests!\n\ncontract VoteInOrganizationScheme is UniversalScheme, ExecutableInterface, ActionInterface {\n    event NewVoteProposal(\n        address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        IntVoteInterface _originalIntVote,\n        bytes32 _originalProposalId,\n        uint _originalNumOfChoices\n    );\n    event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\n    event ProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\n\n    // Details of a voting proposal:\n    struct VoteProposal {\n        IntVoteInterface originalIntVote;\n        bytes32 originalProposalId;\n        uint originalNumOfChoices;\n    }\n\n    // A mapping from the organization (Avatar) address to the saved data of the organization:\n    mapping(address=>mapping(bytes32=>VoteProposal)) public organizationsData;\n\n\n    struct Parameters {\n        IntVoteInterface intVote;\n        bytes32 voteParams;\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 Constructor\n     */\n    function VoteInOrganizationScheme() public {}\n\n    /**\n    * @dev Hash the parameters, save them if necessary, and return the hash value\n    * @param _voteParams -  voting parameters\n    * @param _intVote  - voting machine contract.\n    * @return bytes32 -the parameters hash\n    */\n    function setParameters(\n        bytes32 _voteParams,\n        IntVoteInterface _intVote\n    ) public returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersHash(_voteParams, _intVote);\n        parameters[paramsHash].voteParams = _voteParams;\n        parameters[paramsHash].intVote = _intVote;\n        return paramsHash;\n    }\n\n    /**\n    * @dev Hash the parameters, and return the hash value\n    * @param _voteParams -  voting parameters\n    * @param _intVote  - voting machine contract.\n    * @return bytes32 -the parameters hash\n    */\n    function getParametersHash(\n        bytes32 _voteParams,\n        IntVoteInterface _intVote\n    ) public pure returns(bytes32)\n    {\n        return keccak256(_voteParams, _intVote);\n    }\n\n    /**\n    * @dev propose to vote in other organization\n    *      The function trigger NewVoteProposal event\n    * @param _avatar avatar of the organization\n    * @param _originalIntVote the other organization voting machine\n    * @param _originalProposalId the other organization proposal id\n    * @return an id which represents the proposal\n    */\n    function proposeVote(Avatar _avatar, IntVoteInterface _originalIntVote, bytes32 _originalProposalId)\n    public\n    returns(bytes32)\n    {\n        uint numOfChoices = _originalIntVote.getNumberOfChoices(_originalProposalId);\n        Parameters memory params = parameters[getParametersFromController(_avatar)];\n        IntVoteInterface intVote = params.intVote;\n        bytes32 proposalId = intVote.propose(numOfChoices+1, params.voteParams, _avatar, ExecutableInterface(this));\n\n        organizationsData[_avatar][proposalId] = VoteProposal({\n            originalIntVote: _originalIntVote,\n            originalProposalId: _originalProposalId,\n            originalNumOfChoices: numOfChoices\n        });\n        NewVoteProposal(\n            _avatar,\n            proposalId,\n            params.intVote,\n            _originalIntVote,\n            _originalProposalId,\n            numOfChoices\n        );\n        return proposalId;\n    }\n\n    /**\n    * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\n    *      This function will trigger ProposalDeleted and ProposalExecuted events\n    * @param _proposalId the ID of the voting in the voting machine\n    * @param _avatar address of the controller\n    * @param _param a parameter of the voting result 0 to numOfChoices .\n    * @return bool which indicate success.\n    */\n    function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool) {\n        // Check the caller is indeed the voting machine:\n        require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\n\n        // Save proposal to memory and delete from storage:\n        VoteProposal memory proposal = organizationsData[_avatar][_proposalId];\n        delete organizationsData[_avatar][_proposalId];\n        ProposalDeleted(_avatar, _proposalId);\n        bool retVal = true;\n        // If no decision do nothing:\n        if (_param != 0) {\n        // Define controller and get the params:\n            ControllerInterface controller = ControllerInterface(Avatar(_avatar).owner());\n            bytes32[] memory tmp = new bytes32[](3);\n            tmp[0] = bytes32(address(proposal.originalIntVote));\n            tmp[1] = proposal.originalProposalId;\n            tmp[2] = bytes32(_param);\n            retVal = controller.genericAction(tmp,_avatar);\n          }\n        ProposalExecuted(_avatar, _proposalId);\n        return retVal;\n    }\n\n    /**\n    * @dev do the actual voting in the other organization in behalf of the organization's avatar.\n    *      This function is deleted called by the organization.\n    * @param _params array represent the voting .\n    *        _params[0] - the address of the voting machine.\n    *        _params[1] - the proposalId.\n    *        _params[2] - the voting machine params.\n    * @return bool which indicate success.\n    */\n    function action(bytes32[] _params) public returns(bool) {\n        IntVoteInterface intVote = IntVoteInterface(address(_params[0]));\n        return intVote.vote(_params[1], uint(_params[2]));\n    }\n}\n",
  "sourcePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/VoteInOrganizationScheme.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/VoteInOrganizationScheme.sol",
      "exportedSymbols": {
        "VoteInOrganizationScheme": [
          10091
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 9764,
        "name": "PragmaDirective",
        "src": "0:24:29"
      },
      {
        "attributes": {
          "SourceUnit": 2652,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "../VotingMachines/IntVoteInterface.sol",
          "scope": 10092,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9765,
        "name": "ImportDirective",
        "src": "26:48:29"
      },
      {
        "attributes": {
          "SourceUnit": 8466,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 10092,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9766,
        "name": "ImportDirective",
        "src": "75:31:29"
      },
      {
        "attributes": {
          "contractDependencies": [
            2790,
            6617,
            8465,
            8484,
            10301
          ],
          "contractKind": "contract",
          "documentation": "@title VoteInOrganizationScheme.\n@dev A scheme to allow an organization to vote in a proposal.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            10091,
            2790,
            6617,
            8465,
            8484,
            10301
          ],
          "name": "VoteInOrganizationScheme",
          "scope": 10092
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8465,
                  "type": "contract UniversalScheme"
                },
                "id": 9767,
                "name": "UserDefinedTypeName",
                "src": "291:15:29"
              }
            ],
            "id": 9768,
            "name": "InheritanceSpecifier",
            "src": "291:15:29"
          },
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "ExecutableInterface",
                  "referencedDeclaration": 6617,
                  "type": "contract ExecutableInterface"
                },
                "id": 9769,
                "name": "UserDefinedTypeName",
                "src": "308:19:29"
              }
            ],
            "id": 9770,
            "name": "InheritanceSpecifier",
            "src": "308:19:29"
          },
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "ActionInterface",
                  "referencedDeclaration": 2790,
                  "type": "contract ActionInterface"
                },
                "id": 9771,
                "name": "UserDefinedTypeName",
                "src": "329:15:29"
              }
            ],
            "id": 9772,
            "name": "InheritanceSpecifier",
            "src": "329:15:29"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewVoteProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 9786,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9773,
                        "name": "ElementaryTypeName",
                        "src": "382:7:29"
                      }
                    ],
                    "id": 9774,
                    "name": "VariableDeclaration",
                    "src": "382:23:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 9786,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9775,
                        "name": "ElementaryTypeName",
                        "src": "415:7:29"
                      }
                    ],
                    "id": 9776,
                    "name": "VariableDeclaration",
                    "src": "415:27:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 9786,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9777,
                        "name": "ElementaryTypeName",
                        "src": "452:7:29"
                      }
                    ],
                    "id": 9778,
                    "name": "VariableDeclaration",
                    "src": "452:33:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_originalIntVote",
                      "scope": 9786,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 9779,
                        "name": "UserDefinedTypeName",
                        "src": "495:16:29"
                      }
                    ],
                    "id": 9780,
                    "name": "VariableDeclaration",
                    "src": "495:33:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_originalProposalId",
                      "scope": 9786,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9781,
                        "name": "ElementaryTypeName",
                        "src": "538:7:29"
                      }
                    ],
                    "id": 9782,
                    "name": "VariableDeclaration",
                    "src": "538:27:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_originalNumOfChoices",
                      "scope": 9786,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9783,
                        "name": "ElementaryTypeName",
                        "src": "575:4:29"
                      }
                    ],
                    "id": 9784,
                    "name": "VariableDeclaration",
                    "src": "575:26:29"
                  }
                ],
                "id": 9785,
                "name": "ParameterList",
                "src": "372:235:29"
              }
            ],
            "id": 9786,
            "name": "EventDefinition",
            "src": "351:257:29"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ProposalExecuted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 9792,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9787,
                        "name": "ElementaryTypeName",
                        "src": "636:7:29"
                      }
                    ],
                    "id": 9788,
                    "name": "VariableDeclaration",
                    "src": "636:23:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 9792,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9789,
                        "name": "ElementaryTypeName",
                        "src": "661:7:29"
                      }
                    ],
                    "id": 9790,
                    "name": "VariableDeclaration",
                    "src": "661:27:29"
                  }
                ],
                "id": 9791,
                "name": "ParameterList",
                "src": "635:54:29"
              }
            ],
            "id": 9792,
            "name": "EventDefinition",
            "src": "613:77:29"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ProposalDeleted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 9798,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9793,
                        "name": "ElementaryTypeName",
                        "src": "717:7:29"
                      }
                    ],
                    "id": 9794,
                    "name": "VariableDeclaration",
                    "src": "717:23:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 9798,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9795,
                        "name": "ElementaryTypeName",
                        "src": "742:7:29"
                      }
                    ],
                    "id": 9796,
                    "name": "VariableDeclaration",
                    "src": "742:27:29"
                  }
                ],
                "id": 9797,
                "name": "ParameterList",
                "src": "716:54:29"
              }
            ],
            "id": 9798,
            "name": "EventDefinition",
            "src": "695:76:29"
          },
          {
            "attributes": {
              "canonicalName": "VoteInOrganizationScheme.VoteProposal",
              "name": "VoteProposal",
              "scope": 10091,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "originalIntVote",
                  "scope": 9805,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 2651,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 9799,
                    "name": "UserDefinedTypeName",
                    "src": "844:16:29"
                  }
                ],
                "id": 9800,
                "name": "VariableDeclaration",
                "src": "844:32:29"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "originalProposalId",
                  "scope": 9805,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 9801,
                    "name": "ElementaryTypeName",
                    "src": "886:7:29"
                  }
                ],
                "id": 9802,
                "name": "VariableDeclaration",
                "src": "886:26:29"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "originalNumOfChoices",
                  "scope": 9805,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 9803,
                    "name": "ElementaryTypeName",
                    "src": "922:4:29"
                  }
                ],
                "id": 9804,
                "name": "VariableDeclaration",
                "src": "922:25:29"
              }
            ],
            "id": 9805,
            "name": "StructDefinition",
            "src": "814:140:29"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsData",
              "scope": 10091,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 9806,
                    "name": "ElementaryTypeName",
                    "src": "1063:7:29"
                  },
                  {
                    "attributes": {
                      "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9807,
                        "name": "ElementaryTypeName",
                        "src": "1080:7:29"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "VoteProposal",
                          "referencedDeclaration": 9805,
                          "type": "struct VoteInOrganizationScheme.VoteProposal storage pointer"
                        },
                        "id": 9808,
                        "name": "UserDefinedTypeName",
                        "src": "1089:12:29"
                      }
                    ],
                    "id": 9809,
                    "name": "Mapping",
                    "src": "1072:30:29"
                  }
                ],
                "id": 9810,
                "name": "Mapping",
                "src": "1055:48:29"
              }
            ],
            "id": 9811,
            "name": "VariableDeclaration",
            "src": "1055:73:29"
          },
          {
            "attributes": {
              "canonicalName": "VoteInOrganizationScheme.Parameters",
              "name": "Parameters",
              "scope": 10091,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "intVote",
                  "scope": 9816,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 2651,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 9812,
                    "name": "UserDefinedTypeName",
                    "src": "1164:16:29"
                  }
                ],
                "id": 9813,
                "name": "VariableDeclaration",
                "src": "1164:24:29"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voteParams",
                  "scope": 9816,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 9814,
                    "name": "ElementaryTypeName",
                    "src": "1198:7:29"
                  }
                ],
                "id": 9815,
                "name": "VariableDeclaration",
                "src": "1198:18:29"
              }
            ],
            "id": 9816,
            "name": "StructDefinition",
            "src": "1136:87:29"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 10091,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 9817,
                    "name": "ElementaryTypeName",
                    "src": "1340:7:29"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 9816,
                      "type": "struct VoteInOrganizationScheme.Parameters storage pointer"
                    },
                    "id": 9818,
                    "name": "UserDefinedTypeName",
                    "src": "1349:10:29"
                  }
                ],
                "id": 9819,
                "name": "Mapping",
                "src": "1332:28:29"
              }
            ],
            "id": 9820,
            "name": "VariableDeclaration",
            "src": "1332:46:29"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "VoteInOrganizationScheme",
              "payable": false,
              "scope": 10091,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9821,
                "name": "ParameterList",
                "src": "1458:2:29"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9822,
                "name": "ParameterList",
                "src": "1468:0:29"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 9823,
                "name": "Block",
                "src": "1468:2:29"
              }
            ],
            "id": 9824,
            "name": "FunctionDefinition",
            "src": "1425:45:29"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 10091,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteParams",
                      "scope": 9857,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9825,
                        "name": "ElementaryTypeName",
                        "src": "1744:7:29"
                      }
                    ],
                    "id": 9826,
                    "name": "VariableDeclaration",
                    "src": "1744:19:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 9857,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 9827,
                        "name": "UserDefinedTypeName",
                        "src": "1773:16:29"
                      }
                    ],
                    "id": 9828,
                    "name": "VariableDeclaration",
                    "src": "1773:25:29"
                  }
                ],
                "id": 9829,
                "name": "ParameterList",
                "src": "1734:70:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9857,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9830,
                        "name": "ElementaryTypeName",
                        "src": "1820:7:29"
                      }
                    ],
                    "id": 9831,
                    "name": "VariableDeclaration",
                    "src": "1820:7:29"
                  }
                ],
                "id": 9832,
                "name": "ParameterList",
                "src": "1819:9:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        9834
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 9857,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 9833,
                            "name": "ElementaryTypeName",
                            "src": "1843:7:29"
                          }
                        ],
                        "id": 9834,
                        "name": "VariableDeclaration",
                        "src": "1843:18:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9872,
                              "type": "function (bytes32,contract IntVoteInterface) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 9835,
                            "name": "Identifier",
                            "src": "1864:17:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9826,
                              "type": "bytes32",
                              "value": "_voteParams"
                            },
                            "id": 9836,
                            "name": "Identifier",
                            "src": "1882:11:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9828,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 9837,
                            "name": "Identifier",
                            "src": "1895:8:29"
                          }
                        ],
                        "id": 9838,
                        "name": "FunctionCall",
                        "src": "1864:40:29"
                      }
                    ],
                    "id": 9839,
                    "name": "VariableDeclarationStatement",
                    "src": "1843:61:29"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "voteParams",
                              "referencedDeclaration": 9815,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct VoteInOrganizationScheme.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9820,
                                      "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 9840,
                                    "name": "Identifier",
                                    "src": "1914:10:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9834,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 9841,
                                    "name": "Identifier",
                                    "src": "1925:10:29"
                                  }
                                ],
                                "id": 9842,
                                "name": "IndexAccess",
                                "src": "1914:22:29"
                              }
                            ],
                            "id": 9843,
                            "name": "MemberAccess",
                            "src": "1914:33:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9826,
                              "type": "bytes32",
                              "value": "_voteParams"
                            },
                            "id": 9844,
                            "name": "Identifier",
                            "src": "1950:11:29"
                          }
                        ],
                        "id": 9845,
                        "name": "Assignment",
                        "src": "1914:47:29"
                      }
                    ],
                    "id": 9846,
                    "name": "ExpressionStatement",
                    "src": "1914:47:29"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "intVote",
                              "referencedDeclaration": 9813,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct VoteInOrganizationScheme.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9820,
                                      "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 9847,
                                    "name": "Identifier",
                                    "src": "1971:10:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9834,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 9848,
                                    "name": "Identifier",
                                    "src": "1982:10:29"
                                  }
                                ],
                                "id": 9849,
                                "name": "IndexAccess",
                                "src": "1971:22:29"
                              }
                            ],
                            "id": 9850,
                            "name": "MemberAccess",
                            "src": "1971:30:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9828,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 9851,
                            "name": "Identifier",
                            "src": "2004:8:29"
                          }
                        ],
                        "id": 9852,
                        "name": "Assignment",
                        "src": "1971:41:29"
                      }
                    ],
                    "id": 9853,
                    "name": "ExpressionStatement",
                    "src": "1971:41:29"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9832
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9834,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 9854,
                        "name": "Identifier",
                        "src": "2029:10:29"
                      }
                    ],
                    "id": 9855,
                    "name": "Return",
                    "src": "2022:17:29"
                  }
                ],
                "id": 9856,
                "name": "Block",
                "src": "1833:213:29"
              }
            ],
            "id": 9857,
            "name": "FunctionDefinition",
            "src": "1712:334:29"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 10091,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteParams",
                      "scope": 9872,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9858,
                        "name": "ElementaryTypeName",
                        "src": "2300:7:29"
                      }
                    ],
                    "id": 9859,
                    "name": "VariableDeclaration",
                    "src": "2300:19:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 9872,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 9860,
                        "name": "UserDefinedTypeName",
                        "src": "2329:16:29"
                      }
                    ],
                    "id": 9861,
                    "name": "VariableDeclaration",
                    "src": "2329:25:29"
                  }
                ],
                "id": 9862,
                "name": "ParameterList",
                "src": "2290:70:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9872,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9863,
                        "name": "ElementaryTypeName",
                        "src": "2381:7:29"
                      }
                    ],
                    "id": 9864,
                    "name": "VariableDeclaration",
                    "src": "2381:7:29"
                  }
                ],
                "id": 9865,
                "name": "ParameterList",
                "src": "2380:9:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 9865
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10861,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 9866,
                            "name": "Identifier",
                            "src": "2411:9:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9859,
                              "type": "bytes32",
                              "value": "_voteParams"
                            },
                            "id": 9867,
                            "name": "Identifier",
                            "src": "2421:11:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9861,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 9868,
                            "name": "Identifier",
                            "src": "2434:8:29"
                          }
                        ],
                        "id": 9869,
                        "name": "FunctionCall",
                        "src": "2411:32:29"
                      }
                    ],
                    "id": 9870,
                    "name": "Return",
                    "src": "2404:39:29"
                  }
                ],
                "id": 9871,
                "name": "Block",
                "src": "2394:56:29"
              }
            ],
            "id": 9872,
            "name": "FunctionDefinition",
            "src": "2264:186:29"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeVote",
              "payable": false,
              "scope": 10091,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9943,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 9873,
                        "name": "UserDefinedTypeName",
                        "src": "2829:6:29"
                      }
                    ],
                    "id": 9874,
                    "name": "VariableDeclaration",
                    "src": "2829:14:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_originalIntVote",
                      "scope": 9943,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 9875,
                        "name": "UserDefinedTypeName",
                        "src": "2845:16:29"
                      }
                    ],
                    "id": 9876,
                    "name": "VariableDeclaration",
                    "src": "2845:33:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_originalProposalId",
                      "scope": 9943,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9877,
                        "name": "ElementaryTypeName",
                        "src": "2880:7:29"
                      }
                    ],
                    "id": 9878,
                    "name": "VariableDeclaration",
                    "src": "2880:27:29"
                  }
                ],
                "id": 9879,
                "name": "ParameterList",
                "src": "2828:80:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9943,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9880,
                        "name": "ElementaryTypeName",
                        "src": "2932:7:29"
                      }
                    ],
                    "id": 9881,
                    "name": "VariableDeclaration",
                    "src": "2932:7:29"
                  }
                ],
                "id": 9882,
                "name": "ParameterList",
                "src": "2931:9:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        9884
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "numOfChoices",
                          "scope": 9943,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 9883,
                            "name": "ElementaryTypeName",
                            "src": "2955:4:29"
                          }
                        ],
                        "id": 9884,
                        "name": "VariableDeclaration",
                        "src": "2955:17:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "getNumberOfChoices",
                              "referencedDeclaration": 2643,
                              "type": "function (bytes32) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9876,
                                  "type": "contract IntVoteInterface",
                                  "value": "_originalIntVote"
                                },
                                "id": 9885,
                                "name": "Identifier",
                                "src": "2975:16:29"
                              }
                            ],
                            "id": 9886,
                            "name": "MemberAccess",
                            "src": "2975:35:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9878,
                              "type": "bytes32",
                              "value": "_originalProposalId"
                            },
                            "id": 9887,
                            "name": "Identifier",
                            "src": "3011:19:29"
                          }
                        ],
                        "id": 9888,
                        "name": "FunctionCall",
                        "src": "2975:56:29"
                      }
                    ],
                    "id": 9889,
                    "name": "VariableDeclarationStatement",
                    "src": "2955:76:29"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9891
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 9943,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct VoteInOrganizationScheme.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 9816,
                              "type": "struct VoteInOrganizationScheme.Parameters storage pointer"
                            },
                            "id": 9890,
                            "name": "UserDefinedTypeName",
                            "src": "3041:10:29"
                          }
                        ],
                        "id": 9891,
                        "name": "VariableDeclaration",
                        "src": "3041:24:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct VoteInOrganizationScheme.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9820,
                              "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 9892,
                            "name": "Identifier",
                            "src": "3068:10:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes32",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3065",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    8464
                                  ],
                                  "referencedDeclaration": 8464,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 9893,
                                "name": "Identifier",
                                "src": "3079:27:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9874,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 9894,
                                "name": "Identifier",
                                "src": "3107:7:29"
                              }
                            ],
                            "id": 9895,
                            "name": "FunctionCall",
                            "src": "3079:36:29"
                          }
                        ],
                        "id": 9896,
                        "name": "IndexAccess",
                        "src": "3068:48:29"
                      }
                    ],
                    "id": 9897,
                    "name": "VariableDeclarationStatement",
                    "src": "3041:75:29"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9899
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "intVote",
                          "scope": 9943,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract IntVoteInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "IntVoteInterface",
                              "referencedDeclaration": 2651,
                              "type": "contract IntVoteInterface"
                            },
                            "id": 9898,
                            "name": "UserDefinedTypeName",
                            "src": "3126:16:29"
                          }
                        ],
                        "id": 9899,
                        "name": "VariableDeclaration",
                        "src": "3126:24:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "intVote",
                          "referencedDeclaration": 9813,
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9891,
                              "type": "struct VoteInOrganizationScheme.Parameters memory",
                              "value": "params"
                            },
                            "id": 9900,
                            "name": "Identifier",
                            "src": "3153:6:29"
                          }
                        ],
                        "id": 9901,
                        "name": "MemberAccess",
                        "src": "3153:14:29"
                      }
                    ],
                    "id": 9902,
                    "name": "VariableDeclarationStatement",
                    "src": "3126:41:29"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9904
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 9943,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 9903,
                            "name": "ElementaryTypeName",
                            "src": "3177:7:29"
                          }
                        ],
                        "id": 9904,
                        "name": "VariableDeclaration",
                        "src": "3177:18:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_contract$_ExecutableInterface_$6617",
                                  "typeString": "contract ExecutableInterface"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "propose",
                              "referencedDeclaration": 2563,
                              "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9899,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 9905,
                                "name": "Identifier",
                                "src": "3198:7:29"
                              }
                            ],
                            "id": 9906,
                            "name": "MemberAccess",
                            "src": "3198:15:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "+",
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9884,
                                  "type": "uint256",
                                  "value": "numOfChoices"
                                },
                                "id": 9907,
                                "name": "Identifier",
                                "src": "3214:12:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 9908,
                                "name": "Literal",
                                "src": "3227:1:29"
                              }
                            ],
                            "id": 9909,
                            "name": "BinaryOperation",
                            "src": "3214:14:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteParams",
                              "referencedDeclaration": 9815,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9891,
                                  "type": "struct VoteInOrganizationScheme.Parameters memory",
                                  "value": "params"
                                },
                                "id": 9910,
                                "name": "Identifier",
                                "src": "3230:6:29"
                              }
                            ],
                            "id": 9911,
                            "name": "MemberAccess",
                            "src": "3230:17:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9874,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 9912,
                            "name": "Identifier",
                            "src": "3249:7:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract ExecutableInterface",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_VoteInOrganizationScheme_$10091",
                                      "typeString": "contract VoteInOrganizationScheme"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6617,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 9913,
                                "name": "Identifier",
                                "src": "3258:19:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10960,
                                  "type": "contract VoteInOrganizationScheme",
                                  "value": "this"
                                },
                                "id": 9914,
                                "name": "Identifier",
                                "src": "3278:4:29"
                              }
                            ],
                            "id": 9915,
                            "name": "FunctionCall",
                            "src": "3258:25:29"
                          }
                        ],
                        "id": 9916,
                        "name": "FunctionCall",
                        "src": "3198:86:29"
                      }
                    ],
                    "id": 9917,
                    "name": "VariableDeclarationStatement",
                    "src": "3177:107:29"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct VoteInOrganizationScheme.VoteProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct VoteInOrganizationScheme.VoteProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9811,
                                      "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))",
                                      "value": "organizationsData"
                                    },
                                    "id": 9918,
                                    "name": "Identifier",
                                    "src": "3295:17:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9874,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 9919,
                                    "name": "Identifier",
                                    "src": "3313:7:29"
                                  }
                                ],
                                "id": 9921,
                                "name": "IndexAccess",
                                "src": "3295:26:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9904,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 9920,
                                "name": "Identifier",
                                "src": "3322:10:29"
                              }
                            ],
                            "id": 9922,
                            "name": "IndexAccess",
                            "src": "3295:38:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "originalIntVote",
                                "originalProposalId",
                                "originalNumOfChoices"
                              ],
                              "type": "struct VoteInOrganizationScheme.VoteProposal memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9805,
                                  "type": "type(struct VoteInOrganizationScheme.VoteProposal storage pointer)",
                                  "value": "VoteProposal"
                                },
                                "id": 9923,
                                "name": "Identifier",
                                "src": "3336:12:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9876,
                                  "type": "contract IntVoteInterface",
                                  "value": "_originalIntVote"
                                },
                                "id": 9924,
                                "name": "Identifier",
                                "src": "3380:16:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9878,
                                  "type": "bytes32",
                                  "value": "_originalProposalId"
                                },
                                "id": 9925,
                                "name": "Identifier",
                                "src": "3430:19:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9884,
                                  "type": "uint256",
                                  "value": "numOfChoices"
                                },
                                "id": 9926,
                                "name": "Identifier",
                                "src": "3485:12:29"
                              }
                            ],
                            "id": 9927,
                            "name": "FunctionCall",
                            "src": "3336:172:29"
                          }
                        ],
                        "id": 9928,
                        "name": "Assignment",
                        "src": "3295:213:29"
                      }
                    ],
                    "id": 9929,
                    "name": "ExpressionStatement",
                    "src": "3295:213:29"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9786,
                              "type": "function (address,bytes32,address,contract IntVoteInterface,bytes32,uint256)",
                              "value": "NewVoteProposal"
                            },
                            "id": 9930,
                            "name": "Identifier",
                            "src": "3518:15:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9874,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 9931,
                            "name": "Identifier",
                            "src": "3547:7:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9904,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 9932,
                            "name": "Identifier",
                            "src": "3568:10:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "intVote",
                              "referencedDeclaration": 9813,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9891,
                                  "type": "struct VoteInOrganizationScheme.Parameters memory",
                                  "value": "params"
                                },
                                "id": 9933,
                                "name": "Identifier",
                                "src": "3592:6:29"
                              }
                            ],
                            "id": 9934,
                            "name": "MemberAccess",
                            "src": "3592:14:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9876,
                              "type": "contract IntVoteInterface",
                              "value": "_originalIntVote"
                            },
                            "id": 9935,
                            "name": "Identifier",
                            "src": "3620:16:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9878,
                              "type": "bytes32",
                              "value": "_originalProposalId"
                            },
                            "id": 9936,
                            "name": "Identifier",
                            "src": "3650:19:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9884,
                              "type": "uint256",
                              "value": "numOfChoices"
                            },
                            "id": 9937,
                            "name": "Identifier",
                            "src": "3683:12:29"
                          }
                        ],
                        "id": 9938,
                        "name": "FunctionCall",
                        "src": "3518:187:29"
                      }
                    ],
                    "id": 9939,
                    "name": "ExpressionStatement",
                    "src": "3518:187:29"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9882
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9904,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 9940,
                        "name": "Identifier",
                        "src": "3722:10:29"
                      }
                    ],
                    "id": 9941,
                    "name": "Return",
                    "src": "3715:17:29"
                  }
                ],
                "id": 9942,
                "name": "Block",
                "src": "2945:794:29"
              }
            ],
            "id": 9943,
            "name": "FunctionDefinition",
            "src": "2808:931:29"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "execute",
              "payable": false,
              "scope": 10091,
              "stateMutability": "nonpayable",
              "superFunction": 6616,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 10059,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9944,
                        "name": "ElementaryTypeName",
                        "src": "4193:7:29"
                      }
                    ],
                    "id": 9945,
                    "name": "VariableDeclaration",
                    "src": "4193:19:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 10059,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9946,
                        "name": "ElementaryTypeName",
                        "src": "4214:7:29"
                      }
                    ],
                    "id": 9947,
                    "name": "VariableDeclaration",
                    "src": "4214:15:29"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_param",
                      "scope": 10059,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 9948,
                        "name": "ElementaryTypeName",
                        "src": "4231:3:29"
                      }
                    ],
                    "id": 9949,
                    "name": "VariableDeclaration",
                    "src": "4231:10:29"
                  }
                ],
                "id": 9950,
                "name": "ParameterList",
                "src": "4192:50:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10059,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 9951,
                        "name": "ElementaryTypeName",
                        "src": "4258:4:29"
                      }
                    ],
                    "id": 9952,
                    "name": "VariableDeclaration",
                    "src": "4258:4:29"
                  }
                ],
                "id": 9953,
                "name": "ParameterList",
                "src": "4257:6:29"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9954,
                            "name": "Identifier",
                            "src": "4332:7:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 9813,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct VoteInOrganizationScheme.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9820,
                                          "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 9955,
                                        "name": "Identifier",
                                        "src": "4340:10:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "bytes32",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                                  "typeString": "contract Avatar"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                8464
                                              ],
                                              "referencedDeclaration": 8464,
                                              "type": "function (contract Avatar) view returns (bytes32)",
                                              "value": "getParametersFromController"
                                            },
                                            "id": 9956,
                                            "name": "Identifier",
                                            "src": "4351:27:29"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "contract Avatar",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3065,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 9957,
                                                "name": "Identifier",
                                                "src": "4379:6:29"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 9947,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 9958,
                                                "name": "Identifier",
                                                "src": "4386:7:29"
                                              }
                                            ],
                                            "id": 9959,
                                            "name": "FunctionCall",
                                            "src": "4379:15:29"
                                          }
                                        ],
                                        "id": 9960,
                                        "name": "FunctionCall",
                                        "src": "4351:44:29"
                                      }
                                    ],
                                    "id": 9961,
                                    "name": "IndexAccess",
                                    "src": "4340:56:29"
                                  }
                                ],
                                "id": 9962,
                                "name": "MemberAccess",
                                "src": "4340:64:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 9963,
                                    "name": "Identifier",
                                    "src": "4408:3:29"
                                  }
                                ],
                                "id": 9964,
                                "name": "MemberAccess",
                                "src": "4408:10:29"
                              }
                            ],
                            "id": 9965,
                            "name": "BinaryOperation",
                            "src": "4340:78:29"
                          }
                        ],
                        "id": 9966,
                        "name": "FunctionCall",
                        "src": "4332:87:29"
                      }
                    ],
                    "id": 9967,
                    "name": "ExpressionStatement",
                    "src": "4332:87:29"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9969
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 10059,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct VoteInOrganizationScheme.VoteProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "VoteProposal",
                              "referencedDeclaration": 9805,
                              "type": "struct VoteInOrganizationScheme.VoteProposal storage pointer"
                            },
                            "id": 9968,
                            "name": "UserDefinedTypeName",
                            "src": "4490:12:29"
                          }
                        ],
                        "id": 9969,
                        "name": "VariableDeclaration",
                        "src": "4490:28:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct VoteInOrganizationScheme.VoteProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9811,
                                  "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))",
                                  "value": "organizationsData"
                                },
                                "id": 9970,
                                "name": "Identifier",
                                "src": "4521:17:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9947,
                                  "type": "address",
                                  "value": "_avatar"
                                },
                                "id": 9971,
                                "name": "Identifier",
                                "src": "4539:7:29"
                              }
                            ],
                            "id": 9972,
                            "name": "IndexAccess",
                            "src": "4521:26:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9945,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 9973,
                            "name": "Identifier",
                            "src": "4548:11:29"
                          }
                        ],
                        "id": 9974,
                        "name": "IndexAccess",
                        "src": "4521:39:29"
                      }
                    ],
                    "id": 9975,
                    "name": "VariableDeclarationStatement",
                    "src": "4490:70:29"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct VoteInOrganizationScheme.VoteProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9811,
                                      "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))",
                                      "value": "organizationsData"
                                    },
                                    "id": 9976,
                                    "name": "Identifier",
                                    "src": "4577:17:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9947,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 9977,
                                    "name": "Identifier",
                                    "src": "4595:7:29"
                                  }
                                ],
                                "id": 9978,
                                "name": "IndexAccess",
                                "src": "4577:26:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9945,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 9979,
                                "name": "Identifier",
                                "src": "4604:11:29"
                              }
                            ],
                            "id": 9980,
                            "name": "IndexAccess",
                            "src": "4577:39:29"
                          }
                        ],
                        "id": 9981,
                        "name": "UnaryOperation",
                        "src": "4570:46:29"
                      }
                    ],
                    "id": 9982,
                    "name": "ExpressionStatement",
                    "src": "4570:46:29"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9798,
                              "type": "function (address,bytes32)",
                              "value": "ProposalDeleted"
                            },
                            "id": 9983,
                            "name": "Identifier",
                            "src": "4626:15:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9947,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 9984,
                            "name": "Identifier",
                            "src": "4642:7:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9945,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 9985,
                            "name": "Identifier",
                            "src": "4651:11:29"
                          }
                        ],
                        "id": 9986,
                        "name": "FunctionCall",
                        "src": "4626:37:29"
                      }
                    ],
                    "id": 9987,
                    "name": "ExpressionStatement",
                    "src": "4626:37:29"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9989
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "retVal",
                          "scope": 10059,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bool",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bool",
                              "type": "bool"
                            },
                            "id": 9988,
                            "name": "ElementaryTypeName",
                            "src": "4673:4:29"
                          }
                        ],
                        "id": 9989,
                        "name": "VariableDeclaration",
                        "src": "4673:11:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 9990,
                        "name": "Literal",
                        "src": "4687:4:29"
                      }
                    ],
                    "id": 9991,
                    "name": "VariableDeclarationStatement",
                    "src": "4673:18:29"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9949,
                              "type": "int256",
                              "value": "_param"
                            },
                            "id": 9992,
                            "name": "Identifier",
                            "src": "4743:6:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 9993,
                            "name": "Literal",
                            "src": "4753:1:29"
                          }
                        ],
                        "id": 9994,
                        "name": "BinaryOperation",
                        "src": "4743:11:29"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                9996
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "controller",
                                  "scope": 10059,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract ControllerInterface",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ControllerInterface",
                                      "referencedDeclaration": 4364,
                                      "type": "contract ControllerInterface"
                                    },
                                    "id": 9995,
                                    "name": "UserDefinedTypeName",
                                    "src": "4819:19:29"
                                  }
                                ],
                                "id": 9996,
                                "name": "VariableDeclaration",
                                "src": "4819:30:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract ControllerInterface",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 4364,
                                      "type": "type(contract ControllerInterface)",
                                      "value": "ControllerInterface"
                                    },
                                    "id": 9997,
                                    "name": "Identifier",
                                    "src": "4852:19:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "address",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            null
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "owner",
                                          "referencedDeclaration": 10249,
                                          "type": "function () view external returns (address)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "contract Avatar",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3065,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 9998,
                                                "name": "Identifier",
                                                "src": "4872:6:29"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 9947,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 9999,
                                                "name": "Identifier",
                                                "src": "4879:7:29"
                                              }
                                            ],
                                            "id": 10000,
                                            "name": "FunctionCall",
                                            "src": "4872:15:29"
                                          }
                                        ],
                                        "id": 10001,
                                        "name": "MemberAccess",
                                        "src": "4872:21:29"
                                      }
                                    ],
                                    "id": 10002,
                                    "name": "FunctionCall",
                                    "src": "4872:23:29"
                                  }
                                ],
                                "id": 10003,
                                "name": "FunctionCall",
                                "src": "4852:44:29"
                              }
                            ],
                            "id": 10004,
                            "name": "VariableDeclarationStatement",
                            "src": "4819:77:29"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                10008
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "tmp",
                                  "scope": 10059,
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "type": "bytes32[] memory",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "length": null,
                                      "type": "bytes32[] storage pointer"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "name": "bytes32",
                                          "type": "bytes32"
                                        },
                                        "id": 10006,
                                        "name": "ElementaryTypeName",
                                        "src": "4910:7:29"
                                      }
                                    ],
                                    "id": 10007,
                                    "name": "ArrayTypeName",
                                    "src": "4910:9:29"
                                  }
                                ],
                                "id": 10008,
                                "name": "VariableDeclaration",
                                "src": "4910:20:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bytes32[] memory",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_3_by_1",
                                          "typeString": "int_const 3"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "function (uint256) pure returns (bytes32[] memory)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "length": null,
                                          "type": "bytes32[] storage pointer"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "name": "bytes32",
                                              "type": "bytes32"
                                            },
                                            "id": 10009,
                                            "name": "ElementaryTypeName",
                                            "src": "4937:7:29"
                                          }
                                        ],
                                        "id": 10010,
                                        "name": "ArrayTypeName",
                                        "src": "4937:9:29"
                                      }
                                    ],
                                    "id": 10011,
                                    "name": "NewExpression",
                                    "src": "4933:13:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "33",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 3",
                                      "value": "3"
                                    },
                                    "id": 10012,
                                    "name": "Literal",
                                    "src": "4947:1:29"
                                  }
                                ],
                                "id": 10013,
                                "name": "FunctionCall",
                                "src": "4933:16:29"
                              }
                            ],
                            "id": 10014,
                            "name": "VariableDeclarationStatement",
                            "src": "4910:39:29"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 10008,
                                          "type": "bytes32[] memory",
                                          "value": "tmp"
                                        },
                                        "id": 10015,
                                        "name": "Identifier",
                                        "src": "4963:3:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "30",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 0",
                                          "value": "0"
                                        },
                                        "id": 10016,
                                        "name": "Literal",
                                        "src": "4967:1:29"
                                      }
                                    ],
                                    "id": 10017,
                                    "name": "IndexAccess",
                                    "src": "4963:6:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "bytes32",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "type(bytes32)",
                                          "value": "bytes32"
                                        },
                                        "id": 10018,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "4972:7:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "address",
                                          "type_conversion": true
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                                  "typeString": "contract IntVoteInterface"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "type": "type(address)",
                                              "value": "address"
                                            },
                                            "id": 10019,
                                            "name": "ElementaryTypeNameExpression",
                                            "src": "4980:7:29"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "originalIntVote",
                                              "referencedDeclaration": 9800,
                                              "type": "contract IntVoteInterface"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 9969,
                                                  "type": "struct VoteInOrganizationScheme.VoteProposal memory",
                                                  "value": "proposal"
                                                },
                                                "id": 10020,
                                                "name": "Identifier",
                                                "src": "4988:8:29"
                                              }
                                            ],
                                            "id": 10021,
                                            "name": "MemberAccess",
                                            "src": "4988:24:29"
                                          }
                                        ],
                                        "id": 10022,
                                        "name": "FunctionCall",
                                        "src": "4980:33:29"
                                      }
                                    ],
                                    "id": 10023,
                                    "name": "FunctionCall",
                                    "src": "4972:42:29"
                                  }
                                ],
                                "id": 10024,
                                "name": "Assignment",
                                "src": "4963:51:29"
                              }
                            ],
                            "id": 10025,
                            "name": "ExpressionStatement",
                            "src": "4963:51:29"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 10008,
                                          "type": "bytes32[] memory",
                                          "value": "tmp"
                                        },
                                        "id": 10026,
                                        "name": "Identifier",
                                        "src": "5028:3:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "31",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 1",
                                          "value": "1"
                                        },
                                        "id": 10027,
                                        "name": "Literal",
                                        "src": "5032:1:29"
                                      }
                                    ],
                                    "id": 10028,
                                    "name": "IndexAccess",
                                    "src": "5028:6:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "originalProposalId",
                                      "referencedDeclaration": 9802,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9969,
                                          "type": "struct VoteInOrganizationScheme.VoteProposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 10029,
                                        "name": "Identifier",
                                        "src": "5037:8:29"
                                      }
                                    ],
                                    "id": 10030,
                                    "name": "MemberAccess",
                                    "src": "5037:27:29"
                                  }
                                ],
                                "id": 10031,
                                "name": "Assignment",
                                "src": "5028:36:29"
                              }
                            ],
                            "id": 10032,
                            "name": "ExpressionStatement",
                            "src": "5028:36:29"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 10008,
                                          "type": "bytes32[] memory",
                                          "value": "tmp"
                                        },
                                        "id": 10033,
                                        "name": "Identifier",
                                        "src": "5078:3:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "32",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 2",
                                          "value": "2"
                                        },
                                        "id": 10034,
                                        "name": "Literal",
                                        "src": "5082:1:29"
                                      }
                                    ],
                                    "id": 10035,
                                    "name": "IndexAccess",
                                    "src": "5078:6:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "bytes32",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "type": "type(bytes32)",
                                          "value": "bytes32"
                                        },
                                        "id": 10036,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "5087:7:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9949,
                                          "type": "int256",
                                          "value": "_param"
                                        },
                                        "id": 10037,
                                        "name": "Identifier",
                                        "src": "5095:6:29"
                                      }
                                    ],
                                    "id": 10038,
                                    "name": "FunctionCall",
                                    "src": "5087:15:29"
                                  }
                                ],
                                "id": 10039,
                                "name": "Assignment",
                                "src": "5078:24:29"
                              }
                            ],
                            "id": 10040,
                            "name": "ExpressionStatement",
                            "src": "5078:24:29"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9989,
                                      "type": "bool",
                                      "value": "retVal"
                                    },
                                    "id": 10041,
                                    "name": "Identifier",
                                    "src": "5116:6:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "bool",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                              "typeString": "bytes32[] memory"
                                            },
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "genericAction",
                                          "referencedDeclaration": 4298,
                                          "type": "function (bytes32[] memory,address) external returns (bool)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 9996,
                                              "type": "contract ControllerInterface",
                                              "value": "controller"
                                            },
                                            "id": 10042,
                                            "name": "Identifier",
                                            "src": "5125:10:29"
                                          }
                                        ],
                                        "id": 10043,
                                        "name": "MemberAccess",
                                        "src": "5125:24:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 10008,
                                          "type": "bytes32[] memory",
                                          "value": "tmp"
                                        },
                                        "id": 10044,
                                        "name": "Identifier",
                                        "src": "5150:3:29"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9947,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 10045,
                                        "name": "Identifier",
                                        "src": "5154:7:29"
                                      }
                                    ],
                                    "id": 10046,
                                    "name": "FunctionCall",
                                    "src": "5125:37:29"
                                  }
                                ],
                                "id": 10047,
                                "name": "Assignment",
                                "src": "5116:46:29"
                              }
                            ],
                            "id": 10048,
                            "name": "ExpressionStatement",
                            "src": "5116:46:29"
                          }
                        ],
                        "id": 10049,
                        "name": "Block",
                        "src": "4756:419:29"
                      }
                    ],
                    "id": 10050,
                    "name": "IfStatement",
                    "src": "4739:436:29"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9792,
                              "type": "function (address,bytes32)",
                              "value": "ProposalExecuted"
                            },
                            "id": 10051,
                            "name": "Identifier",
                            "src": "5184:16:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9947,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 10052,
                            "name": "Identifier",
                            "src": "5201:7:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9945,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 10053,
                            "name": "Identifier",
                            "src": "5210:11:29"
                          }
                        ],
                        "id": 10054,
                        "name": "FunctionCall",
                        "src": "5184:38:29"
                      }
                    ],
                    "id": 10055,
                    "name": "ExpressionStatement",
                    "src": "5184:38:29"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9953
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9989,
                          "type": "bool",
                          "value": "retVal"
                        },
                        "id": 10056,
                        "name": "Identifier",
                        "src": "5239:6:29"
                      }
                    ],
                    "id": 10057,
                    "name": "Return",
                    "src": "5232:13:29"
                  }
                ],
                "id": 10058,
                "name": "Block",
                "src": "4264:988:29"
              }
            ],
            "id": 10059,
            "name": "FunctionDefinition",
            "src": "4176:1076:29"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "action",
              "payable": false,
              "scope": 10091,
              "stateMutability": "nonpayable",
              "superFunction": 2789,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_params",
                      "scope": 10090,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "bytes32[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 10060,
                            "name": "ElementaryTypeName",
                            "src": "5700:7:29"
                          }
                        ],
                        "id": 10061,
                        "name": "ArrayTypeName",
                        "src": "5700:9:29"
                      }
                    ],
                    "id": 10062,
                    "name": "VariableDeclaration",
                    "src": "5700:17:29"
                  }
                ],
                "id": 10063,
                "name": "ParameterList",
                "src": "5699:19:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10090,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 10064,
                        "name": "ElementaryTypeName",
                        "src": "5734:4:29"
                      }
                    ],
                    "id": 10065,
                    "name": "VariableDeclaration",
                    "src": "5734:4:29"
                  }
                ],
                "id": 10066,
                "name": "ParameterList",
                "src": "5733:6:29"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        10068
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "intVote",
                          "scope": 10090,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract IntVoteInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "IntVoteInterface",
                              "referencedDeclaration": 2651,
                              "type": "contract IntVoteInterface"
                            },
                            "id": 10067,
                            "name": "UserDefinedTypeName",
                            "src": "5750:16:29"
                          }
                        ],
                        "id": 10068,
                        "name": "VariableDeclaration",
                        "src": "5750:24:29"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract IntVoteInterface",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2651,
                              "type": "type(contract IntVoteInterface)",
                              "value": "IntVoteInterface"
                            },
                            "id": 10069,
                            "name": "Identifier",
                            "src": "5777:16:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 10070,
                                "name": "ElementaryTypeNameExpression",
                                "src": "5794:7:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10062,
                                      "type": "bytes32[] memory",
                                      "value": "_params"
                                    },
                                    "id": 10071,
                                    "name": "Identifier",
                                    "src": "5802:7:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 10072,
                                    "name": "Literal",
                                    "src": "5810:1:29"
                                  }
                                ],
                                "id": 10073,
                                "name": "IndexAccess",
                                "src": "5802:10:29"
                              }
                            ],
                            "id": 10074,
                            "name": "FunctionCall",
                            "src": "5794:19:29"
                          }
                        ],
                        "id": 10075,
                        "name": "FunctionCall",
                        "src": "5777:37:29"
                      }
                    ],
                    "id": 10076,
                    "name": "VariableDeclarationStatement",
                    "src": "5750:64:29"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 10066
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "vote",
                              "referencedDeclaration": 2602,
                              "type": "function (bytes32,uint256) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10068,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 10077,
                                "name": "Identifier",
                                "src": "5831:7:29"
                              }
                            ],
                            "id": 10078,
                            "name": "MemberAccess",
                            "src": "5831:12:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10062,
                                  "type": "bytes32[] memory",
                                  "value": "_params"
                                },
                                "id": 10079,
                                "name": "Identifier",
                                "src": "5844:7:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 10080,
                                "name": "Literal",
                                "src": "5852:1:29"
                              }
                            ],
                            "id": 10081,
                            "name": "IndexAccess",
                            "src": "5844:10:29"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(uint256)",
                                  "value": "uint"
                                },
                                "id": 10082,
                                "name": "ElementaryTypeNameExpression",
                                "src": "5856:4:29"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10062,
                                      "type": "bytes32[] memory",
                                      "value": "_params"
                                    },
                                    "id": 10083,
                                    "name": "Identifier",
                                    "src": "5861:7:29"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "32",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 2",
                                      "value": "2"
                                    },
                                    "id": 10084,
                                    "name": "Literal",
                                    "src": "5869:1:29"
                                  }
                                ],
                                "id": 10085,
                                "name": "IndexAccess",
                                "src": "5861:10:29"
                              }
                            ],
                            "id": 10086,
                            "name": "FunctionCall",
                            "src": "5856:16:29"
                          }
                        ],
                        "id": 10087,
                        "name": "FunctionCall",
                        "src": "5831:42:29"
                      }
                    ],
                    "id": 10088,
                    "name": "Return",
                    "src": "5824:49:29"
                  }
                ],
                "id": 10089,
                "name": "Block",
                "src": "5740:140:29"
              }
            ],
            "id": 10090,
            "name": "FunctionDefinition",
            "src": "5684:196:29"
          }
        ],
        "id": 10091,
        "name": "ContractDefinition",
        "src": "254:5628:29"
      }
    ],
    "id": 10092,
    "name": "SourceUnit",
    "src": "0:5883:29"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:14:57.929Z"
}