{
  "contractName": "SchemeRegistrar",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "voteRemoveParams",
          "type": "bytes32"
        },
        {
          "name": "intVote",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        },
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "organizationsProposals",
      "outputs": [
        {
          "name": "scheme",
          "type": "address"
        },
        {
          "name": "parametersHash",
          "type": "bytes32"
        },
        {
          "name": "proposalType",
          "type": "uint256"
        },
        {
          "name": "isRegistering",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "_voteRemoveParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "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": "_scheme",
          "type": "address"
        }
      ],
      "name": "proposeToRemoveScheme",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "_voteRemoveParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_scheme",
          "type": "address"
        },
        {
          "name": "_parametersHash",
          "type": "bytes32"
        },
        {
          "name": "_isRegistering",
          "type": "bool"
        }
      ],
      "name": "proposeScheme",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "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": "_scheme",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_parametersHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_isRegistering",
          "type": "bool"
        }
      ],
      "name": "NewSchemeProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_intVoteInterface",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_scheme",
          "type": "address"
        }
      ],
      "name": "RemoveSchemeProposal",
      "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": "NewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610e7b8061003b6000396000f3006060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a57806306e3a978146100dd5780630a6687fd146101355780632ac2af531461016c578063310ce4e21461018457806357b4c460146101bd57806377182261146101e25780638af0fab9146102075780638da5cb5b14610234578063f2fde38b14610263578063f98e87ba14610282575b600080fd5b34156100a557600080fd5b6100b0600435610295565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100e857600080fd5b6100ff600160a060020a03600435166024356102bf565b604051600160a060020a039094168452602084019290925260408084019190915290151560608301526080909101905180910390f35b341561014057600080fd5b61015a600435602435600160a060020a03604435166102fd565b60405190815260200160405180910390f35b341561017757600080fd5b61018260043561035a565b005b341561018f57600080fd5b6101a9600435600160a060020a036024351660443561037a565b604051901515815260200160405180910390f35b34156101c857600080fd5b61015a600160a060020a036004358116906024351661076d565b34156101ed57600080fd5b61015a600435602435600160a060020a0360443516610982565b341561021257600080fd5b61015a600160a060020a036004358116906024351660443560643515156109cb565b341561023f57600080fd5b610247610c77565b604051600160a060020a03909116815260200160405180910390f35b341561026e57600080fd5b610182600160a060020a0360043516610c86565b341561028d57600080fd5b61015a610d21565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b600260208181526000938452604080852090915291835291208054600182015492820154600390920154600160a060020a0390911692919060ff1684565b60008061030b858585610982565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b60005433600160a060020a0390811691161461037557600080fd5b600155565b6000610384610e08565b600033600160a060020a03166003600061039d88610d27565b8152602081019190915260400160002060020154600160a060020a0316146103c457600080fd5b600160a060020a038516600090815260026020908152604080832089845290915290819020906080905190810160409081528254600160a060020a0390811683526001808501546020808601919091526002808701548587015260039687015460ff1615156060870152928b1660009081528382528481208d8252909152928320805473ffffffffffffffffffffffffffffffffffffffff1916815580820184905591820192909255909201805460ff19169055925084141561072a5784600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104c757600080fd5b6102c65a03f115156104d857600080fd5b505050604051805191505060408201516001141561069757816060015115156105bf57600160a060020a03811663e869d45f8351846020015160e060020a8960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561059457600080fd5b6102c65a03f115156105a557600080fd5b5050506040518051905015156105ba57600080fd5b610697565b600160a060020a03811663e869d45f835184602001517c03000000000000000000000000000000000000000000000000000000008960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561067157600080fd5b6102c65a03f1151561068257600080fd5b50505060405180519050151561069757600080fd5b81604001516002141561072a57600160a060020a03811663039de01d83518760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561070457600080fd5b6102c65a03f1151561071557600080fd5b50505060405180519050151561072a57600080fd5b85600160a060020a0386167f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f53360405160405180910390a350600195945050505050565b600080610778610e2f565b60008061078487610d27565b600081815260036020526040908190209195506060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051915081600160a060020a0316630905c9f9600285602001518a303360006040516020015260405160e060020a63ffffffff881602815260048101959095526024850193909352600160a060020a0391821660448501528116606484015216608482015260a401602060405180830381600087803b151561084857600080fd5b6102c65a03f1151561085957600080fd5b5050506040518051600160a060020a0389811660008181526002602081815260408084208785529091529182902080820191909155805473ffffffffffffffffffffffffffffffffffffffff19168c8516179055929450908516925083917f9b1e830946ff2e96ae2d6f9853dd3a8fce640829ce9595a01422561d493e1bdc908a9051600160a060020a03909116815260200160405180910390a481600160a060020a031663339e23d18260013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b151561095c57600080fd5b6102c65a03f1151561096d57600080fd5b50505060405180515090979650505050505050565b60008383836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60006109d5610e2f565b60006109df610e08565b600360006109ec8a610d27565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051600160a060020a0316630905c9f9600285518b303360006040516020015260405160e060020a63ffffffff881602815260048101959095526024850193909352600160a060020a0391821660448501528116606484015216608482015260a401602060405180830381600087803b1515610aaa57600080fd5b6102c65a03f11515610abb57600080fd5b50505060405180519050915060806040519081016040908152600160a060020a0389168252602082018890526001818301528615156060830152909150830151600160a060020a0316826000191689600160a060020a03167f257d37d1266244fb291f6dac1148a1773c6ab9274e517d7e4ba8481175e447ea8a8a8a604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a4600160a060020a0388166000908152600260209081526040808320858452909152902081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001820155604082015181600201556060820151600391909101805460ff1916911515919091179055506040830151600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c5057600080fd5b6102c65a03f11515610c6157600080fd5b5050506040518051509198975050505050505050565b600054600160a060020a031681565b60005433600160a060020a03908116911614610ca157600080fd5b600160a060020a0381161515610cb657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d6f57600080fd5b6102c65a03f11515610d8057600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610de857600080fd5b6102c65a03f11515610df957600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820c23ad53fbc377e0fdf7d14599ef7f5b3dac737307d9e0ad4125782ab5973267d0029",
  "deployedBytecode": "0x6060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a57806306e3a978146100dd5780630a6687fd146101355780632ac2af531461016c578063310ce4e21461018457806357b4c460146101bd57806377182261146101e25780638af0fab9146102075780638da5cb5b14610234578063f2fde38b14610263578063f98e87ba14610282575b600080fd5b34156100a557600080fd5b6100b0600435610295565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100e857600080fd5b6100ff600160a060020a03600435166024356102bf565b604051600160a060020a039094168452602084019290925260408084019190915290151560608301526080909101905180910390f35b341561014057600080fd5b61015a600435602435600160a060020a03604435166102fd565b60405190815260200160405180910390f35b341561017757600080fd5b61018260043561035a565b005b341561018f57600080fd5b6101a9600435600160a060020a036024351660443561037a565b604051901515815260200160405180910390f35b34156101c857600080fd5b61015a600160a060020a036004358116906024351661076d565b34156101ed57600080fd5b61015a600435602435600160a060020a0360443516610982565b341561021257600080fd5b61015a600160a060020a036004358116906024351660443560643515156109cb565b341561023f57600080fd5b610247610c77565b604051600160a060020a03909116815260200160405180910390f35b341561026e57600080fd5b610182600160a060020a0360043516610c86565b341561028d57600080fd5b61015a610d21565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b600260208181526000938452604080852090915291835291208054600182015492820154600390920154600160a060020a0390911692919060ff1684565b60008061030b858585610982565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b60005433600160a060020a0390811691161461037557600080fd5b600155565b6000610384610e08565b600033600160a060020a03166003600061039d88610d27565b8152602081019190915260400160002060020154600160a060020a0316146103c457600080fd5b600160a060020a038516600090815260026020908152604080832089845290915290819020906080905190810160409081528254600160a060020a0390811683526001808501546020808601919091526002808701548587015260039687015460ff1615156060870152928b1660009081528382528481208d8252909152928320805473ffffffffffffffffffffffffffffffffffffffff1916815580820184905591820192909255909201805460ff19169055925084141561072a5784600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104c757600080fd5b6102c65a03f115156104d857600080fd5b505050604051805191505060408201516001141561069757816060015115156105bf57600160a060020a03811663e869d45f8351846020015160e060020a8960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561059457600080fd5b6102c65a03f115156105a557600080fd5b5050506040518051905015156105ba57600080fd5b610697565b600160a060020a03811663e869d45f835184602001517c03000000000000000000000000000000000000000000000000000000008960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561067157600080fd5b6102c65a03f1151561068257600080fd5b50505060405180519050151561069757600080fd5b81604001516002141561072a57600160a060020a03811663039de01d83518760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561070457600080fd5b6102c65a03f1151561071557600080fd5b50505060405180519050151561072a57600080fd5b85600160a060020a0386167f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f53360405160405180910390a350600195945050505050565b600080610778610e2f565b60008061078487610d27565b600081815260036020526040908190209195506060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051915081600160a060020a0316630905c9f9600285602001518a303360006040516020015260405160e060020a63ffffffff881602815260048101959095526024850193909352600160a060020a0391821660448501528116606484015216608482015260a401602060405180830381600087803b151561084857600080fd5b6102c65a03f1151561085957600080fd5b5050506040518051600160a060020a0389811660008181526002602081815260408084208785529091529182902080820191909155805473ffffffffffffffffffffffffffffffffffffffff19168c8516179055929450908516925083917f9b1e830946ff2e96ae2d6f9853dd3a8fce640829ce9595a01422561d493e1bdc908a9051600160a060020a03909116815260200160405180910390a481600160a060020a031663339e23d18260013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b151561095c57600080fd5b6102c65a03f1151561096d57600080fd5b50505060405180515090979650505050505050565b60008383836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60006109d5610e2f565b60006109df610e08565b600360006109ec8a610d27565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051600160a060020a0316630905c9f9600285518b303360006040516020015260405160e060020a63ffffffff881602815260048101959095526024850193909352600160a060020a0391821660448501528116606484015216608482015260a401602060405180830381600087803b1515610aaa57600080fd5b6102c65a03f11515610abb57600080fd5b50505060405180519050915060806040519081016040908152600160a060020a0389168252602082018890526001818301528615156060830152909150830151600160a060020a0316826000191689600160a060020a03167f257d37d1266244fb291f6dac1148a1773c6ab9274e517d7e4ba8481175e447ea8a8a8a604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a4600160a060020a0388166000908152600260209081526040808320858452909152902081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001820155604082015181600201556060820151600391909101805460ff1916911515919091179055506040830151600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c5057600080fd5b6102c65a03f11515610c6157600080fd5b5050506040518051509198975050505050505050565b600054600160a060020a031681565b60005433600160a060020a03908116911614610ca157600080fd5b600160a060020a0381161515610cb657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d6f57600080fd5b6102c65a03f11515610d8057600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610de857600080fd5b6102c65a03f11515610df957600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820c23ad53fbc377e0fdf7d14599ef7f5b3dac737307d9e0ad4125782ab5973267d0029",
  "sourceMap": "265:6826:25:-;;;1677:36;;;;;;;;501:5:35;:18;;-1:-1:-1;;;;;509:10:35;501:18;-1:-1:-1;;;;;;501:18:35;;;;;;265:6826:25;;;;;;",
  "deployedSourceMap": "265:6826:25:-;;;;;;;;;-1:-1:-1;;;265:6826:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1582:46;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1582:46:25;;;;;;;;;;;;;;;;;;;;1258:80;;;;;;;;;;-1:-1:-1;;;;;1258:80:25;;;;;;;;;;-1:-1:-1;;;;;1258:80:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3631:489;;;;;;;;;;;;;;-1:-1:-1;;;;;3631:489:25;;;;;;;;;;;;;;;;;;;;452:157:27;;;;;;;;;;;;;;;;2113:1415:25;;;;;;;;;;;;-1:-1:-1;;;;;2113:1415:25;;;;;;;;;;;;;;;;;;;;;;;;6302:787;;;;;;;;;;-1:-1:-1;;;;;6302:787:25;;;;;;;;;;4126:256;;;;;;;;;;;;;;-1:-1:-1;;;;;4126:256:25;;;;;4898:1103;;;;;;;;;;-1:-1:-1;;;;;4898:1103:25;;;;;;;;;;;;;;;;238:20:35;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:35;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:35;;;;;345:31:27;;;;;;;;;;;;1582:46:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1582:46:25;;:::o;1258:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1258:80:25;;;;;;;;;:::o;3631:489::-;3782:7;3805:18;3826:67;3844:19;3865:17;3884:8;3826:17;:67::i;:::-;3903:22;;;;:10;:22;;;;;:63;;;3976:39;;;:59;;;;-1:-1:-1;;4045:30:25;;;;:41;;-1:-1:-1;;4045:41:25;-1:-1:-1;;;;;4045:41:25;;;;;;;;;;;3903:22;3631:489::o;452:157:27:-;654:5:35;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;566:16:27;:36;452:157::o;2113:1415:25:-;2197:4;2371:30;;:::i;:::-;2602;2349:10;-1:-1:-1;;;;;2281:78:25;:10;:56;2292:44;2327:7;2292:27;:44::i;:::-;2281:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;2281:64:25;:78;2273:87;;;;;;-1:-1:-1;;;;;2404:31:25;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;;;2371:77;;;;;;;;;;;;-1:-1:-1;;;;;2371:77:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2465:31;;;2371:77;2465:31;;;;;;;;;:44;;;;;;;;;2458:51;;-1:-1:-1;;2458:51:25;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2458:51:25;;;2371:77;-1:-1:-1;2523:11:25;;2519:934;;;2662:7;-1:-1:-1;;;;;2655:21:25;;:23;;;;;;;;;;;-1:-1:-1;;;2655:23:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2725:21:25;;;;2750:1;2725:26;2721:497;;;2775:8;:22;;;:31;;2771:429;;-1:-1:-1;;;;;2835:25:25;;;2861:8;:15;2878:8;:23;;;-1:-1:-1;;;2913:7:25;2835:86;;;;;;;;-1:-1:-1;;;2835:86:25;;;;;;-1:-1:-1;;;;;2835:86:25;;;;;;;;;;;;;;-1:-1:-1;;2835:86:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2834:87;2830:152;;;2949:8;;;2830:152;2771:429;;;-1:-1:-1;;;;;3037:25:25;;;3063:8;:15;3080:8;:23;;;3105:9;3115:7;3037:86;;;;;;;;-1:-1:-1;;;3037:86:25;;;;;;-1:-1:-1;;;;;3037:86:25;;;;;;;;;;;;;;-1:-1:-1;;3037:86:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3036:87;3032:150;;;3151:8;;;3032:150;3266:8;:21;;;3291:1;3266:26;3261:180;;;-1:-1:-1;;;;;3318:27:25;;;3346:8;:15;3362:7;3318:52;;;;;;;;-1:-1:-1;;;3318:52:25;;;;;;-1:-1:-1;;;;;3318:52:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3317:53;3313:110;;;3394:8;;;3313:110;3488:11;-1:-1:-1;;;;;3462:38:25;;;;;;;;;;;;-1:-1:-1;3517:4:25;;2113:1415;-1:-1:-1;;;;;2113:1415:25:o;6302:787::-;6389:7;6412:18;6479:24;;:::i;:::-;6539;6590:18;6433:36;6461:7;6433:27;:36::i;:::-;6506:22;;;;:10;:22;;;;;;;6412:57;;-1:-1:-1;6479:49:25;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6479:49:25;;;;;;;;-1:-1:-1;6566:14:25;6539:41;;6611:7;-1:-1:-1;;;;;6611:15:25;;6627:1;6630:6;:23;;;6655:7;6684:4;6690:10;6611:90;;;;;;;;-1:-1:-1;;;6611:90:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6611:90:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6712:31:25;;;;;;;6771:1;6712:31;;;;;;;;:43;;;;;;;;;;:56;;;:60;;;;6782;;-1:-1:-1;;6782:60:25;;;;;;;6712:43;;-1:-1:-1;6852:59:25;;;;-1:-1:-1;6712:43:25;;6852:59;;6782:60;;6852:59;-1:-1:-1;;;;;6852:59:25;;;;;;;;;;;;;;6955:7;-1:-1:-1;;;;;6955:17:25;;6973:10;6985:1;6988:10;6955:44;;;;;;;;-1:-1:-1;;;6955:44:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6955:44:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7072:10:25;;6302:787;-1:-1:-1;;;;;;;6302:787:25:o;4126:256::-;4286:7;4326:19;4347:17;4366:8;4316:59;;;;;;;;;;;;-1:-1:-1;;;;;4316:59:25;;;;;;;;;;;;;;;;;;;;;;4309:66;;4126:256;;;;;:::o;4898:1103::-;5061:7;5103:34;;:::i;:::-;5199:18;5350:30;;:::i;:::-;5140:10;:48;5151:36;5179:7;5151:27;:36::i;:::-;5140:48;;;;;;;;;;;;;;;;5103:85;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5103:85:25;;;;;;;;-1:-1:-1;5220:24:25;-1:-1:-1;;;;;5220:32:25;;5253:1;5256:16;:35;5293:7;5322:4;5328:10;5220:119;;;;;;;;-1:-1:-1;;;5220:119:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5220:119:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5199:140;;5383:172;;;;;;;;;;-1:-1:-1;;;;;5383:172:25;;;;;;;;;;5500:1;5383:172;;;;;;;;;;;;;-1:-1:-1;5641:24:25;;;-1:-1:-1;;;;;5565:176:25;5617:10;5565:176;;;5596:7;-1:-1:-1;;;;;5565:176:25;;5679:7;5688:15;5717:14;5565:176;;-1:-1:-1;;;;;5565:176:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5751:31:25;;;;;;:22;:31;;;;;;;;:43;;;;;;;;5797:8;;;5751:54;;;-1:-1:-1;;5751:54:25;-1:-1:-1;;;;;5751:54:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5751:54:25;;;;;;;;;;-1:-1:-1;5850:24:25;;;;-1:-1:-1;;;;;5850:34:25;;5885:10;5897:1;5900:10;5850:61;;;;;;;;-1:-1:-1;;;5850:61:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5850:61:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5984:10:25;;4898:1103;-1:-1:-1;;;;;;;;4898:1103:25:o;238:20:35:-;;;-1:-1:-1;;;;;238:20:35;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:35;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:35;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:35;-1:-1:-1;;;;;982:16:35;;;;;;;;;;834:169::o;345:31:27:-;;;;:::o;704:191::-;783:7;829;-1:-1:-1;;;;;829:13:27;;:15;;;;;;;;;;;-1:-1:-1;;;829:15:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;809:56:27;;866:4;879:7;809:79;;;;;;;;-1:-1:-1;;;809:79:27;;;;;;-1:-1:-1;;;;;809:79:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:191;-1:-1:-1;;;704:191:27:o;265:6826:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../VotingMachines/IntVoteInterface.sol\";\nimport \"./UniversalScheme.sol\";\n\n\n/**\n * @title A registrar for Schemes for organizations\n * @dev The SchemeRegistrar is used for registering and unregistering schemes at organizations\n */\n\ncontract SchemeRegistrar is UniversalScheme {\n    event NewSchemeProposal(\n        address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        address _scheme,\n        bytes32 _parametersHash,\n        bool _isRegistering\n    );\n    event RemoveSchemeProposal(address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        address _scheme\n    );\n    event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\n    event ProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\n\n    // a SchemeProposal is a  proposal to add or remove a scheme to/from the an organization\n    struct SchemeProposal {\n        address scheme; //\n        bytes32 parametersHash;\n        uint proposalType; // 1: add a scheme, 2: remove a scheme.\n        bool isRegistering;\n    }\n\n    // A mapping from the organization (Avatar) address to the saved data of the organization:\n    mapping(address=>mapping(bytes32=>SchemeProposal)) public organizationsProposals;\n\n    // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n    struct Parameters {\n        bytes32 voteRegisterParams;\n        bytes32 voteRemoveParams;\n        IntVoteInterface intVote;\n    }\n    mapping(bytes32=>Parameters) public parameters;\n\n    /**\n    * @dev The Constructor\n    */\n    function SchemeRegistrar() public {}\n\n    /**\n    * @dev execute a  proposal\n    * This method can only be called by the voting machine in which the vote is held.\n    * @param _proposalId the ID of the proposal in the voting machine\n    * @param _avatar address of the controller\n    * @param _param identifies the action to be taken\n    */\n    // TODO: this call can be simplified if we save the _avatar together with the proposal\n    function execute(bytes32 _proposalId, address _avatar, int _param) external returns(bool) {\n          // Check the caller is indeed the voting machine:\n        require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\n\n        SchemeProposal memory proposal = organizationsProposals[_avatar][_proposalId];\n        delete organizationsProposals[_avatar][_proposalId];\n        if (_param == 1) {\n\n          // Define controller and get the params:\n            ControllerInterface controller = ControllerInterface(Avatar(_avatar).owner());\n\n          // Add a scheme:\n            if (proposal.proposalType == 1) {\n                if (proposal.isRegistering == false) {\n                    if (!controller.registerScheme(proposal.scheme, proposal.parametersHash, bytes4(1),_avatar)) {\n                        revert();\n                      }\n                    } else {\n                    if (!controller.registerScheme(proposal.scheme, proposal.parametersHash, bytes4(3),_avatar)) {\n                        revert();\n                    }\n                }\n                }\n          // Remove a scheme:\n            if ( proposal.proposalType == 2 ) {\n                if (!controller.unregisterScheme(proposal.scheme,_avatar)) {\n                    revert();\n                  }\n                }\n          }\n        ProposalExecuted(_avatar, _proposalId);\n        return true;\n    }\n\n    /**\n    * @dev hash the parameters, save them if necessary, and return the hash value\n    */\n    function setParameters(\n        bytes32 _voteRegisterParams,\n        bytes32 _voteRemoveParams,\n        IntVoteInterface _intVote\n    ) public returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersHash(_voteRegisterParams, _voteRemoveParams, _intVote);\n        parameters[paramsHash].voteRegisterParams = _voteRegisterParams;\n        parameters[paramsHash].voteRemoveParams = _voteRemoveParams;\n        parameters[paramsHash].intVote = _intVote;\n        return paramsHash;\n    }\n\n    function getParametersHash(\n        bytes32 _voteRegisterParams,\n        bytes32 _voteRemoveParams,\n        IntVoteInterface _intVote\n    ) public pure returns(bytes32)\n    {\n        return keccak256(_voteRegisterParams, _voteRemoveParams, _intVote);\n    }\n\n    /**\n    * @dev create a proposal to register a scheme\n    * @param _avatar the address of the organization the scheme will be registered for\n    * @param _scheme the address of the scheme to be registered\n    * @param _parametersHash a hash of the configuration of the _scheme\n    * @param _isRegistering a boolean represent if the scheme is a registering scheme\n    *      that can register other schemes\n    * @return a proposal Id\n    * @dev NB: not only proposes the vote, but also votes for it\n    */\n    function proposeScheme(\n        Avatar _avatar,\n        address _scheme,\n        bytes32 _parametersHash,\n        bool _isRegistering\n    )\n    public\n    returns(bytes32)\n    {\n        // propose\n        Parameters memory controllerParams = parameters[getParametersFromController(_avatar)];\n\n        bytes32 proposalId = controllerParams.intVote.propose(2, controllerParams.voteRegisterParams, _avatar, ExecutableInterface(this),msg.sender);\n\n        SchemeProposal memory proposal = SchemeProposal({\n            scheme: _scheme,\n            parametersHash: _parametersHash,\n            proposalType: 1,\n            isRegistering: _isRegistering\n        });\n        NewSchemeProposal(\n            _avatar,\n            proposalId,\n            controllerParams.intVote,\n            _scheme, _parametersHash,\n            _isRegistering\n        );\n        organizationsProposals[_avatar][proposalId] = proposal;\n\n        // vote for this proposal\n        controllerParams.intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\n        return proposalId;\n    }\n\n    /**\n    * @dev propose to remove a scheme for a controller\n    * @param _avatar the address of the controller from which we want to remove a scheme\n    * @param _scheme the address of the scheme we want to remove\n    *\n    * NB: not only registers the proposal, but also votes for it\n    */\n    function proposeToRemoveScheme(Avatar _avatar, address _scheme)\n    public\n    returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersFromController(_avatar);\n        Parameters memory params = parameters[paramsHash];\n\n        IntVoteInterface intVote = params.intVote;\n        bytes32 proposalId = intVote.propose(2, params.voteRemoveParams, _avatar, ExecutableInterface(this),msg.sender);\n\n        organizationsProposals[_avatar][proposalId].proposalType = 2;\n        organizationsProposals[_avatar][proposalId].scheme = _scheme;\n        RemoveSchemeProposal(_avatar, proposalId, intVote, _scheme);\n        // vote for this proposal\n        intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\n        return proposalId;\n    }\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/SchemeRegistrar.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/SchemeRegistrar.sol",
      "exportedSymbols": {
        "SchemeRegistrar": [
          9053
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 8637,
        "name": "PragmaDirective",
        "src": "0:24:25"
      },
      {
        "attributes": {
          "SourceUnit": 3460,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "../VotingMachines/IntVoteInterface.sol",
          "scope": 9054,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8638,
        "name": "ImportDirective",
        "src": "26:48:25"
      },
      {
        "attributes": {
          "SourceUnit": 9586,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 9054,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8639,
        "name": "ImportDirective",
        "src": "75:31:25"
      },
      {
        "attributes": {
          "contractDependencies": [
            9585,
            9604,
            11445
          ],
          "contractKind": "contract",
          "documentation": "@title A registrar for Schemes for organizations\n@dev The SchemeRegistrar is used for registering and unregistering schemes at organizations",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            9053,
            9585,
            9604,
            11445
          ],
          "name": "SchemeRegistrar",
          "scope": 9054
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 9585,
                  "type": "contract UniversalScheme"
                },
                "id": 8640,
                "name": "UserDefinedTypeName",
                "src": "293:15:25"
              }
            ],
            "id": 8641,
            "name": "InheritanceSpecifier",
            "src": "293:15:25"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewSchemeProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 8655,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8642,
                        "name": "ElementaryTypeName",
                        "src": "348:7:25"
                      }
                    ],
                    "id": 8643,
                    "name": "VariableDeclaration",
                    "src": "348:23:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 8655,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8644,
                        "name": "ElementaryTypeName",
                        "src": "381:7:25"
                      }
                    ],
                    "id": 8645,
                    "name": "VariableDeclaration",
                    "src": "381:27:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 8655,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8646,
                        "name": "ElementaryTypeName",
                        "src": "418:7:25"
                      }
                    ],
                    "id": 8647,
                    "name": "VariableDeclaration",
                    "src": "418:33:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_scheme",
                      "scope": 8655,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8648,
                        "name": "ElementaryTypeName",
                        "src": "461:7:25"
                      }
                    ],
                    "id": 8649,
                    "name": "VariableDeclaration",
                    "src": "461:15:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_parametersHash",
                      "scope": 8655,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8650,
                        "name": "ElementaryTypeName",
                        "src": "486:7:25"
                      }
                    ],
                    "id": 8651,
                    "name": "VariableDeclaration",
                    "src": "486:23:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_isRegistering",
                      "scope": 8655,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 8652,
                        "name": "ElementaryTypeName",
                        "src": "519:4:25"
                      }
                    ],
                    "id": 8653,
                    "name": "VariableDeclaration",
                    "src": "519:19:25"
                  }
                ],
                "id": 8654,
                "name": "ParameterList",
                "src": "338:206:25"
              }
            ],
            "id": 8655,
            "name": "EventDefinition",
            "src": "315:230:25"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "RemoveSchemeProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 8665,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8656,
                        "name": "ElementaryTypeName",
                        "src": "577:7:25"
                      }
                    ],
                    "id": 8657,
                    "name": "VariableDeclaration",
                    "src": "577:23:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 8665,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8658,
                        "name": "ElementaryTypeName",
                        "src": "610:7:25"
                      }
                    ],
                    "id": 8659,
                    "name": "VariableDeclaration",
                    "src": "610:27:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 8665,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8660,
                        "name": "ElementaryTypeName",
                        "src": "647:7:25"
                      }
                    ],
                    "id": 8661,
                    "name": "VariableDeclaration",
                    "src": "647:33:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_scheme",
                      "scope": 8665,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8662,
                        "name": "ElementaryTypeName",
                        "src": "690:7:25"
                      }
                    ],
                    "id": 8663,
                    "name": "VariableDeclaration",
                    "src": "690:15:25"
                  }
                ],
                "id": 8664,
                "name": "ParameterList",
                "src": "576:135:25"
              }
            ],
            "id": 8665,
            "name": "EventDefinition",
            "src": "550:162:25"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ProposalExecuted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 8671,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8666,
                        "name": "ElementaryTypeName",
                        "src": "740:7:25"
                      }
                    ],
                    "id": 8667,
                    "name": "VariableDeclaration",
                    "src": "740:23:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 8671,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8668,
                        "name": "ElementaryTypeName",
                        "src": "765:7:25"
                      }
                    ],
                    "id": 8669,
                    "name": "VariableDeclaration",
                    "src": "765:27:25"
                  }
                ],
                "id": 8670,
                "name": "ParameterList",
                "src": "739:54:25"
              }
            ],
            "id": 8671,
            "name": "EventDefinition",
            "src": "717:77:25"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ProposalDeleted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 8677,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8672,
                        "name": "ElementaryTypeName",
                        "src": "821:7:25"
                      }
                    ],
                    "id": 8673,
                    "name": "VariableDeclaration",
                    "src": "821:23:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 8677,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8674,
                        "name": "ElementaryTypeName",
                        "src": "846:7:25"
                      }
                    ],
                    "id": 8675,
                    "name": "VariableDeclaration",
                    "src": "846:27:25"
                  }
                ],
                "id": 8676,
                "name": "ParameterList",
                "src": "820:54:25"
              }
            ],
            "id": 8677,
            "name": "EventDefinition",
            "src": "799:76:25"
          },
          {
            "attributes": {
              "canonicalName": "SchemeRegistrar.SchemeProposal",
              "name": "SchemeProposal",
              "scope": 9053,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "scheme",
                  "scope": 8686,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 8678,
                    "name": "ElementaryTypeName",
                    "src": "1006:7:25"
                  }
                ],
                "id": 8679,
                "name": "VariableDeclaration",
                "src": "1006:14:25"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "parametersHash",
                  "scope": 8686,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 8680,
                    "name": "ElementaryTypeName",
                    "src": "1033:7:25"
                  }
                ],
                "id": 8681,
                "name": "VariableDeclaration",
                "src": "1033:22:25"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "proposalType",
                  "scope": 8686,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 8682,
                    "name": "ElementaryTypeName",
                    "src": "1065:4:25"
                  }
                ],
                "id": 8683,
                "name": "VariableDeclaration",
                "src": "1065:17:25"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "isRegistering",
                  "scope": 8686,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 8684,
                    "name": "ElementaryTypeName",
                    "src": "1132:4:25"
                  }
                ],
                "id": 8685,
                "name": "VariableDeclaration",
                "src": "1132:18:25"
              }
            ],
            "id": 8686,
            "name": "StructDefinition",
            "src": "974:183:25"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsProposals",
              "scope": 9053,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 8687,
                    "name": "ElementaryTypeName",
                    "src": "1266:7:25"
                  },
                  {
                    "attributes": {
                      "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8688,
                        "name": "ElementaryTypeName",
                        "src": "1283:7:25"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "SchemeProposal",
                          "referencedDeclaration": 8686,
                          "type": "struct SchemeRegistrar.SchemeProposal storage pointer"
                        },
                        "id": 8689,
                        "name": "UserDefinedTypeName",
                        "src": "1292:14:25"
                      }
                    ],
                    "id": 8690,
                    "name": "Mapping",
                    "src": "1275:32:25"
                  }
                ],
                "id": 8691,
                "name": "Mapping",
                "src": "1258:50:25"
              }
            ],
            "id": 8692,
            "name": "VariableDeclaration",
            "src": "1258:80:25"
          },
          {
            "attributes": {
              "canonicalName": "SchemeRegistrar.Parameters",
              "name": "Parameters",
              "scope": 9053,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "voteRegisterParams",
                  "scope": 8699,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 8693,
                    "name": "ElementaryTypeName",
                    "src": "1476:7:25"
                  }
                ],
                "id": 8694,
                "name": "VariableDeclaration",
                "src": "1476:26:25"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voteRemoveParams",
                  "scope": 8699,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 8695,
                    "name": "ElementaryTypeName",
                    "src": "1512:7:25"
                  }
                ],
                "id": 8696,
                "name": "VariableDeclaration",
                "src": "1512:24:25"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "intVote",
                  "scope": 8699,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 3459,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 8697,
                    "name": "UserDefinedTypeName",
                    "src": "1546:16:25"
                  }
                ],
                "id": 8698,
                "name": "VariableDeclaration",
                "src": "1546:24:25"
              }
            ],
            "id": 8699,
            "name": "StructDefinition",
            "src": "1448:129:25"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 9053,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 8700,
                    "name": "ElementaryTypeName",
                    "src": "1590:7:25"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 8699,
                      "type": "struct SchemeRegistrar.Parameters storage pointer"
                    },
                    "id": 8701,
                    "name": "UserDefinedTypeName",
                    "src": "1599:10:25"
                  }
                ],
                "id": 8702,
                "name": "Mapping",
                "src": "1582:28:25"
              }
            ],
            "id": 8703,
            "name": "VariableDeclaration",
            "src": "1582:46:25"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "SchemeRegistrar",
              "payable": false,
              "scope": 9053,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8704,
                "name": "ParameterList",
                "src": "1701:2:25"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8705,
                "name": "ParameterList",
                "src": "1711:0:25"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 8706,
                "name": "Block",
                "src": "1711:2:25"
              }
            ],
            "id": 8707,
            "name": "FunctionDefinition",
            "src": "1677:36:25"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "execute",
              "payable": false,
              "scope": 9053,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 8835,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8708,
                        "name": "ElementaryTypeName",
                        "src": "2130:7:25"
                      }
                    ],
                    "id": 8709,
                    "name": "VariableDeclaration",
                    "src": "2130:19:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8835,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8710,
                        "name": "ElementaryTypeName",
                        "src": "2151:7:25"
                      }
                    ],
                    "id": 8711,
                    "name": "VariableDeclaration",
                    "src": "2151:15:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_param",
                      "scope": 8835,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 8712,
                        "name": "ElementaryTypeName",
                        "src": "2168:3:25"
                      }
                    ],
                    "id": 8713,
                    "name": "VariableDeclaration",
                    "src": "2168:10:25"
                  }
                ],
                "id": 8714,
                "name": "ParameterList",
                "src": "2129:50:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8835,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 8715,
                        "name": "ElementaryTypeName",
                        "src": "2197:4:25"
                      }
                    ],
                    "id": 8716,
                    "name": "VariableDeclaration",
                    "src": "2197:4:25"
                  }
                ],
                "id": 8717,
                "name": "ParameterList",
                "src": "2196:6:25"
              },
              {
                "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": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 8718,
                            "name": "Identifier",
                            "src": "2273:7:25"
                          },
                          {
                            "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": 8698,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct SchemeRegistrar.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8703,
                                          "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 8719,
                                        "name": "Identifier",
                                        "src": "2281:10:25"
                                      },
                                      {
                                        "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_$3873",
                                                  "typeString": "contract Avatar"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                9584
                                              ],
                                              "referencedDeclaration": 9584,
                                              "type": "function (contract Avatar) view returns (bytes32)",
                                              "value": "getParametersFromController"
                                            },
                                            "id": 8720,
                                            "name": "Identifier",
                                            "src": "2292:27:25"
                                          },
                                          {
                                            "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": 3873,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 8721,
                                                "name": "Identifier",
                                                "src": "2320:6:25"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 8711,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 8722,
                                                "name": "Identifier",
                                                "src": "2327:7:25"
                                              }
                                            ],
                                            "id": 8723,
                                            "name": "FunctionCall",
                                            "src": "2320:15:25"
                                          }
                                        ],
                                        "id": 8724,
                                        "name": "FunctionCall",
                                        "src": "2292:44:25"
                                      }
                                    ],
                                    "id": 8725,
                                    "name": "IndexAccess",
                                    "src": "2281:56:25"
                                  }
                                ],
                                "id": 8726,
                                "name": "MemberAccess",
                                "src": "2281:64:25"
                              },
                              {
                                "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": 12011,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 8727,
                                    "name": "Identifier",
                                    "src": "2349:3:25"
                                  }
                                ],
                                "id": 8728,
                                "name": "MemberAccess",
                                "src": "2349:10:25"
                              }
                            ],
                            "id": 8729,
                            "name": "BinaryOperation",
                            "src": "2281:78:25"
                          }
                        ],
                        "id": 8730,
                        "name": "FunctionCall",
                        "src": "2273:87:25"
                      }
                    ],
                    "id": 8731,
                    "name": "ExpressionStatement",
                    "src": "2273:87:25"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8733
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 8835,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "SchemeProposal",
                              "referencedDeclaration": 8686,
                              "type": "struct SchemeRegistrar.SchemeProposal storage pointer"
                            },
                            "id": 8732,
                            "name": "UserDefinedTypeName",
                            "src": "2371:14:25"
                          }
                        ],
                        "id": 8733,
                        "name": "VariableDeclaration",
                        "src": "2371:30:25"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8692,
                                  "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                  "value": "organizationsProposals"
                                },
                                "id": 8734,
                                "name": "Identifier",
                                "src": "2404:22:25"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8711,
                                  "type": "address",
                                  "value": "_avatar"
                                },
                                "id": 8735,
                                "name": "Identifier",
                                "src": "2427:7:25"
                              }
                            ],
                            "id": 8736,
                            "name": "IndexAccess",
                            "src": "2404:31:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8709,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 8737,
                            "name": "Identifier",
                            "src": "2436:11:25"
                          }
                        ],
                        "id": 8738,
                        "name": "IndexAccess",
                        "src": "2404:44:25"
                      }
                    ],
                    "id": 8739,
                    "name": "VariableDeclarationStatement",
                    "src": "2371:77:25"
                  },
                  {
                    "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 SchemeRegistrar.SchemeProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8692,
                                      "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 8740,
                                    "name": "Identifier",
                                    "src": "2465:22:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8711,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 8741,
                                    "name": "Identifier",
                                    "src": "2488:7:25"
                                  }
                                ],
                                "id": 8742,
                                "name": "IndexAccess",
                                "src": "2465:31:25"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8709,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 8743,
                                "name": "Identifier",
                                "src": "2497:11:25"
                              }
                            ],
                            "id": 8744,
                            "name": "IndexAccess",
                            "src": "2465:44:25"
                          }
                        ],
                        "id": 8745,
                        "name": "UnaryOperation",
                        "src": "2458:51:25"
                      }
                    ],
                    "id": 8746,
                    "name": "ExpressionStatement",
                    "src": "2458:51:25"
                  },
                  {
                    "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": 8713,
                              "type": "int256",
                              "value": "_param"
                            },
                            "id": 8747,
                            "name": "Identifier",
                            "src": "2523:6:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 8748,
                            "name": "Literal",
                            "src": "2533:1:25"
                          }
                        ],
                        "id": 8749,
                        "name": "BinaryOperation",
                        "src": "2523:11:25"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                8751
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "controller",
                                  "scope": 8835,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract ControllerInterface",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ControllerInterface",
                                      "referencedDeclaration": 5172,
                                      "type": "contract ControllerInterface"
                                    },
                                    "id": 8750,
                                    "name": "UserDefinedTypeName",
                                    "src": "2602:19:25"
                                  }
                                ],
                                "id": 8751,
                                "name": "VariableDeclaration",
                                "src": "2602:30:25"
                              },
                              {
                                "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": 5172,
                                      "type": "type(contract ControllerInterface)",
                                      "value": "ControllerInterface"
                                    },
                                    "id": 8752,
                                    "name": "Identifier",
                                    "src": "2635:19:25"
                                  },
                                  {
                                    "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": 11393,
                                          "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": 3873,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 8753,
                                                "name": "Identifier",
                                                "src": "2655:6:25"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 8711,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 8754,
                                                "name": "Identifier",
                                                "src": "2662:7:25"
                                              }
                                            ],
                                            "id": 8755,
                                            "name": "FunctionCall",
                                            "src": "2655:15:25"
                                          }
                                        ],
                                        "id": 8756,
                                        "name": "MemberAccess",
                                        "src": "2655:21:25"
                                      }
                                    ],
                                    "id": 8757,
                                    "name": "FunctionCall",
                                    "src": "2655:23:25"
                                  }
                                ],
                                "id": 8758,
                                "name": "FunctionCall",
                                "src": "2635:44:25"
                              }
                            ],
                            "id": 8759,
                            "name": "VariableDeclarationStatement",
                            "src": "2602:77:25"
                          },
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "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": "proposalType",
                                      "referencedDeclaration": 8683,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8733,
                                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 8760,
                                        "name": "Identifier",
                                        "src": "2725:8:25"
                                      }
                                    ],
                                    "id": 8761,
                                    "name": "MemberAccess",
                                    "src": "2725:21:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "31",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 1",
                                      "value": "1"
                                    },
                                    "id": 8762,
                                    "name": "Literal",
                                    "src": "2750:1:25"
                                  }
                                ],
                                "id": 8763,
                                "name": "BinaryOperation",
                                "src": "2725:26:25"
                              },
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          },
                                          "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": "isRegistering",
                                              "referencedDeclaration": 8685,
                                              "type": "bool"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 8733,
                                                  "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                  "value": "proposal"
                                                },
                                                "id": 8764,
                                                "name": "Identifier",
                                                "src": "2775:8:25"
                                              }
                                            ],
                                            "id": 8765,
                                            "name": "MemberAccess",
                                            "src": "2775:22:25"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "66616c7365",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "bool",
                                              "type": "bool",
                                              "value": "false"
                                            },
                                            "id": 8766,
                                            "name": "Literal",
                                            "src": "2801:5:25"
                                          }
                                        ],
                                        "id": 8767,
                                        "name": "BinaryOperation",
                                        "src": "2775:31:25"
                                      },
                                      {
                                        "children": [
                                          {
                                            "attributes": {
                                              "falseBody": null
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "operator": "!",
                                                  "prefix": true,
                                                  "type": "bool"
                                                },
                                                "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_address",
                                                              "typeString": "address"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes32",
                                                              "typeString": "bytes32"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_address",
                                                              "typeString": "address"
                                                            }
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "registerScheme",
                                                          "referencedDeclaration": 5008,
                                                          "type": "function (address,bytes32,bytes4,address) external returns (bool)"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 8751,
                                                              "type": "contract ControllerInterface",
                                                              "value": "controller"
                                                            },
                                                            "id": 8768,
                                                            "name": "Identifier",
                                                            "src": "2835:10:25"
                                                          }
                                                        ],
                                                        "id": 8769,
                                                        "name": "MemberAccess",
                                                        "src": "2835:25:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "scheme",
                                                          "referencedDeclaration": 8679,
                                                          "type": "address"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 8733,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 8770,
                                                            "name": "Identifier",
                                                            "src": "2861:8:25"
                                                          }
                                                        ],
                                                        "id": 8771,
                                                        "name": "MemberAccess",
                                                        "src": "2861:15:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "parametersHash",
                                                          "referencedDeclaration": 8681,
                                                          "type": "bytes32"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 8733,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 8772,
                                                            "name": "Identifier",
                                                            "src": "2878:8:25"
                                                          }
                                                        ],
                                                        "id": 8773,
                                                        "name": "MemberAccess",
                                                        "src": "2878:23:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "bytes4",
                                                          "type_conversion": true
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                {
                                                                  "typeIdentifier": "t_rational_1_by_1",
                                                                  "typeString": "int_const 1"
                                                                }
                                                              ],
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "type": "type(bytes4)",
                                                              "value": "bytes4"
                                                            },
                                                            "id": 8774,
                                                            "name": "ElementaryTypeNameExpression",
                                                            "src": "2903:6:25"
                                                          },
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "hexvalue": "31",
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "subdenomination": null,
                                                              "token": "number",
                                                              "type": "int_const 1",
                                                              "value": "1"
                                                            },
                                                            "id": 8775,
                                                            "name": "Literal",
                                                            "src": "2910:1:25"
                                                          }
                                                        ],
                                                        "id": 8776,
                                                        "name": "FunctionCall",
                                                        "src": "2903:9:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 8711,
                                                          "type": "address",
                                                          "value": "_avatar"
                                                        },
                                                        "id": 8777,
                                                        "name": "Identifier",
                                                        "src": "2913:7:25"
                                                      }
                                                    ],
                                                    "id": 8778,
                                                    "name": "FunctionCall",
                                                    "src": "2835:86:25"
                                                  }
                                                ],
                                                "id": 8779,
                                                "name": "UnaryOperation",
                                                "src": "2834:87:25"
                                              },
                                              {
                                                "children": [
                                                  {
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "arguments": [
                                                            null
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "tuple()",
                                                          "type_conversion": false
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                null
                                                              ],
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 12015,
                                                              "type": "function () pure",
                                                              "value": "revert"
                                                            },
                                                            "id": 8780,
                                                            "name": "Identifier",
                                                            "src": "2949:6:25"
                                                          }
                                                        ],
                                                        "id": 8781,
                                                        "name": "FunctionCall",
                                                        "src": "2949:8:25"
                                                      }
                                                    ],
                                                    "id": 8782,
                                                    "name": "ExpressionStatement",
                                                    "src": "2949:8:25"
                                                  }
                                                ],
                                                "id": 8783,
                                                "name": "Block",
                                                "src": "2923:59:25"
                                              }
                                            ],
                                            "id": 8784,
                                            "name": "IfStatement",
                                            "src": "2830:152:25"
                                          }
                                        ],
                                        "id": 8785,
                                        "name": "Block",
                                        "src": "2808:196:25"
                                      },
                                      {
                                        "children": [
                                          {
                                            "attributes": {
                                              "falseBody": null
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "operator": "!",
                                                  "prefix": true,
                                                  "type": "bool"
                                                },
                                                "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_address",
                                                              "typeString": "address"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes32",
                                                              "typeString": "bytes32"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_address",
                                                              "typeString": "address"
                                                            }
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "registerScheme",
                                                          "referencedDeclaration": 5008,
                                                          "type": "function (address,bytes32,bytes4,address) external returns (bool)"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 8751,
                                                              "type": "contract ControllerInterface",
                                                              "value": "controller"
                                                            },
                                                            "id": 8786,
                                                            "name": "Identifier",
                                                            "src": "3037:10:25"
                                                          }
                                                        ],
                                                        "id": 8787,
                                                        "name": "MemberAccess",
                                                        "src": "3037:25:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "scheme",
                                                          "referencedDeclaration": 8679,
                                                          "type": "address"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 8733,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 8788,
                                                            "name": "Identifier",
                                                            "src": "3063:8:25"
                                                          }
                                                        ],
                                                        "id": 8789,
                                                        "name": "MemberAccess",
                                                        "src": "3063:15:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "parametersHash",
                                                          "referencedDeclaration": 8681,
                                                          "type": "bytes32"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 8733,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 8790,
                                                            "name": "Identifier",
                                                            "src": "3080:8:25"
                                                          }
                                                        ],
                                                        "id": 8791,
                                                        "name": "MemberAccess",
                                                        "src": "3080:23:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "bytes4",
                                                          "type_conversion": true
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                {
                                                                  "typeIdentifier": "t_rational_3_by_1",
                                                                  "typeString": "int_const 3"
                                                                }
                                                              ],
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "type": "type(bytes4)",
                                                              "value": "bytes4"
                                                            },
                                                            "id": 8792,
                                                            "name": "ElementaryTypeNameExpression",
                                                            "src": "3105:6:25"
                                                          },
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "hexvalue": "33",
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "subdenomination": null,
                                                              "token": "number",
                                                              "type": "int_const 3",
                                                              "value": "3"
                                                            },
                                                            "id": 8793,
                                                            "name": "Literal",
                                                            "src": "3112:1:25"
                                                          }
                                                        ],
                                                        "id": 8794,
                                                        "name": "FunctionCall",
                                                        "src": "3105:9:25"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 8711,
                                                          "type": "address",
                                                          "value": "_avatar"
                                                        },
                                                        "id": 8795,
                                                        "name": "Identifier",
                                                        "src": "3115:7:25"
                                                      }
                                                    ],
                                                    "id": 8796,
                                                    "name": "FunctionCall",
                                                    "src": "3037:86:25"
                                                  }
                                                ],
                                                "id": 8797,
                                                "name": "UnaryOperation",
                                                "src": "3036:87:25"
                                              },
                                              {
                                                "children": [
                                                  {
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "arguments": [
                                                            null
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "tuple()",
                                                          "type_conversion": false
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                null
                                                              ],
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 12015,
                                                              "type": "function () pure",
                                                              "value": "revert"
                                                            },
                                                            "id": 8798,
                                                            "name": "Identifier",
                                                            "src": "3151:6:25"
                                                          }
                                                        ],
                                                        "id": 8799,
                                                        "name": "FunctionCall",
                                                        "src": "3151:8:25"
                                                      }
                                                    ],
                                                    "id": 8800,
                                                    "name": "ExpressionStatement",
                                                    "src": "3151:8:25"
                                                  }
                                                ],
                                                "id": 8801,
                                                "name": "Block",
                                                "src": "3125:57:25"
                                              }
                                            ],
                                            "id": 8802,
                                            "name": "IfStatement",
                                            "src": "3032:150:25"
                                          }
                                        ],
                                        "id": 8803,
                                        "name": "Block",
                                        "src": "3010:190:25"
                                      }
                                    ],
                                    "id": 8804,
                                    "name": "IfStatement",
                                    "src": "2771:429:25"
                                  }
                                ],
                                "id": 8805,
                                "name": "Block",
                                "src": "2753:465:25"
                              }
                            ],
                            "id": 8806,
                            "name": "IfStatement",
                            "src": "2721:497:25"
                          },
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "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": "proposalType",
                                      "referencedDeclaration": 8683,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8733,
                                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 8807,
                                        "name": "Identifier",
                                        "src": "3266:8:25"
                                      }
                                    ],
                                    "id": 8808,
                                    "name": "MemberAccess",
                                    "src": "3266:21:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "32",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 2",
                                      "value": "2"
                                    },
                                    "id": 8809,
                                    "name": "Literal",
                                    "src": "3291:1:25"
                                  }
                                ],
                                "id": 8810,
                                "name": "BinaryOperation",
                                "src": "3266:26:25"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "falseBody": null
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "!",
                                          "prefix": true,
                                          "type": "bool"
                                        },
                                        "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_address",
                                                      "typeString": "address"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "unregisterScheme",
                                                  "referencedDeclaration": 5017,
                                                  "type": "function (address,address) external returns (bool)"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 8751,
                                                      "type": "contract ControllerInterface",
                                                      "value": "controller"
                                                    },
                                                    "id": 8811,
                                                    "name": "Identifier",
                                                    "src": "3318:10:25"
                                                  }
                                                ],
                                                "id": 8812,
                                                "name": "MemberAccess",
                                                "src": "3318:27:25"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "scheme",
                                                  "referencedDeclaration": 8679,
                                                  "type": "address"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 8733,
                                                      "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 8813,
                                                    "name": "Identifier",
                                                    "src": "3346:8:25"
                                                  }
                                                ],
                                                "id": 8814,
                                                "name": "MemberAccess",
                                                "src": "3346:15:25"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 8711,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 8815,
                                                "name": "Identifier",
                                                "src": "3362:7:25"
                                              }
                                            ],
                                            "id": 8816,
                                            "name": "FunctionCall",
                                            "src": "3318:52:25"
                                          }
                                        ],
                                        "id": 8817,
                                        "name": "UnaryOperation",
                                        "src": "3317:53:25"
                                      },
                                      {
                                        "children": [
                                          {
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "arguments": [
                                                    null
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "isStructConstructorCall": false,
                                                  "lValueRequested": false,
                                                  "names": [
                                                    null
                                                  ],
                                                  "type": "tuple()",
                                                  "type_conversion": false
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": [
                                                        null
                                                      ],
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 12015,
                                                      "type": "function () pure",
                                                      "value": "revert"
                                                    },
                                                    "id": 8818,
                                                    "name": "Identifier",
                                                    "src": "3394:6:25"
                                                  }
                                                ],
                                                "id": 8819,
                                                "name": "FunctionCall",
                                                "src": "3394:8:25"
                                              }
                                            ],
                                            "id": 8820,
                                            "name": "ExpressionStatement",
                                            "src": "3394:8:25"
                                          }
                                        ],
                                        "id": 8821,
                                        "name": "Block",
                                        "src": "3372:51:25"
                                      }
                                    ],
                                    "id": 8822,
                                    "name": "IfStatement",
                                    "src": "3313:110:25"
                                  }
                                ],
                                "id": 8823,
                                "name": "Block",
                                "src": "3295:146:25"
                              }
                            ],
                            "id": 8824,
                            "name": "IfStatement",
                            "src": "3261:180:25"
                          }
                        ],
                        "id": 8825,
                        "name": "Block",
                        "src": "2536:917:25"
                      }
                    ],
                    "id": 8826,
                    "name": "IfStatement",
                    "src": "2519:934:25"
                  },
                  {
                    "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": 8671,
                              "type": "function (address,bytes32)",
                              "value": "ProposalExecuted"
                            },
                            "id": 8827,
                            "name": "Identifier",
                            "src": "3462:16:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8711,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 8828,
                            "name": "Identifier",
                            "src": "3479:7:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8709,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 8829,
                            "name": "Identifier",
                            "src": "3488:11:25"
                          }
                        ],
                        "id": 8830,
                        "name": "FunctionCall",
                        "src": "3462:38:25"
                      }
                    ],
                    "id": 8831,
                    "name": "ExpressionStatement",
                    "src": "3462:38:25"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8717
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 8832,
                        "name": "Literal",
                        "src": "3517:4:25"
                      }
                    ],
                    "id": 8833,
                    "name": "Return",
                    "src": "3510:11:25"
                  }
                ],
                "id": 8834,
                "name": "Block",
                "src": "2203:1325:25"
              }
            ],
            "id": 8835,
            "name": "FunctionDefinition",
            "src": "2113:1415:25"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 9053,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRegisterParams",
                      "scope": 8878,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8836,
                        "name": "ElementaryTypeName",
                        "src": "3663:7:25"
                      }
                    ],
                    "id": 8837,
                    "name": "VariableDeclaration",
                    "src": "3663:27:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRemoveParams",
                      "scope": 8878,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8838,
                        "name": "ElementaryTypeName",
                        "src": "3700:7:25"
                      }
                    ],
                    "id": 8839,
                    "name": "VariableDeclaration",
                    "src": "3700:25:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 8878,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 3459,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 8840,
                        "name": "UserDefinedTypeName",
                        "src": "3735:16:25"
                      }
                    ],
                    "id": 8841,
                    "name": "VariableDeclaration",
                    "src": "3735:25:25"
                  }
                ],
                "id": 8842,
                "name": "ParameterList",
                "src": "3653:113:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8878,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8843,
                        "name": "ElementaryTypeName",
                        "src": "3782:7:25"
                      }
                    ],
                    "id": 8844,
                    "name": "VariableDeclaration",
                    "src": "3782:7:25"
                  }
                ],
                "id": 8845,
                "name": "ParameterList",
                "src": "3781:9:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8847
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 8878,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 8846,
                            "name": "ElementaryTypeName",
                            "src": "3805:7:25"
                          }
                        ],
                        "id": 8847,
                        "name": "VariableDeclaration",
                        "src": "3805:18:25"
                      },
                      {
                        "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$3459",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8896,
                              "type": "function (bytes32,bytes32,contract IntVoteInterface) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 8848,
                            "name": "Identifier",
                            "src": "3826:17:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8837,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 8849,
                            "name": "Identifier",
                            "src": "3844:19:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8839,
                              "type": "bytes32",
                              "value": "_voteRemoveParams"
                            },
                            "id": 8850,
                            "name": "Identifier",
                            "src": "3865:17:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8841,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 8851,
                            "name": "Identifier",
                            "src": "3884:8:25"
                          }
                        ],
                        "id": 8852,
                        "name": "FunctionCall",
                        "src": "3826:67:25"
                      }
                    ],
                    "id": 8853,
                    "name": "VariableDeclarationStatement",
                    "src": "3805:88:25"
                  },
                  {
                    "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": "voteRegisterParams",
                              "referencedDeclaration": 8694,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8703,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 8854,
                                    "name": "Identifier",
                                    "src": "3903:10:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8847,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 8855,
                                    "name": "Identifier",
                                    "src": "3914:10:25"
                                  }
                                ],
                                "id": 8856,
                                "name": "IndexAccess",
                                "src": "3903:22:25"
                              }
                            ],
                            "id": 8857,
                            "name": "MemberAccess",
                            "src": "3903:41:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8837,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 8858,
                            "name": "Identifier",
                            "src": "3947:19:25"
                          }
                        ],
                        "id": 8859,
                        "name": "Assignment",
                        "src": "3903:63:25"
                      }
                    ],
                    "id": 8860,
                    "name": "ExpressionStatement",
                    "src": "3903:63:25"
                  },
                  {
                    "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": "voteRemoveParams",
                              "referencedDeclaration": 8696,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8703,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 8861,
                                    "name": "Identifier",
                                    "src": "3976:10:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8847,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 8862,
                                    "name": "Identifier",
                                    "src": "3987:10:25"
                                  }
                                ],
                                "id": 8863,
                                "name": "IndexAccess",
                                "src": "3976:22:25"
                              }
                            ],
                            "id": 8864,
                            "name": "MemberAccess",
                            "src": "3976:39:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8839,
                              "type": "bytes32",
                              "value": "_voteRemoveParams"
                            },
                            "id": 8865,
                            "name": "Identifier",
                            "src": "4018:17:25"
                          }
                        ],
                        "id": 8866,
                        "name": "Assignment",
                        "src": "3976:59:25"
                      }
                    ],
                    "id": 8867,
                    "name": "ExpressionStatement",
                    "src": "3976:59:25"
                  },
                  {
                    "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": 8698,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8703,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 8868,
                                    "name": "Identifier",
                                    "src": "4045:10:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8847,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 8869,
                                    "name": "Identifier",
                                    "src": "4056:10:25"
                                  }
                                ],
                                "id": 8870,
                                "name": "IndexAccess",
                                "src": "4045:22:25"
                              }
                            ],
                            "id": 8871,
                            "name": "MemberAccess",
                            "src": "4045:30:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8841,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 8872,
                            "name": "Identifier",
                            "src": "4078:8:25"
                          }
                        ],
                        "id": 8873,
                        "name": "Assignment",
                        "src": "4045:41:25"
                      }
                    ],
                    "id": 8874,
                    "name": "ExpressionStatement",
                    "src": "4045:41:25"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8845
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 8847,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 8875,
                        "name": "Identifier",
                        "src": "4103:10:25"
                      }
                    ],
                    "id": 8876,
                    "name": "Return",
                    "src": "4096:17:25"
                  }
                ],
                "id": 8877,
                "name": "Block",
                "src": "3795:325:25"
              }
            ],
            "id": 8878,
            "name": "FunctionDefinition",
            "src": "3631:489:25"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 9053,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRegisterParams",
                      "scope": 8896,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8879,
                        "name": "ElementaryTypeName",
                        "src": "4162:7:25"
                      }
                    ],
                    "id": 8880,
                    "name": "VariableDeclaration",
                    "src": "4162:27:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRemoveParams",
                      "scope": 8896,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8881,
                        "name": "ElementaryTypeName",
                        "src": "4199:7:25"
                      }
                    ],
                    "id": 8882,
                    "name": "VariableDeclaration",
                    "src": "4199:25:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 8896,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 3459,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 8883,
                        "name": "UserDefinedTypeName",
                        "src": "4234:16:25"
                      }
                    ],
                    "id": 8884,
                    "name": "VariableDeclaration",
                    "src": "4234:25:25"
                  }
                ],
                "id": 8885,
                "name": "ParameterList",
                "src": "4152:113:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8896,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8886,
                        "name": "ElementaryTypeName",
                        "src": "4286:7:25"
                      }
                    ],
                    "id": 8887,
                    "name": "VariableDeclaration",
                    "src": "4286:7:25"
                  }
                ],
                "id": 8888,
                "name": "ParameterList",
                "src": "4285:9:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 8888
                    },
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$3459",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12005,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 8889,
                            "name": "Identifier",
                            "src": "4316:9:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8880,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 8890,
                            "name": "Identifier",
                            "src": "4326:19:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8882,
                              "type": "bytes32",
                              "value": "_voteRemoveParams"
                            },
                            "id": 8891,
                            "name": "Identifier",
                            "src": "4347:17:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8884,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 8892,
                            "name": "Identifier",
                            "src": "4366:8:25"
                          }
                        ],
                        "id": 8893,
                        "name": "FunctionCall",
                        "src": "4316:59:25"
                      }
                    ],
                    "id": 8894,
                    "name": "Return",
                    "src": "4309:66:25"
                  }
                ],
                "id": 8895,
                "name": "Block",
                "src": "4299:83:25"
              }
            ],
            "id": 8896,
            "name": "FunctionDefinition",
            "src": "4126:256:25"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeScheme",
              "payable": false,
              "scope": 9053,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8974,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 8897,
                        "name": "UserDefinedTypeName",
                        "src": "4930:6:25"
                      }
                    ],
                    "id": 8898,
                    "name": "VariableDeclaration",
                    "src": "4930:14:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_scheme",
                      "scope": 8974,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8899,
                        "name": "ElementaryTypeName",
                        "src": "4954:7:25"
                      }
                    ],
                    "id": 8900,
                    "name": "VariableDeclaration",
                    "src": "4954:15:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_parametersHash",
                      "scope": 8974,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8901,
                        "name": "ElementaryTypeName",
                        "src": "4979:7:25"
                      }
                    ],
                    "id": 8902,
                    "name": "VariableDeclaration",
                    "src": "4979:23:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_isRegistering",
                      "scope": 8974,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 8903,
                        "name": "ElementaryTypeName",
                        "src": "5012:4:25"
                      }
                    ],
                    "id": 8904,
                    "name": "VariableDeclaration",
                    "src": "5012:19:25"
                  }
                ],
                "id": 8905,
                "name": "ParameterList",
                "src": "4920:117:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8974,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8906,
                        "name": "ElementaryTypeName",
                        "src": "5061:7:25"
                      }
                    ],
                    "id": 8907,
                    "name": "VariableDeclaration",
                    "src": "5061:7:25"
                  }
                ],
                "id": 8908,
                "name": "ParameterList",
                "src": "5060:9:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8910
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controllerParams",
                          "scope": 8974,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SchemeRegistrar.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 8699,
                              "type": "struct SchemeRegistrar.Parameters storage pointer"
                            },
                            "id": 8909,
                            "name": "UserDefinedTypeName",
                            "src": "5103:10:25"
                          }
                        ],
                        "id": 8910,
                        "name": "VariableDeclaration",
                        "src": "5103:34:25"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SchemeRegistrar.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8703,
                              "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 8911,
                            "name": "Identifier",
                            "src": "5140:10:25"
                          },
                          {
                            "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_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    9584
                                  ],
                                  "referencedDeclaration": 9584,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 8912,
                                "name": "Identifier",
                                "src": "5151:27:25"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8898,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8913,
                                "name": "Identifier",
                                "src": "5179:7:25"
                              }
                            ],
                            "id": 8914,
                            "name": "FunctionCall",
                            "src": "5151:36:25"
                          }
                        ],
                        "id": 8915,
                        "name": "IndexAccess",
                        "src": "5140:48:25"
                      }
                    ],
                    "id": 8916,
                    "name": "VariableDeclarationStatement",
                    "src": "5103:85:25"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8918
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 8974,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 8917,
                            "name": "ElementaryTypeName",
                            "src": "5199:7:25"
                          }
                        ],
                        "id": 8918,
                        "name": "VariableDeclaration",
                        "src": "5199:18:25"
                      },
                      {
                        "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_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3873",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_contract$_ExecutableInterface_$8021",
                                  "typeString": "contract ExecutableInterface"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "propose",
                              "referencedDeclaration": 3371,
                              "type": "function (uint256,bytes32,address,contract ExecutableInterface,address) external returns (bytes32)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 8698,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8910,
                                      "type": "struct SchemeRegistrar.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 8919,
                                    "name": "Identifier",
                                    "src": "5220:16:25"
                                  }
                                ],
                                "id": 8920,
                                "name": "MemberAccess",
                                "src": "5220:24:25"
                              }
                            ],
                            "id": 8921,
                            "name": "MemberAccess",
                            "src": "5220:32:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 8922,
                            "name": "Literal",
                            "src": "5253:1:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteRegisterParams",
                              "referencedDeclaration": 8694,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8910,
                                  "type": "struct SchemeRegistrar.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 8923,
                                "name": "Identifier",
                                "src": "5256:16:25"
                              }
                            ],
                            "id": 8924,
                            "name": "MemberAccess",
                            "src": "5256:35:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8898,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 8925,
                            "name": "Identifier",
                            "src": "5293:7:25"
                          },
                          {
                            "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$_SchemeRegistrar_$9053",
                                      "typeString": "contract SchemeRegistrar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8021,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 8926,
                                "name": "Identifier",
                                "src": "5302:19:25"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12098,
                                  "type": "contract SchemeRegistrar",
                                  "value": "this"
                                },
                                "id": 8927,
                                "name": "Identifier",
                                "src": "5322:4:25"
                              }
                            ],
                            "id": 8928,
                            "name": "FunctionCall",
                            "src": "5302:25:25"
                          },
                          {
                            "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": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 8929,
                                "name": "Identifier",
                                "src": "5328:3:25"
                              }
                            ],
                            "id": 8930,
                            "name": "MemberAccess",
                            "src": "5328:10:25"
                          }
                        ],
                        "id": 8931,
                        "name": "FunctionCall",
                        "src": "5220:119:25"
                      }
                    ],
                    "id": 8932,
                    "name": "VariableDeclarationStatement",
                    "src": "5199:140:25"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8934
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 8974,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "SchemeProposal",
                              "referencedDeclaration": 8686,
                              "type": "struct SchemeRegistrar.SchemeProposal storage pointer"
                            },
                            "id": 8933,
                            "name": "UserDefinedTypeName",
                            "src": "5350:14:25"
                          }
                        ],
                        "id": 8934,
                        "name": "VariableDeclaration",
                        "src": "5350:30:25"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": true,
                          "lValueRequested": false,
                          "names": [
                            "scheme",
                            "parametersHash",
                            "proposalType",
                            "isRegistering"
                          ],
                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8686,
                              "type": "type(struct SchemeRegistrar.SchemeProposal storage pointer)",
                              "value": "SchemeProposal"
                            },
                            "id": 8935,
                            "name": "Identifier",
                            "src": "5383:14:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8900,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 8936,
                            "name": "Identifier",
                            "src": "5420:7:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8902,
                              "type": "bytes32",
                              "value": "_parametersHash"
                            },
                            "id": 8937,
                            "name": "Identifier",
                            "src": "5457:15:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 8938,
                            "name": "Literal",
                            "src": "5500:1:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8904,
                              "type": "bool",
                              "value": "_isRegistering"
                            },
                            "id": 8939,
                            "name": "Identifier",
                            "src": "5530:14:25"
                          }
                        ],
                        "id": 8940,
                        "name": "FunctionCall",
                        "src": "5383:172:25"
                      }
                    ],
                    "id": 8941,
                    "name": "VariableDeclarationStatement",
                    "src": "5350:205:25"
                  },
                  {
                    "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_$3873",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$3459",
                                  "typeString": "contract IntVoteInterface"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8655,
                              "type": "function (address,bytes32,address,address,bytes32,bool)",
                              "value": "NewSchemeProposal"
                            },
                            "id": 8942,
                            "name": "Identifier",
                            "src": "5565:17:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8898,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 8943,
                            "name": "Identifier",
                            "src": "5596:7:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8918,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 8944,
                            "name": "Identifier",
                            "src": "5617:10:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "intVote",
                              "referencedDeclaration": 8698,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8910,
                                  "type": "struct SchemeRegistrar.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 8945,
                                "name": "Identifier",
                                "src": "5641:16:25"
                              }
                            ],
                            "id": 8946,
                            "name": "MemberAccess",
                            "src": "5641:24:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8900,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 8947,
                            "name": "Identifier",
                            "src": "5679:7:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8902,
                              "type": "bytes32",
                              "value": "_parametersHash"
                            },
                            "id": 8948,
                            "name": "Identifier",
                            "src": "5688:15:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8904,
                              "type": "bool",
                              "value": "_isRegistering"
                            },
                            "id": 8949,
                            "name": "Identifier",
                            "src": "5717:14:25"
                          }
                        ],
                        "id": 8950,
                        "name": "FunctionCall",
                        "src": "5565:176:25"
                      }
                    ],
                    "id": 8951,
                    "name": "ExpressionStatement",
                    "src": "5565:176:25"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8692,
                                      "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 8952,
                                    "name": "Identifier",
                                    "src": "5751:22:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8898,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 8953,
                                    "name": "Identifier",
                                    "src": "5774:7:25"
                                  }
                                ],
                                "id": 8955,
                                "name": "IndexAccess",
                                "src": "5751:31:25"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8918,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 8954,
                                "name": "Identifier",
                                "src": "5783:10:25"
                              }
                            ],
                            "id": 8956,
                            "name": "IndexAccess",
                            "src": "5751:43:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8934,
                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                              "value": "proposal"
                            },
                            "id": 8957,
                            "name": "Identifier",
                            "src": "5797:8:25"
                          }
                        ],
                        "id": 8958,
                        "name": "Assignment",
                        "src": "5751:54:25"
                      }
                    ],
                    "id": 8959,
                    "name": "ExpressionStatement",
                    "src": "5751:54:25"
                  },
                  {
                    "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_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "ownerVote",
                              "referencedDeclaration": 3398,
                              "type": "function (bytes32,uint256,address) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 8698,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8910,
                                      "type": "struct SchemeRegistrar.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 8960,
                                    "name": "Identifier",
                                    "src": "5850:16:25"
                                  }
                                ],
                                "id": 8963,
                                "name": "MemberAccess",
                                "src": "5850:24:25"
                              }
                            ],
                            "id": 8964,
                            "name": "MemberAccess",
                            "src": "5850:34:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8918,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 8965,
                            "name": "Identifier",
                            "src": "5885:10:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 8966,
                            "name": "Literal",
                            "src": "5897:1:25"
                          },
                          {
                            "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": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 8967,
                                "name": "Identifier",
                                "src": "5900:3:25"
                              }
                            ],
                            "id": 8968,
                            "name": "MemberAccess",
                            "src": "5900:10:25"
                          }
                        ],
                        "id": 8969,
                        "name": "FunctionCall",
                        "src": "5850:61:25"
                      }
                    ],
                    "id": 8970,
                    "name": "ExpressionStatement",
                    "src": "5850:61:25"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8908
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 8918,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 8971,
                        "name": "Identifier",
                        "src": "5984:10:25"
                      }
                    ],
                    "id": 8972,
                    "name": "Return",
                    "src": "5977:17:25"
                  }
                ],
                "id": 8973,
                "name": "Block",
                "src": "5074:927:25"
              }
            ],
            "id": 8974,
            "name": "FunctionDefinition",
            "src": "4898:1103:25"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeToRemoveScheme",
              "payable": false,
              "scope": 9053,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9052,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 8975,
                        "name": "UserDefinedTypeName",
                        "src": "6333:6:25"
                      }
                    ],
                    "id": 8976,
                    "name": "VariableDeclaration",
                    "src": "6333:14:25"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_scheme",
                      "scope": 9052,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8977,
                        "name": "ElementaryTypeName",
                        "src": "6349:7:25"
                      }
                    ],
                    "id": 8978,
                    "name": "VariableDeclaration",
                    "src": "6349:15:25"
                  }
                ],
                "id": 8979,
                "name": "ParameterList",
                "src": "6332:33:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9052,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8980,
                        "name": "ElementaryTypeName",
                        "src": "6389:7:25"
                      }
                    ],
                    "id": 8981,
                    "name": "VariableDeclaration",
                    "src": "6389:7:25"
                  }
                ],
                "id": 8982,
                "name": "ParameterList",
                "src": "6388:9:25"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8984
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 9052,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 8983,
                            "name": "ElementaryTypeName",
                            "src": "6412:7:25"
                          }
                        ],
                        "id": 8984,
                        "name": "VariableDeclaration",
                        "src": "6412:18:25"
                      },
                      {
                        "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_$3873",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                9584
                              ],
                              "referencedDeclaration": 9584,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 8985,
                            "name": "Identifier",
                            "src": "6433:27:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8976,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 8986,
                            "name": "Identifier",
                            "src": "6461:7:25"
                          }
                        ],
                        "id": 8987,
                        "name": "FunctionCall",
                        "src": "6433:36:25"
                      }
                    ],
                    "id": 8988,
                    "name": "VariableDeclarationStatement",
                    "src": "6412:57:25"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8990
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 9052,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SchemeRegistrar.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 8699,
                              "type": "struct SchemeRegistrar.Parameters storage pointer"
                            },
                            "id": 8989,
                            "name": "UserDefinedTypeName",
                            "src": "6479:10:25"
                          }
                        ],
                        "id": 8990,
                        "name": "VariableDeclaration",
                        "src": "6479:24:25"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SchemeRegistrar.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8703,
                              "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 8991,
                            "name": "Identifier",
                            "src": "6506:10:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8984,
                              "type": "bytes32",
                              "value": "paramsHash"
                            },
                            "id": 8992,
                            "name": "Identifier",
                            "src": "6517:10:25"
                          }
                        ],
                        "id": 8993,
                        "name": "IndexAccess",
                        "src": "6506:22:25"
                      }
                    ],
                    "id": 8994,
                    "name": "VariableDeclarationStatement",
                    "src": "6479:49:25"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8996
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "intVote",
                          "scope": 9052,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract IntVoteInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "IntVoteInterface",
                              "referencedDeclaration": 3459,
                              "type": "contract IntVoteInterface"
                            },
                            "id": 8995,
                            "name": "UserDefinedTypeName",
                            "src": "6539:16:25"
                          }
                        ],
                        "id": 8996,
                        "name": "VariableDeclaration",
                        "src": "6539:24:25"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "intVote",
                          "referencedDeclaration": 8698,
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8990,
                              "type": "struct SchemeRegistrar.Parameters memory",
                              "value": "params"
                            },
                            "id": 8997,
                            "name": "Identifier",
                            "src": "6566:6:25"
                          }
                        ],
                        "id": 8998,
                        "name": "MemberAccess",
                        "src": "6566:14:25"
                      }
                    ],
                    "id": 8999,
                    "name": "VariableDeclarationStatement",
                    "src": "6539:41:25"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9001
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 9052,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 9000,
                            "name": "ElementaryTypeName",
                            "src": "6590:7:25"
                          }
                        ],
                        "id": 9001,
                        "name": "VariableDeclaration",
                        "src": "6590:18:25"
                      },
                      {
                        "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_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3873",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_contract$_ExecutableInterface_$8021",
                                  "typeString": "contract ExecutableInterface"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "propose",
                              "referencedDeclaration": 3371,
                              "type": "function (uint256,bytes32,address,contract ExecutableInterface,address) external returns (bytes32)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8996,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 9002,
                                "name": "Identifier",
                                "src": "6611:7:25"
                              }
                            ],
                            "id": 9003,
                            "name": "MemberAccess",
                            "src": "6611:15:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 9004,
                            "name": "Literal",
                            "src": "6627:1:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteRemoveParams",
                              "referencedDeclaration": 8696,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8990,
                                  "type": "struct SchemeRegistrar.Parameters memory",
                                  "value": "params"
                                },
                                "id": 9005,
                                "name": "Identifier",
                                "src": "6630:6:25"
                              }
                            ],
                            "id": 9006,
                            "name": "MemberAccess",
                            "src": "6630:23:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8976,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 9007,
                            "name": "Identifier",
                            "src": "6655:7:25"
                          },
                          {
                            "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$_SchemeRegistrar_$9053",
                                      "typeString": "contract SchemeRegistrar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8021,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 9008,
                                "name": "Identifier",
                                "src": "6664:19:25"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12098,
                                  "type": "contract SchemeRegistrar",
                                  "value": "this"
                                },
                                "id": 9009,
                                "name": "Identifier",
                                "src": "6684:4:25"
                              }
                            ],
                            "id": 9010,
                            "name": "FunctionCall",
                            "src": "6664:25:25"
                          },
                          {
                            "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": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 9011,
                                "name": "Identifier",
                                "src": "6690:3:25"
                              }
                            ],
                            "id": 9012,
                            "name": "MemberAccess",
                            "src": "6690:10:25"
                          }
                        ],
                        "id": 9013,
                        "name": "FunctionCall",
                        "src": "6611:90:25"
                      }
                    ],
                    "id": 9014,
                    "name": "VariableDeclarationStatement",
                    "src": "6590:111:25"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "proposalType",
                              "referencedDeclaration": 8683,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8692,
                                          "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                          "value": "organizationsProposals"
                                        },
                                        "id": 9015,
                                        "name": "Identifier",
                                        "src": "6712:22:25"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8976,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 9016,
                                        "name": "Identifier",
                                        "src": "6735:7:25"
                                      }
                                    ],
                                    "id": 9018,
                                    "name": "IndexAccess",
                                    "src": "6712:31:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9001,
                                      "type": "bytes32",
                                      "value": "proposalId"
                                    },
                                    "id": 9017,
                                    "name": "Identifier",
                                    "src": "6744:10:25"
                                  }
                                ],
                                "id": 9019,
                                "name": "IndexAccess",
                                "src": "6712:43:25"
                              }
                            ],
                            "id": 9020,
                            "name": "MemberAccess",
                            "src": "6712:56:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 9021,
                            "name": "Literal",
                            "src": "6771:1:25"
                          }
                        ],
                        "id": 9022,
                        "name": "Assignment",
                        "src": "6712:60:25"
                      }
                    ],
                    "id": 9023,
                    "name": "ExpressionStatement",
                    "src": "6712:60:25"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "scheme",
                              "referencedDeclaration": 8679,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8692,
                                          "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                          "value": "organizationsProposals"
                                        },
                                        "id": 9024,
                                        "name": "Identifier",
                                        "src": "6782:22:25"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8976,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 9025,
                                        "name": "Identifier",
                                        "src": "6805:7:25"
                                      }
                                    ],
                                    "id": 9027,
                                    "name": "IndexAccess",
                                    "src": "6782:31:25"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9001,
                                      "type": "bytes32",
                                      "value": "proposalId"
                                    },
                                    "id": 9026,
                                    "name": "Identifier",
                                    "src": "6814:10:25"
                                  }
                                ],
                                "id": 9028,
                                "name": "IndexAccess",
                                "src": "6782:43:25"
                              }
                            ],
                            "id": 9029,
                            "name": "MemberAccess",
                            "src": "6782:50:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8978,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 9030,
                            "name": "Identifier",
                            "src": "6835:7:25"
                          }
                        ],
                        "id": 9031,
                        "name": "Assignment",
                        "src": "6782:60:25"
                      }
                    ],
                    "id": 9032,
                    "name": "ExpressionStatement",
                    "src": "6782:60:25"
                  },
                  {
                    "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_$3873",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$3459",
                                  "typeString": "contract IntVoteInterface"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8665,
                              "type": "function (address,bytes32,address,address)",
                              "value": "RemoveSchemeProposal"
                            },
                            "id": 9033,
                            "name": "Identifier",
                            "src": "6852:20:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8976,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 9034,
                            "name": "Identifier",
                            "src": "6873:7:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9001,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 9035,
                            "name": "Identifier",
                            "src": "6882:10:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8996,
                              "type": "contract IntVoteInterface",
                              "value": "intVote"
                            },
                            "id": 9036,
                            "name": "Identifier",
                            "src": "6894:7:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8978,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 9037,
                            "name": "Identifier",
                            "src": "6903:7:25"
                          }
                        ],
                        "id": 9038,
                        "name": "FunctionCall",
                        "src": "6852:59:25"
                      }
                    ],
                    "id": 9039,
                    "name": "ExpressionStatement",
                    "src": "6852:59:25"
                  },
                  {
                    "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_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "ownerVote",
                              "referencedDeclaration": 3398,
                              "type": "function (bytes32,uint256,address) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8996,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 9040,
                                "name": "Identifier",
                                "src": "6955:7:25"
                              }
                            ],
                            "id": 9042,
                            "name": "MemberAccess",
                            "src": "6955:17:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9001,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 9043,
                            "name": "Identifier",
                            "src": "6973:10:25"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 9044,
                            "name": "Literal",
                            "src": "6985:1:25"
                          },
                          {
                            "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": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 9045,
                                "name": "Identifier",
                                "src": "6988:3:25"
                              }
                            ],
                            "id": 9046,
                            "name": "MemberAccess",
                            "src": "6988:10:25"
                          }
                        ],
                        "id": 9047,
                        "name": "FunctionCall",
                        "src": "6955:44:25"
                      }
                    ],
                    "id": 9048,
                    "name": "ExpressionStatement",
                    "src": "6955:44:25"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8982
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9001,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 9049,
                        "name": "Identifier",
                        "src": "7072:10:25"
                      }
                    ],
                    "id": 9050,
                    "name": "Return",
                    "src": "7065:17:25"
                  }
                ],
                "id": 9051,
                "name": "Block",
                "src": "6402:687:25"
              }
            ],
            "id": 9052,
            "name": "FunctionDefinition",
            "src": "6302:787:25"
          }
        ],
        "id": 9053,
        "name": "ContractDefinition",
        "src": "265:6826:25"
      }
    ],
    "id": 9054,
    "name": "SourceUnit",
    "src": "0:7092:25"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.063Z"
}