{
  "contractName": "DaoVotingClaims",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "resolver",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_configKey",
          "type": "bytes32"
        }
      ],
      "name": "getAddressConfig",
      "outputs": [
        {
          "name": "_configValue",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "key",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_key",
          "type": "bytes32"
        }
      ],
      "name": "get_contract",
      "outputs": [
        {
          "name": "_contract",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "currentTimeInQuarter",
      "outputs": [
        {
          "name": "_currentT",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isMainPhase",
      "outputs": [
        {
          "name": "_isMainPhase",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isLockingPhase",
      "outputs": [
        {
          "name": "_isLockingPhase",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "currentQuarterNumber",
      "outputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "isParticipant",
      "outputs": [
        {
          "name": "_is",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_configKey",
          "type": "bytes32"
        }
      ],
      "name": "getBytesConfig",
      "outputs": [
        {
          "name": "_configValue",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_configKey",
          "type": "bytes32"
        }
      ],
      "name": "getUintConfig",
      "outputs": [
        {
          "name": "_configValue",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isDaoNotReplaced",
      "outputs": [
        {
          "name": "_isNotReplaced",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "CONTRACT_ADDRESS",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "isProposalPaused",
      "outputs": [
        {
          "name": "_isPausedOrStopped",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "isModerator",
      "outputs": [
        {
          "name": "_is",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_resolver",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_operations",
          "type": "uint256"
        }
      ],
      "name": "claimDraftVotingResult",
      "outputs": [
        {
          "name": "_passed",
          "type": "bool"
        },
        {
          "name": "_done",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_index",
          "type": "uint256"
        },
        {
          "name": "_operations",
          "type": "uint256"
        }
      ],
      "name": "claimProposalVotingResult",
      "outputs": [
        {
          "name": "_passed",
          "type": "bool"
        },
        {
          "name": "_done",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getInterResultKeyForBonusCalculation",
      "outputs": [
        {
          "name": "_key",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516020806200693783398101806040528101908080519060200190929190505050620011756018548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61550e80620014296000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101015780631d8ccd04146101585780633943380c146101c95780633d554f39146101fc5780633f83acff14610264578063560a25ea146102d557806368533060146103005780637d6fed801461032f5780637f6a26b61461035e57806390e353df14610389578063929066f5146103e757806393ddad0814610442578063b1e2b9dd1461048f578063c66c9efd146104d4578063d70d935814610521578063db4ecbc114610550578063f94f0f33146105a7578063fa6f3936146105f0575b600080fd5b34801561010d57600080fd5b5061011661064b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016457600080fd5b506101876004803603810190808035600019169060200190929190505050610670565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101d557600080fd5b506101de610732565b60405180826000191660001916815260200191505060405180910390f35b34801561020857600080fd5b5061023f60048036038101908080356000191690602001909291908035906020019092919080359060200190929190505050610738565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561027057600080fd5b506102936004803603810190808035600019169060200190929190505050610ce2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e157600080fd5b506102ea610dbe565b6040518082815260200191505060405180910390f35b34801561030c57600080fd5b50610315610dce565b604051808215151515815260200191505060405180910390f35b34801561033b57600080fd5b50610344610dfa565b604051808215151515815260200191505060405180910390f35b34801561036a57600080fd5b50610373610e15565b6040518082815260200191505060405180910390f35b34801561039557600080fd5b506103c2600480360381019080803560001916906020019092919080359060200190929190505050610e25565b6040518083151515158152602001821515151581526020019250505060405180910390f35b3480156103f357600080fd5b50610428600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b89565b604051808215151515815260200191505060405180910390f35b34801561044e57600080fd5b506104716004803603810190808035600019169060200190929190505050611d6a565b60405180826000191660001916815260200191505060405180910390f35b34801561049b57600080fd5b506104be6004803603810190808035600019169060200190929190505050611e2c565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b506105036004803603810190808035600019169060200190929190505050611eee565b60405180826000191660001916815260200191505060405180910390f35b34801561052d57600080fd5b50610536611f93565b604051808215151515815260200191505060405180910390f35b34801561055c57600080fd5b50610565612041565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b357600080fd5b506105d66004803603810190808035600019169060200190929190505050612067565b604051808215151515815260200191505060405180910390f35b3480156105fc57600080fd5b50610631600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121bc565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061067a61248f565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106f057600080fd5b505af1158015610704573d6000803e3d6000fd5b505050506040513d602081101561071a57600080fd5b81019080805190602001909291905050509050919050565b60015481565b600080600085856000151561074b6124a1565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b1580156107c957600080fd5b505af11580156107dd573d6000803e3d6000fd5b505050506040513d60208110156107f357600080fd5b8101908080519060200190929190505050151514151561087b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f766f74696e6720726f756e6420616c726561647920636c61696d65640000000081525060200191505060405180910390fd5b878760006108876124a1565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561090557600080fd5b505af1158015610919573d6000803e3d6000fd5b505050506040513d602081101561092f57600080fd5b8101908080519060200190929190505050905060008111151561095157600080fd5b61097f6109706000841461096757603d5461096b565b603b545b611e2c565b826124b390919063ffffffff16565b421015151561098d57600080fd5b610995610dce565b1515610a09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f74206d61696e20706861736500000000000000000000000000000000000081525060200191505060405180910390fd5b6001965060009750889550610a3a610a22606954611e2c565b610a2c8d8d6124cf565b6124b390919063ffffffff16565b421015610a6c57610a4c8b8b8b6125f8565b809950819a50829850505050861515610a6b5787600097509750610cd4565b5b6000965060008a1115610a9f57610a858b8b888b612e34565b9650861515610a9a5787600097509750610cd4565b610b69565b878015610ab15750610ab08b613800565b5b97508715610b5e57610ac16124a1565b73ffffffffffffffffffffffffffffffffffffffff1663c362c7908c600f546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610b4157600080fd5b505af1158015610b55573d6000803e3d6000fd5b50505050610b68565b610b678b613a2a565b5b5b8715610b7a57610b798b8b613c7d565b5b610b826124a1565b73ffffffffffffffffffffffffffffffffffffffff16633e020d2f8c8c60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610c0d57600080fd5b505af1158015610c21573d6000803e3d6000fd5b50505050610c2d6124a1565b73ffffffffffffffffffffffffffffffffffffffff16631ea5d62f8c8c8b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610cb757600080fd5b505af1158015610ccb573d6000803e3d6000fd5b50505050600196505b505050505050935093915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610d7c57600080fd5b505af1158015610d90573d6000803e3d6000fd5b505050506040513d6020811015610da657600080fd5b81019080805190602001909291905050509050919050565b6000610dc942614393565b905090565b6000610dd8611f93565b8015610df55750610dea603854611e2c565b610df2610dbe565b10155b905090565b6000610e07603854611e2c565b610e0f610dbe565b10905090565b6000610e204261447c565b905090565b600080610e3061546f565b6060610e3a6154ae565b8660001515610e476124a1565b73ffffffffffffffffffffffffffffffffffffffff1663395ddde9836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610ebd57600080fd5b505af1158015610ed1573d6000803e3d6000fd5b505050506040513d6020811015610ee757600080fd5b81019080805190602001909291905050501515141515610f6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f647261667420697320616c726561647920636c61696d6564000000000000000081525060200191505060405180910390fd5b876000610f7a6124a1565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505050506040513d602081101561101a57600080fd5b8101908080519060200190929190505050905060008111151561103c57600080fd5b61105961104a606754611e2c565b826124b390919063ffffffff16565b421015151561106757600080fd5b611158611075606954611e2c565b61114a611083606754611e2c565b61108b6124a1565b73ffffffffffffffffffffffffffffffffffffffff166349a428d08f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110157600080fd5b505af1158015611115573d6000803e3d6000fd5b505050506040513d602081101561112b57600080fd5b81019080805190602001909291905050506124b390919063ffffffff16565b6124b390919063ffffffff16565b42118061116b57506111698a613800565b155b156112cc576111786124a1565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b1580156111fb57600080fd5b505af115801561120f573d6000803e3d6000fd5b5050505061121b6124a1565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561129e57600080fd5b505af11580156112b2573d6000803e3d6000fd5b505050506112bf8a613a2a565b6000600197509750611b7c565b6112d58a61457f565b1515611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742070726f706f736572000000000000000000000000000000000000000081525060200191505060405180910390fd5b61135161466f565b6113596148bb565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b1580156113cf57600080fd5b505af11580156113e3573d6000803e3d6000fd5b505050506040513d60808110156113f957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505088606001896000018a60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866060015173ffffffffffffffffffffffffffffffffffffffff1614156115e5576114d26148cd565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561154d57600080fd5b505af1158015611561573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561158b57600080fd5b8101908080516401000000008111156115a357600080fd5b828101905060208101848111156115b957600080fd5b81518560208202830111640100000000821117156115d657600080fd5b50509291905050509450611734565b6115ed6148cd565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e87606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156116a057600080fd5b505af11580156116b4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156116de57600080fd5b8101908080516401000000008111156116f657600080fd5b8281019050602081018481111561170c57600080fd5b815185602082028301116401000000008211171561172957600080fd5b505092919050505094505b61173c6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663bb3b5f6d8b876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156117d55780820151818401526020810190506117ba565b5050505090500193505050506040805180830381600087803b1580156117fa57600080fd5b505af115801561180e573d6000803e3d6000fd5b505050506040513d604081101561182457600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084600186510381518110151561186357fe5b90602001906020020151866060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118bf846000015187600001516124b390919063ffffffff16565b8660000181815250506118e3846020015187602001516124b390919063ffffffff16565b8660200181815250506118f46148df565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561195757600080fd5b505af115801561196b573d6000803e3d6000fd5b505050506040513d602081101561198157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168560018751038151811015156119ba57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415611a8b576119ea8a876148f1565b9750600196506119f86148bb565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015611a6e57600080fd5b505af1158015611a82573d6000803e3d6000fd5b50505050611b7b565b611a936148bb565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b886060015189600001518a6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b158015611b6257600080fd5b505af1158015611b76573d6000803e3d6000fd5b505050505b5b5050505050509250929050565b6000611b93610e15565b611b9b614e22565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611c3557600080fd5b505af1158015611c49573d6000803e3d6000fd5b505050506040513d6020811015611c5f57600080fd5b8101908080519060200190929190505050148015611d635750611c83603554611e2c565b611c8b6148df565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d2557600080fd5b505af1158015611d39573d6000803e3d6000fd5b505050506040513d6020811015611d4f57600080fd5b810190808051906020019092919050505010155b9050919050565b6000611d7461248f565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611dea57600080fd5b505af1158015611dfe573d6000803e3d6000fd5b505050506040513d6020811015611e1457600080fd5b81019080805190602001909291905050509050919050565b6000611e3661248f565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611eac57600080fd5b505af1158015611ec0573d6000803e3d6000fd5b505050506040513d6020811015611ed657600080fd5b81019080805190602001909291905050509050919050565b6000816013546040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611f5f5780518252602082019150602081019050602083039250611f3a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000611f9d614e34565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561200057600080fd5b505af1158015612014573d6000803e3d6000fd5b505050506040513d602081101561202a57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006120716124a1565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b505050506040513d61014081101561211357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509091505080915050919050565b60006121c6610e15565b6121ce614e22565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561226857600080fd5b505af115801561227c573d6000803e3d6000fd5b505050506040513d602081101561229257600080fd5b810190808051906020019092919050505014801561239657506122b6603654611e2c565b6122be6148df565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561235857600080fd5b505af115801561236c573d6000803e3d6000fd5b505050506040513d602081101561238257600080fd5b810190808051906020019092919050505010155b801561248857506123a8603754611e2c565b6123b0614e46565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561244a57600080fd5b505af115801561245e573d6000803e3d6000fd5b505050506040513d602081101561247457600080fd5b810190808051906020019092919050505010155b9050919050565b600061249c602b54610ce2565b905090565b60006124ae602554610ce2565b905090565b600081830190508281101515156124c657fe5b80905092915050565b6000806124da6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561255857600080fd5b505af115801561256c573d6000803e3d6000fd5b505050506040513d602081101561258257600080fd5b810190808051906020019092919050505090506000811115156125a457600080fd5b60008314156125d1576125ca6125bb603b54611e2c565b826124b390919063ffffffff16565b91506125f1565b6125ee6125df603d54611e2c565b826124b390919063ffffffff16565b91505b5092915050565b600080600061260561546f565b606060006126116154ae565b61261961466f565b6126228a61457f565b1515612696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742070726f706f736572000000000000000000000000000000000000000081525060200191505060405180910390fd5b61269e6148bb565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561271457600080fd5b505af1158015612728573d6000803e3d6000fd5b505050506040513d608081101561273e57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505086606001876000018860200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846060015173ffffffffffffffffffffffffffffffffffffffff16141561292a576128176148cd565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8960016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561289257600080fd5b505af11580156128a6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156128d057600080fd5b8101908080516401000000008111156128e857600080fd5b828101905060208101848111156128fe57600080fd5b815185602082028301116401000000008211171561291b57600080fd5b50509291905050509250612a9c565b6129326148cd565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6585606001518a60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156129e557600080fd5b505af11580156129f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612a2357600080fd5b810190808051640100000000811115612a3b57600080fd5b82810190506020810184811115612a5157600080fd5b8151856020820283011164010000000082111715612a6e57600080fd5b50509291905050509250600083511415612a9b5787612a8e858c8c614e58565b6001965096509650612e27565b5b826001845103815181101515612aae57fe5b906020019060200201519150612ac26124a1565b73ffffffffffffffffffffffffffffffffffffffff1663a1e55acf8b8b866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015612b62578082015181840152602081019050612b47565b505050509050019450505050506040805180830381600087803b158015612b8857600080fd5b505af1158015612b9c573d6000803e3d6000fd5b505050506040513d6040811015612bb257600080fd5b810190808051906020019092919080519060200190929190505050826000018360200182815250828152505050612bfa816000015185600001516124b390919063ffffffff16565b846000018181525050612c1e816020015185602001516124b390919063ffffffff16565b846020018181525050612c2f6148bb565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b848760000151886020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b158015612cfa57600080fd5b505af1158015612d0e573d6000803e3d6000fd5b50505050612d1a6148df565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612d7d57600080fd5b505af1158015612d91573d6000803e3d6000fd5b505050506040513d6020811015612da757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612dff576000806000829250965096509650612e27565b612e1383518961500990919063ffffffff16565b965060019450612e24848b8b614e58565b95505b5050505093509350939050565b60008060606000612e436154c8565b6000871415612e5557600094506137f4565b612e5d6148bb565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b612e818b611eee565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015612edb57600080fd5b505af1158015612eef573d6000803e3d6000fd5b505050506040513d6080811015612f0557600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080945050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156130af57612f9c6148cd565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8860016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561301757600080fd5b505af115801561302b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561305557600080fd5b81019080805164010000000081111561306d57600080fd5b8281019050602081018481111561308357600080fd5b81518560208202830111640100000000821117156130a057600080fd5b505092919050505092506131fa565b6130b76148cd565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e65858960016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b15801561316657600080fd5b505af115801561317a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156131a457600080fd5b8101908080516401000000008111156131bc57600080fd5b828101905060208101848111156131d257600080fd5b81518560208202830111640100000000821117156131ef57600080fd5b505092919050505092505b82600184510381518110151561320c57fe5b90602001906020020151915085156133c4576132266124a1565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a61325660018c61500990919063ffffffff16565b8660016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156132e55780820151818401526020810190506132ca565b5050505090500195505050505050600060405180830381600087803b15801561330d57600080fd5b505af1158015613321573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561334b57600080fd5b81019080805164010000000081111561336357600080fd5b8281019050602081018481111561337957600080fd5b815185602082028301116401000000008211171561339657600080fd5b5050929190602001805190602001909291905050508191508260200183600001828152508290525050613566565b6133cc6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a6133fc60018c61500990919063ffffffff16565b8660006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561348b578082015181840152602081019050613470565b5050505090500195505050505050600060405180830381600087803b1580156134b357600080fd5b505af11580156134c7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156134f157600080fd5b81019080805164010000000081111561350957600080fd5b8281019050602081018481111561351f57600080fd5b815185602082028301116401000000008211171561353c57600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250505b6000816000015111156135865761358581602001518260000151615022565b5b61358e6148df565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156135f157600080fd5b505af1158015613605573d6000803e3d6000fd5b505050506040513d602081101561361b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613706576136676148bb565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab61368b8b611eee565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156136e557600080fd5b505af11580156136f9573d6000803e3d6000fd5b50505050600194506137f3565b61370e6148bb565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c6137328b611eee565b8460008060006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b1580156137da57600080fd5b505af11580156137ee573d6000803e3d6000fd5b505050505b5b50505050949350505050565b60008061380b6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b15801561388257600080fd5b505af1158015613896573d6000803e3d6000fd5b505050506040513d6101408110156138ad57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515613a2457613968606d54611e2c565b613970615200565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24613993610e15565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156139e557600080fd5b505af11580156139f9573d6000803e3d6000fd5b505050506040513d6020811015613a0f57600080fd5b81019080805190602001909291905050501091505b50919050565b613a326124a1565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790826010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613ab257600080fd5b505af1158015613ac6573d6000803e3d6000fd5b50505050613ad2615212565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b613af56124a1565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015613b6b57600080fd5b505af1158015613b7f573d6000803e3d6000fd5b505050506040513d6020811015613b9557600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b158015613c3457600080fd5b505af1158015613c48573d6000803e3d6000fd5b505050506040513d6020811015613c5e57600080fd5b81019080805190602001909291905050501515613c7a57600080fd5b50565b6060600080613c8a6148bb565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613d0057600080fd5b505af1158015613d14573d6000803e3d6000fd5b50505050613d206124a1565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613d9657600080fd5b505af1158015613daa573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015613dd457600080fd5b810190808051640100000000811115613dec57600080fd5b82810190506020810184811115613e0257600080fd5b8151856020820283011164010000000082111715613e1f57600080fd5b50509291906020018051906020019092919050505050809350508251841415613ee257613e4b85613a2a565b613e536124a1565b73ffffffffffffffffffffffffffffffffffffffff166395ecdf9e866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613ec957600080fd5b505af1158015613edd573d6000803e3d6000fd5b505050505b613eea6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613f6157600080fd5b505af1158015613f75573d6000803e3d6000fd5b505050506040513d610140811015613f8c57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508092505060008414801561403f575081155b156140da5761404c615200565b73ffffffffffffffffffffffffffffffffffffffff16635552f20061406f610e15565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156140c157600080fd5b505af11580156140d5573d6000803e3d6000fd5b505050505b6140e26124a1565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82286866040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561416057600080fd5b505af1158015614174573d6000803e3d6000fd5b505050506040513d602081101561418a57600080fd5b810190808051906020019092919050505090506141a5614e46565b73ffffffffffffffffffffffffffffffffffffffff16631eee01546141c86124a1565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561423e57600080fd5b505af1158015614252573d6000803e3d6000fd5b505050506040513d602081101561426857600080fd5b81019080805190602001909291905050506142b269021e19e0c9bab24000006142a486614296605554611e2c565b61522490919063ffffffff16565b61525c90919063ffffffff16565b6142ba610e15565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b15801561434557600080fd5b505af1158015614359573d6000803e3d6000fd5b505050506040513d604081101561436f57600080fd5b81019080805190602001909291908051906020019092919050505050505050505050565b600061439d615272565b15156143a857600080fd5b6143b3603954611e2c565b61446b6143be614e34565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561442157600080fd5b505af1158015614435573d6000803e3d6000fd5b505050506040513d602081101561444b57600080fd5b81019080805190602001909291905050508461500990919063ffffffff16565b81151561447457fe5b069050919050565b6000614486615272565b151561449157600080fd5b614578600161456a6144a4603954611e2c565b61455c6144af614e34565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561451257600080fd5b505af1158015614526573d6000803e3d6000fd5b505050506040513d602081101561453c57600080fd5b81019080805190602001909291905050508761500990919063ffffffff16565b61525c90919063ffffffff16565b6124b390919063ffffffff16565b9050919050565b60006145896124a1565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156145ff57600080fd5b505af1158015614613573d6000803e3d6000fd5b505050506040513d602081101561462957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b614677610dce565b15156146eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f74206d61696e20706861736500000000000000000000000000000000000081525060200191505060405180910390fd5b6146f433611b89565b1515614768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f74207061727469636970616e74000000000000000000000000000000000081525060200191505060405180910390fd5b614770615322565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561480a57600080fd5b505af115801561481e573d6000803e3d6000fd5b505050506040513d602081101561483457600080fd5b810190808051906020019092919050505015156148b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f74206b796320617070726f7665640000000000000000000000000000000081525060200191505060405180910390fd5b565b60006148c8602f54610ce2565b905090565b60006148da602354610ce2565b905090565b60006148ec602c54610ce2565b905090565b6000806148fc615334565b73ffffffffffffffffffffffffffffffffffffffff1663535199aa856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561497257600080fd5b505af1158015614986573d6000803e3d6000fd5b505050506040513d602081101561499c57600080fd5b81019080805190602001909291905050506149c8846020015185600001516124b390919063ffffffff16565b118015614a9257506149d8615334565b73ffffffffffffffffffffffffffffffffffffffff1663d32d0499846000015185602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614a5657600080fd5b505af1158015614a6a573d6000803e3d6000fd5b505050506040513d6020811015614a8057600080fd5b81019080805190602001909291905050505b15614ccb57614a9f6124a1565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015614b2257600080fd5b505af1158015614b36573d6000803e3d6000fd5b50505050614c0f614b48606754611e2c565b614b506124a1565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015614bc657600080fd5b505af1158015614bda573d6000803e3d6000fd5b505050506040513d6020811015614bf057600080fd5b81019080805190602001909291905050506124b390919063ffffffff16565b9050614c196124a1565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e856000614c42600086615346565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b158015614caa57600080fd5b505af1158015614cbe573d6000803e3d6000fd5b5050505060019150614d78565b614cd36124a1565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015614d5657600080fd5b505af1158015614d6a573d6000803e3d6000fd5b50505050614d7784613a2a565b5b614d806124a1565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015614e0357600080fd5b505af1158015614e17573d6000803e3d6000fd5b505050505092915050565b6000614e2f602d54610ce2565b905090565b6000614e41602754610ce2565b905090565b6000614e53602954610ce2565b905090565b6000614e62615334565b73ffffffffffffffffffffffffffffffffffffffff166377ebd46884846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015614ee057600080fd5b505af1158015614ef4573d6000803e3d6000fd5b505050506040513d6020811015614f0a57600080fd5b8101908080519060200190929190505050614f36856020015186600001516124b390919063ffffffff16565b1180156150005750614f46615334565b73ffffffffffffffffffffffffffffffffffffffff166336dfb1c2856000015186602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614fc457600080fd5b505af1158015614fd8573d6000803e3d6000fd5b505050506040513d6020811015614fee57600080fd5b81019080805190602001909291905050505b90509392505050565b600082821115151561501757fe5b818303905092915050565b6000806000806000615035605354611e2c565b9450615042605654611e2c565b935061504f605754611e2c565b92506150ae615071615062606154611e2c565b8561522490919063ffffffff16565b6150a061507f606054611e2c565b615092888a61522490919063ffffffff16565b61522490919063ffffffff16565b61525c90919063ffffffff16565b9150600090505b858110156151f7576150dd87828151811015156150ce57fe5b90602001906020020151611b89565b156151ea576150ea614e46565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d68888381518110151561511357fe5b90602001906020020151846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b1580156151a257600080fd5b505af11580156151b6573d6000803e3d6000fd5b505050506040513d60408110156151cc57600080fd5b81019080805190602001909291908051906020019092919050505050505b80806001019150506150b5565b50505050505050565b600061520d602654610ce2565b905090565b600061521f601e54610ce2565b905090565b6000808314156152375760009050615256565b818302905081838281151561524857fe5b0414151561525257fe5b8090505b92915050565b6000818381151561526957fe5b04905092915050565b60008061527d614e34565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156152e057600080fd5b505af11580156152f4573d6000803e3d6000fd5b505050506040513d602081101561530a57600080fd5b81019080805190602001909291905050501415905090565b600061532f602854610ce2565b905090565b6000615341602454610ce2565b905090565b600080600061535484615441565b91506153726000861461536957603d5461536d565b603b545b611e2c565b9050839250615382603854611e2c565b61538b85614393565b10156153cf576153c86153b96153a086614393565b6153ab603854611e2c565b61500990919063ffffffff16565b856124b390919063ffffffff16565b9250615439565b6153ec6153dd606954611e2c565b826124b390919063ffffffff16565b821015615438576154356154266001615418615409603854611e2c565b866124b390919063ffffffff16565b6124b390919063ffffffff16565b856124b390919063ffffffff16565b92505b5b505092915050565b600061546861544f83614393565b61545a603954611e2c565b61500990919063ffffffff16565b9050919050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016060815250905600a165627a7a72305820002a661480954fc4a714d9278974f0833b394465263421181a078285e0acb7e10029",
  "deployedBytecode": "0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101015780631d8ccd04146101585780633943380c146101c95780633d554f39146101fc5780633f83acff14610264578063560a25ea146102d557806368533060146103005780637d6fed801461032f5780637f6a26b61461035e57806390e353df14610389578063929066f5146103e757806393ddad0814610442578063b1e2b9dd1461048f578063c66c9efd146104d4578063d70d935814610521578063db4ecbc114610550578063f94f0f33146105a7578063fa6f3936146105f0575b600080fd5b34801561010d57600080fd5b5061011661064b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016457600080fd5b506101876004803603810190808035600019169060200190929190505050610670565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101d557600080fd5b506101de610732565b60405180826000191660001916815260200191505060405180910390f35b34801561020857600080fd5b5061023f60048036038101908080356000191690602001909291908035906020019092919080359060200190929190505050610738565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561027057600080fd5b506102936004803603810190808035600019169060200190929190505050610ce2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e157600080fd5b506102ea610dbe565b6040518082815260200191505060405180910390f35b34801561030c57600080fd5b50610315610dce565b604051808215151515815260200191505060405180910390f35b34801561033b57600080fd5b50610344610dfa565b604051808215151515815260200191505060405180910390f35b34801561036a57600080fd5b50610373610e15565b6040518082815260200191505060405180910390f35b34801561039557600080fd5b506103c2600480360381019080803560001916906020019092919080359060200190929190505050610e25565b6040518083151515158152602001821515151581526020019250505060405180910390f35b3480156103f357600080fd5b50610428600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b89565b604051808215151515815260200191505060405180910390f35b34801561044e57600080fd5b506104716004803603810190808035600019169060200190929190505050611d6a565b60405180826000191660001916815260200191505060405180910390f35b34801561049b57600080fd5b506104be6004803603810190808035600019169060200190929190505050611e2c565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b506105036004803603810190808035600019169060200190929190505050611eee565b60405180826000191660001916815260200191505060405180910390f35b34801561052d57600080fd5b50610536611f93565b604051808215151515815260200191505060405180910390f35b34801561055c57600080fd5b50610565612041565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b357600080fd5b506105d66004803603810190808035600019169060200190929190505050612067565b604051808215151515815260200191505060405180910390f35b3480156105fc57600080fd5b50610631600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121bc565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061067a61248f565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106f057600080fd5b505af1158015610704573d6000803e3d6000fd5b505050506040513d602081101561071a57600080fd5b81019080805190602001909291905050509050919050565b60015481565b600080600085856000151561074b6124a1565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b1580156107c957600080fd5b505af11580156107dd573d6000803e3d6000fd5b505050506040513d60208110156107f357600080fd5b8101908080519060200190929190505050151514151561087b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f766f74696e6720726f756e6420616c726561647920636c61696d65640000000081525060200191505060405180910390fd5b878760006108876124a1565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561090557600080fd5b505af1158015610919573d6000803e3d6000fd5b505050506040513d602081101561092f57600080fd5b8101908080519060200190929190505050905060008111151561095157600080fd5b61097f6109706000841461096757603d5461096b565b603b545b611e2c565b826124b390919063ffffffff16565b421015151561098d57600080fd5b610995610dce565b1515610a09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f74206d61696e20706861736500000000000000000000000000000000000081525060200191505060405180910390fd5b6001965060009750889550610a3a610a22606954611e2c565b610a2c8d8d6124cf565b6124b390919063ffffffff16565b421015610a6c57610a4c8b8b8b6125f8565b809950819a50829850505050861515610a6b5787600097509750610cd4565b5b6000965060008a1115610a9f57610a858b8b888b612e34565b9650861515610a9a5787600097509750610cd4565b610b69565b878015610ab15750610ab08b613800565b5b97508715610b5e57610ac16124a1565b73ffffffffffffffffffffffffffffffffffffffff1663c362c7908c600f546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610b4157600080fd5b505af1158015610b55573d6000803e3d6000fd5b50505050610b68565b610b678b613a2a565b5b5b8715610b7a57610b798b8b613c7d565b5b610b826124a1565b73ffffffffffffffffffffffffffffffffffffffff16633e020d2f8c8c60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610c0d57600080fd5b505af1158015610c21573d6000803e3d6000fd5b50505050610c2d6124a1565b73ffffffffffffffffffffffffffffffffffffffff16631ea5d62f8c8c8b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610cb757600080fd5b505af1158015610ccb573d6000803e3d6000fd5b50505050600196505b505050505050935093915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610d7c57600080fd5b505af1158015610d90573d6000803e3d6000fd5b505050506040513d6020811015610da657600080fd5b81019080805190602001909291905050509050919050565b6000610dc942614393565b905090565b6000610dd8611f93565b8015610df55750610dea603854611e2c565b610df2610dbe565b10155b905090565b6000610e07603854611e2c565b610e0f610dbe565b10905090565b6000610e204261447c565b905090565b600080610e3061546f565b6060610e3a6154ae565b8660001515610e476124a1565b73ffffffffffffffffffffffffffffffffffffffff1663395ddde9836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610ebd57600080fd5b505af1158015610ed1573d6000803e3d6000fd5b505050506040513d6020811015610ee757600080fd5b81019080805190602001909291905050501515141515610f6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f647261667420697320616c726561647920636c61696d6564000000000000000081525060200191505060405180910390fd5b876000610f7a6124a1565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505050506040513d602081101561101a57600080fd5b8101908080519060200190929190505050905060008111151561103c57600080fd5b61105961104a606754611e2c565b826124b390919063ffffffff16565b421015151561106757600080fd5b611158611075606954611e2c565b61114a611083606754611e2c565b61108b6124a1565b73ffffffffffffffffffffffffffffffffffffffff166349a428d08f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110157600080fd5b505af1158015611115573d6000803e3d6000fd5b505050506040513d602081101561112b57600080fd5b81019080805190602001909291905050506124b390919063ffffffff16565b6124b390919063ffffffff16565b42118061116b57506111698a613800565b155b156112cc576111786124a1565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b1580156111fb57600080fd5b505af115801561120f573d6000803e3d6000fd5b5050505061121b6124a1565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561129e57600080fd5b505af11580156112b2573d6000803e3d6000fd5b505050506112bf8a613a2a565b6000600197509750611b7c565b6112d58a61457f565b1515611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742070726f706f736572000000000000000000000000000000000000000081525060200191505060405180910390fd5b61135161466f565b6113596148bb565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b1580156113cf57600080fd5b505af11580156113e3573d6000803e3d6000fd5b505050506040513d60808110156113f957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505088606001896000018a60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866060015173ffffffffffffffffffffffffffffffffffffffff1614156115e5576114d26148cd565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561154d57600080fd5b505af1158015611561573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561158b57600080fd5b8101908080516401000000008111156115a357600080fd5b828101905060208101848111156115b957600080fd5b81518560208202830111640100000000821117156115d657600080fd5b50509291905050509450611734565b6115ed6148cd565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e87606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156116a057600080fd5b505af11580156116b4573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156116de57600080fd5b8101908080516401000000008111156116f657600080fd5b8281019050602081018481111561170c57600080fd5b815185602082028301116401000000008211171561172957600080fd5b505092919050505094505b61173c6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663bb3b5f6d8b876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156117d55780820151818401526020810190506117ba565b5050505090500193505050506040805180830381600087803b1580156117fa57600080fd5b505af115801561180e573d6000803e3d6000fd5b505050506040513d604081101561182457600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084600186510381518110151561186357fe5b90602001906020020151866060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118bf846000015187600001516124b390919063ffffffff16565b8660000181815250506118e3846020015187602001516124b390919063ffffffff16565b8660200181815250506118f46148df565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561195757600080fd5b505af115801561196b573d6000803e3d6000fd5b505050506040513d602081101561198157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168560018751038151811015156119ba57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415611a8b576119ea8a876148f1565b9750600196506119f86148bb565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015611a6e57600080fd5b505af1158015611a82573d6000803e3d6000fd5b50505050611b7b565b611a936148bb565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b886060015189600001518a6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b158015611b6257600080fd5b505af1158015611b76573d6000803e3d6000fd5b505050505b5b5050505050509250929050565b6000611b93610e15565b611b9b614e22565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611c3557600080fd5b505af1158015611c49573d6000803e3d6000fd5b505050506040513d6020811015611c5f57600080fd5b8101908080519060200190929190505050148015611d635750611c83603554611e2c565b611c8b6148df565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d2557600080fd5b505af1158015611d39573d6000803e3d6000fd5b505050506040513d6020811015611d4f57600080fd5b810190808051906020019092919050505010155b9050919050565b6000611d7461248f565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611dea57600080fd5b505af1158015611dfe573d6000803e3d6000fd5b505050506040513d6020811015611e1457600080fd5b81019080805190602001909291905050509050919050565b6000611e3661248f565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611eac57600080fd5b505af1158015611ec0573d6000803e3d6000fd5b505050506040513d6020811015611ed657600080fd5b81019080805190602001909291905050509050919050565b6000816013546040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611f5f5780518252602082019150602081019050602083039250611f3a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000611f9d614e34565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561200057600080fd5b505af1158015612014573d6000803e3d6000fd5b505050506040513d602081101561202a57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006120716124a1565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b505050506040513d61014081101561211357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509091505080915050919050565b60006121c6610e15565b6121ce614e22565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561226857600080fd5b505af115801561227c573d6000803e3d6000fd5b505050506040513d602081101561229257600080fd5b810190808051906020019092919050505014801561239657506122b6603654611e2c565b6122be6148df565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561235857600080fd5b505af115801561236c573d6000803e3d6000fd5b505050506040513d602081101561238257600080fd5b810190808051906020019092919050505010155b801561248857506123a8603754611e2c565b6123b0614e46565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561244a57600080fd5b505af115801561245e573d6000803e3d6000fd5b505050506040513d602081101561247457600080fd5b810190808051906020019092919050505010155b9050919050565b600061249c602b54610ce2565b905090565b60006124ae602554610ce2565b905090565b600081830190508281101515156124c657fe5b80905092915050565b6000806124da6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561255857600080fd5b505af115801561256c573d6000803e3d6000fd5b505050506040513d602081101561258257600080fd5b810190808051906020019092919050505090506000811115156125a457600080fd5b60008314156125d1576125ca6125bb603b54611e2c565b826124b390919063ffffffff16565b91506125f1565b6125ee6125df603d54611e2c565b826124b390919063ffffffff16565b91505b5092915050565b600080600061260561546f565b606060006126116154ae565b61261961466f565b6126228a61457f565b1515612696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742070726f706f736572000000000000000000000000000000000000000081525060200191505060405180910390fd5b61269e6148bb565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561271457600080fd5b505af1158015612728573d6000803e3d6000fd5b505050506040513d608081101561273e57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505086606001876000018860200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846060015173ffffffffffffffffffffffffffffffffffffffff16141561292a576128176148cd565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8960016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561289257600080fd5b505af11580156128a6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156128d057600080fd5b8101908080516401000000008111156128e857600080fd5b828101905060208101848111156128fe57600080fd5b815185602082028301116401000000008211171561291b57600080fd5b50509291905050509250612a9c565b6129326148cd565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6585606001518a60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156129e557600080fd5b505af11580156129f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612a2357600080fd5b810190808051640100000000811115612a3b57600080fd5b82810190506020810184811115612a5157600080fd5b8151856020820283011164010000000082111715612a6e57600080fd5b50509291905050509250600083511415612a9b5787612a8e858c8c614e58565b6001965096509650612e27565b5b826001845103815181101515612aae57fe5b906020019060200201519150612ac26124a1565b73ffffffffffffffffffffffffffffffffffffffff1663a1e55acf8b8b866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015612b62578082015181840152602081019050612b47565b505050509050019450505050506040805180830381600087803b158015612b8857600080fd5b505af1158015612b9c573d6000803e3d6000fd5b505050506040513d6040811015612bb257600080fd5b810190808051906020019092919080519060200190929190505050826000018360200182815250828152505050612bfa816000015185600001516124b390919063ffffffff16565b846000018181525050612c1e816020015185602001516124b390919063ffffffff16565b846020018181525050612c2f6148bb565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b848760000151886020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b158015612cfa57600080fd5b505af1158015612d0e573d6000803e3d6000fd5b50505050612d1a6148df565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612d7d57600080fd5b505af1158015612d91573d6000803e3d6000fd5b505050506040513d6020811015612da757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612dff576000806000829250965096509650612e27565b612e1383518961500990919063ffffffff16565b965060019450612e24848b8b614e58565b95505b5050505093509350939050565b60008060606000612e436154c8565b6000871415612e5557600094506137f4565b612e5d6148bb565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b612e818b611eee565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015612edb57600080fd5b505af1158015612eef573d6000803e3d6000fd5b505050506040513d6080811015612f0557600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080945050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156130af57612f9c6148cd565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8860016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561301757600080fd5b505af115801561302b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561305557600080fd5b81019080805164010000000081111561306d57600080fd5b8281019050602081018481111561308357600080fd5b81518560208202830111640100000000821117156130a057600080fd5b505092919050505092506131fa565b6130b76148cd565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e65858960016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b15801561316657600080fd5b505af115801561317a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156131a457600080fd5b8101908080516401000000008111156131bc57600080fd5b828101905060208101848111156131d257600080fd5b81518560208202830111640100000000821117156131ef57600080fd5b505092919050505092505b82600184510381518110151561320c57fe5b90602001906020020151915085156133c4576132266124a1565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a61325660018c61500990919063ffffffff16565b8660016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156132e55780820151818401526020810190506132ca565b5050505090500195505050505050600060405180830381600087803b15801561330d57600080fd5b505af1158015613321573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561334b57600080fd5b81019080805164010000000081111561336357600080fd5b8281019050602081018481111561337957600080fd5b815185602082028301116401000000008211171561339657600080fd5b5050929190602001805190602001909291905050508191508260200183600001828152508290525050613566565b6133cc6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a6133fc60018c61500990919063ffffffff16565b8660006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561348b578082015181840152602081019050613470565b5050505090500195505050505050600060405180830381600087803b1580156134b357600080fd5b505af11580156134c7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156134f157600080fd5b81019080805164010000000081111561350957600080fd5b8281019050602081018481111561351f57600080fd5b815185602082028301116401000000008211171561353c57600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250505b6000816000015111156135865761358581602001518260000151615022565b5b61358e6148df565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156135f157600080fd5b505af1158015613605573d6000803e3d6000fd5b505050506040513d602081101561361b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613706576136676148bb565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab61368b8b611eee565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156136e557600080fd5b505af11580156136f9573d6000803e3d6000fd5b50505050600194506137f3565b61370e6148bb565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c6137328b611eee565b8460008060006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b1580156137da57600080fd5b505af11580156137ee573d6000803e3d6000fd5b505050505b5b50505050949350505050565b60008061380b6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b15801561388257600080fd5b505af1158015613896573d6000803e3d6000fd5b505050506040513d6101408110156138ad57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515613a2457613968606d54611e2c565b613970615200565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24613993610e15565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156139e557600080fd5b505af11580156139f9573d6000803e3d6000fd5b505050506040513d6020811015613a0f57600080fd5b81019080805190602001909291905050501091505b50919050565b613a326124a1565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790826010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015613ab257600080fd5b505af1158015613ac6573d6000803e3d6000fd5b50505050613ad2615212565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b613af56124a1565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015613b6b57600080fd5b505af1158015613b7f573d6000803e3d6000fd5b505050506040513d6020811015613b9557600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b158015613c3457600080fd5b505af1158015613c48573d6000803e3d6000fd5b505050506040513d6020811015613c5e57600080fd5b81019080805190602001909291905050501515613c7a57600080fd5b50565b6060600080613c8a6148bb565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613d0057600080fd5b505af1158015613d14573d6000803e3d6000fd5b50505050613d206124a1565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613d9657600080fd5b505af1158015613daa573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015613dd457600080fd5b810190808051640100000000811115613dec57600080fd5b82810190506020810184811115613e0257600080fd5b8151856020820283011164010000000082111715613e1f57600080fd5b50509291906020018051906020019092919050505050809350508251841415613ee257613e4b85613a2a565b613e536124a1565b73ffffffffffffffffffffffffffffffffffffffff166395ecdf9e866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613ec957600080fd5b505af1158015613edd573d6000803e3d6000fd5b505050505b613eea6124a1565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613f6157600080fd5b505af1158015613f75573d6000803e3d6000fd5b505050506040513d610140811015613f8c57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508092505060008414801561403f575081155b156140da5761404c615200565b73ffffffffffffffffffffffffffffffffffffffff16635552f20061406f610e15565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156140c157600080fd5b505af11580156140d5573d6000803e3d6000fd5b505050505b6140e26124a1565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82286866040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561416057600080fd5b505af1158015614174573d6000803e3d6000fd5b505050506040513d602081101561418a57600080fd5b810190808051906020019092919050505090506141a5614e46565b73ffffffffffffffffffffffffffffffffffffffff16631eee01546141c86124a1565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561423e57600080fd5b505af1158015614252573d6000803e3d6000fd5b505050506040513d602081101561426857600080fd5b81019080805190602001909291905050506142b269021e19e0c9bab24000006142a486614296605554611e2c565b61522490919063ffffffff16565b61525c90919063ffffffff16565b6142ba610e15565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b15801561434557600080fd5b505af1158015614359573d6000803e3d6000fd5b505050506040513d604081101561436f57600080fd5b81019080805190602001909291908051906020019092919050505050505050505050565b600061439d615272565b15156143a857600080fd5b6143b3603954611e2c565b61446b6143be614e34565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561442157600080fd5b505af1158015614435573d6000803e3d6000fd5b505050506040513d602081101561444b57600080fd5b81019080805190602001909291905050508461500990919063ffffffff16565b81151561447457fe5b069050919050565b6000614486615272565b151561449157600080fd5b614578600161456a6144a4603954611e2c565b61455c6144af614e34565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561451257600080fd5b505af1158015614526573d6000803e3d6000fd5b505050506040513d602081101561453c57600080fd5b81019080805190602001909291905050508761500990919063ffffffff16565b61525c90919063ffffffff16565b6124b390919063ffffffff16565b9050919050565b60006145896124a1565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156145ff57600080fd5b505af1158015614613573d6000803e3d6000fd5b505050506040513d602081101561462957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b614677610dce565b15156146eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f74206d61696e20706861736500000000000000000000000000000000000081525060200191505060405180910390fd5b6146f433611b89565b1515614768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f74207061727469636970616e74000000000000000000000000000000000081525060200191505060405180910390fd5b614770615322565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561480a57600080fd5b505af115801561481e573d6000803e3d6000fd5b505050506040513d602081101561483457600080fd5b810190808051906020019092919050505015156148b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f74206b796320617070726f7665640000000000000000000000000000000081525060200191505060405180910390fd5b565b60006148c8602f54610ce2565b905090565b60006148da602354610ce2565b905090565b60006148ec602c54610ce2565b905090565b6000806148fc615334565b73ffffffffffffffffffffffffffffffffffffffff1663535199aa856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561497257600080fd5b505af1158015614986573d6000803e3d6000fd5b505050506040513d602081101561499c57600080fd5b81019080805190602001909291905050506149c8846020015185600001516124b390919063ffffffff16565b118015614a9257506149d8615334565b73ffffffffffffffffffffffffffffffffffffffff1663d32d0499846000015185602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614a5657600080fd5b505af1158015614a6a573d6000803e3d6000fd5b505050506040513d6020811015614a8057600080fd5b81019080805190602001909291905050505b15614ccb57614a9f6124a1565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015614b2257600080fd5b505af1158015614b36573d6000803e3d6000fd5b50505050614c0f614b48606754611e2c565b614b506124a1565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015614bc657600080fd5b505af1158015614bda573d6000803e3d6000fd5b505050506040513d6020811015614bf057600080fd5b81019080805190602001909291905050506124b390919063ffffffff16565b9050614c196124a1565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e856000614c42600086615346565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b158015614caa57600080fd5b505af1158015614cbe573d6000803e3d6000fd5b5050505060019150614d78565b614cd36124a1565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015614d5657600080fd5b505af1158015614d6a573d6000803e3d6000fd5b50505050614d7784613a2a565b5b614d806124a1565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015614e0357600080fd5b505af1158015614e17573d6000803e3d6000fd5b505050505092915050565b6000614e2f602d54610ce2565b905090565b6000614e41602754610ce2565b905090565b6000614e53602954610ce2565b905090565b6000614e62615334565b73ffffffffffffffffffffffffffffffffffffffff166377ebd46884846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015614ee057600080fd5b505af1158015614ef4573d6000803e3d6000fd5b505050506040513d6020811015614f0a57600080fd5b8101908080519060200190929190505050614f36856020015186600001516124b390919063ffffffff16565b1180156150005750614f46615334565b73ffffffffffffffffffffffffffffffffffffffff166336dfb1c2856000015186602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614fc457600080fd5b505af1158015614fd8573d6000803e3d6000fd5b505050506040513d6020811015614fee57600080fd5b81019080805190602001909291905050505b90509392505050565b600082821115151561501757fe5b818303905092915050565b6000806000806000615035605354611e2c565b9450615042605654611e2c565b935061504f605754611e2c565b92506150ae615071615062606154611e2c565b8561522490919063ffffffff16565b6150a061507f606054611e2c565b615092888a61522490919063ffffffff16565b61522490919063ffffffff16565b61525c90919063ffffffff16565b9150600090505b858110156151f7576150dd87828151811015156150ce57fe5b90602001906020020151611b89565b156151ea576150ea614e46565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d68888381518110151561511357fe5b90602001906020020151846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b1580156151a257600080fd5b505af11580156151b6573d6000803e3d6000fd5b505050506040513d60408110156151cc57600080fd5b81019080805190602001909291908051906020019092919050505050505b80806001019150506150b5565b50505050505050565b600061520d602654610ce2565b905090565b600061521f601e54610ce2565b905090565b6000808314156152375760009050615256565b818302905081838281151561524857fe5b0414151561525257fe5b8090505b92915050565b6000818381151561526957fe5b04905092915050565b60008061527d614e34565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156152e057600080fd5b505af11580156152f4573d6000803e3d6000fd5b505050506040513d602081101561530a57600080fd5b81019080805190602001909291905050501415905090565b600061532f602854610ce2565b905090565b6000615341602454610ce2565b905090565b600080600061535484615441565b91506153726000861461536957603d5461536d565b603b545b611e2c565b9050839250615382603854611e2c565b61538b85614393565b10156153cf576153c86153b96153a086614393565b6153ab603854611e2c565b61500990919063ffffffff16565b856124b390919063ffffffff16565b9250615439565b6153ec6153dd606954611e2c565b826124b390919063ffffffff16565b821015615438576154356154266001615418615409603854611e2c565b866124b390919063ffffffff16565b6124b390919063ffffffff16565b856124b390919063ffffffff16565b92505b5b505092915050565b600061546861544f83614393565b61545a603954611e2c565b61500990919063ffffffff16565b9050919050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016060815250905600a165627a7a72305820002a661480954fc4a714d9278974f0833b394465263421181a078285e0acb7e10029",
  "sourceMap": "322:18661:18:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;230:65;;;;;;;;301:53;;;;;;;;360:61;;;;;;;;427:57;;;;;;;;490:55;;;;;;;;551:59;;;;;;;;643:1;617:27;;677:1;650:28;;713:1;684:30;;758:1;721:38;;800:1;765:36;;843:1;807:37;;851:52;;;;;;;;909:66;;;;;;;;981:80;;;;;;;;1097:28;;;;;;;;1131:62;;;;;;;;1199:56;;;;;;;;1261:42;;;;;;;;1309:56;;;;;;;;1371:65;;;;;;;;1442:46;;;;;;;;1494:60;;;;;;;;1560:66;;;;;;;;1632:40;;;;;;;;1678:60;;;;;;;;1744:54;;;;;;;;1804:52;;;;;;;;1888:46;;;;;;;;1940:54;;;;;;;;2000:60;;;;;;;;2066:66;;;;;;;;2164:44;;;;;;;;2214:60;;;;;;;;2280;;;;;;;;2346:62;;;;;;;;2414:58;;;;;;;;2478:60;;;;;;;;2544:58;;;;;;;;2608:56;;;;;;;;2670:60;;;;;;;;2736:70;;;;;;;;2812:78;;;;;;;;2897:36;;;;;;;;2939;;;;;;;;2981:40;;;;;;;;3047:1;3028:20;;;;;;;;;;;;;;;;;;;;3077:1;3054:24;;;;;;;;;;;;;;;;;;;;3103:1;3084:20;;;;;;;;;;;;;;;;;;;;3135:1;3110:26;;;;;;;;;;;;;;;;;;;;3170:7;3143:34;;3184:57;;;;;;;;3247:62;;;;;;;;3315:76;;;;;;;;3398:64;;;;;;;;3468:52;;;;;;;;3526:58;;;;;;;;3590:56;;;;;;;;3652:67;;;;;;;;3725:65;;;;;;;;3797:84;;;;;;;;3887:88;;;;;;;;3981:87;;;;;;;;4074:91;;;;;;;;4171:84;;;;;;;;4261:88;;;;;;;;4355:87;;;;;;;;4448:91;;;;;;;;4545:87;;;;;;;;4638:91;;;;;;;;4736:62;;;;;;;;4804:66;;;;;;;;4876:64;;;;;;;;4946:68;;;;;;;;5021:51;;;;;;;;5078:76;;;;;;;;5160:75;;;;;;;;5242:65;;;;;;;;5313:79;;;;;;;;5398:89;;;;;;;;5494:68;;;;;;;;5568:56;;;;;;;;5630:72;;;;;;;;5740:91;;;;;;;;5838:72;;;;;;;;5916:76;;;;;;;;5999:78;;;;;;;;6083:76;;;;;;;;6166:73;;;;;;;;6245:77;;;;;;;;6329;;;;;;;;6412:81;;;;;;;;6500:79;;;;;;;;6585:75;;;;;;;;6667:74;;;;;;;;6747;;;;;;;;6828:83;;;;;;;;6917:86;;;;;;;;7009;;;;;;;;7102:67;;;;;;;;7175;;;;;;;;7249:63;;;;;;;;7319:77;;;;;;;;7403:66;;;;;;;;7476:71;;;;;;;;7554:72;;;;;;;;7632:78;;;;;;;;7716:82;;;;;;;;7805:62;;;;;;;;7873:68;;;;;;;;1191:107:18;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:107:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:43;1252:26;;1280:9;1247:4;;;:43;;;:::i;:::-;1239:52;;;;;;;;1191:107;322:18661;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;322:18661:18:-;;;;;;;",
  "deployedSourceMap": "322:18661:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6247:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7445:2360:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7445:2360:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4809:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4809:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3130:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3130:159:2;;;;;;;;;;;;;;;;;;;;;;;1949:3075:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1949:3075:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6728:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6728:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6448:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6448:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7327:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7327:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11308:243:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11308:243:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;605:208:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:208:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7126:431;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7126:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;6247:195:1:-;6338:20;6389:19;:17;:19::i;:::-;:34;;;6424:10;6389:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6389:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6389:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6389:46:1;;;;;;;;;;;;;;;;6374:61;;6247:195;;;:::o;264:18:67:-;;;;:::o;7445:2360:18:-;7668:12;7682:10;8049:23;7574:11;7587:6;4526:5:1;4479:52;;:12;:10;:12::i;:::-;:22;;;4502:11;4515:6;4479:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4479:43:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4479:43:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4479:43:1;;;;;;;;;;;;;;;;:52;;;4471:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7630:11:18;7643:6;3246:14:1;3263:12;:10;:12::i;:::-;:35;;;3299:11;3312:6;3263:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3263:56:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3263:56:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3263:56:1;;;;;;;;;;;;;;;;3246:73;;3344:1;3335:6;:10;3327:19;;;;;;;;3369:95;3380:83;3404:1;3394:6;:11;:68;;3436:26;;3394:68;;;3408:25;;3394:68;3380:13;:83::i;:::-;3369:6;:10;;:95;;;;:::i;:::-;3362:3;:102;;3354:111;;;;;;;;7716:13:18;:11;:13::i;:::-;7708:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7954:4;7946:12;;7978:5;7968:15;;8075:11;8049:37;;8186:108;8249:44;8263:29;;8249:13;:44::i;:::-;8186:37;8203:11;8216:6;8186:16;:37::i;:::-;:62;;:108;;;;:::i;:::-;8180:3;:114;8176:465;;;8354:51;8372:11;8385:6;8393:11;8354:17;:51::i;:::-;8318:87;;;;;;;;;;;;8524:5;8523:6;8519:35;;;8539:7;8548:5;8531:23;;;;;;8519:35;8176:465;8736:5;8728:13;;8765:1;8756:6;:10;8752:796;;;8860:66;8880:11;8893:6;8901:15;8918:7;8860:19;:66::i;:::-;8852:74;;8945:5;8944:6;8940:35;;;8960:7;8969:5;8952:23;;;;;;8940:35;8752:796;;;9151:7;:54;;;;;9162:43;9193:11;9162:30;:43::i;:::-;9151:54;9141:64;;9283:7;9279:259;;;9310:12;:10;:12::i;:::-;:40;;;9372:11;9405:24;;9310:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9310:137:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9310:137:18;;;;9279:259;;;9487:36;9511:11;9487:23;:36::i;:::-;9279:259;8752:796;9562:7;9558:87;;;9585:49;9614:11;9627:6;9585:28;:49::i;:::-;9558:87;9654:12;:10;:12::i;:::-;:27;;;9682:11;9695:6;9703:4;9654:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9654:54:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9654:54:18;;;;9718:12;:10;:12::i;:::-;:28;;;9747:11;9760:6;9768:7;9718:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9718:58:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9718:58:18;;;;9794:4;9786:12;;3473:1:1;4574;;;7445:2360:18;;;;;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4809:147:2:-;4886:17;4931:18;4945:3;4931:13;:18::i;:::-;4919:30;;4809:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3130:159::-;3206:22;3261:21;3278:3;3261:16;:21::i;:::-;3244:38;;3130:159;:::o;1949:3075:18:-;2161:12;2175:10;2976:53;;:::i;:::-;3356:28;3839:52;;:::i;:::-;2086:11;4344:5:1;4300:49;;:12;:10;:12::i;:::-;:27;;;4328:11;4300:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4300:40:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4300:40:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4300:40:1;;;;;;;;;;;;;;;;:49;;;4292:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2131:11:18;2199:14:1;2216:12;:10;:12::i;:::-;:40;;;2257:11;2216:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2216:53:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2216:53:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2216:53:1;;;;;;;;;;;;;;;;2199:70;;2296:1;2287:6;:10;2279:19;;;;;;;;2416:52;2427:40;2441:25;;2427:13;:40::i;:::-;2416:6;:10;;:52;;;;:::i;:::-;2409:3;:59;;2401:68;;;;;;;;2319:191:18;2465:44;2479:29;;2465:13;:44::i;:::-;2319:120;2398:40;2412:25;;2398:13;:40::i;:::-;2319:12;:10;:12::i;:::-;:40;;;2360:11;2319:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2319:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2319:53:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2319:53:18;;;;;;;;;;;;;;;;:78;;:120;;;;:::i;:::-;:145;;:191;;;;:::i;:::-;2313:3;:197;:257;;;;2527:43;2558:11;2527:30;:43::i;:::-;2526:44;2313:257;2309:498;;;2594:12;:10;:12::i;:::-;:33;;;2628:11;2641:5;2594:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2594:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2594:53:18;;;;2661:12;:10;:12::i;:::-;:32;;;2694:11;2707:4;2661:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2661:51:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2661:51:18;;;;2726:36;2750:11;2726:23;:36::i;:::-;2784:5;2791:4;2776:20;;;;;;2309:498;2824:27;2839:11;2824:14;:27::i;:::-;2816:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2878:31;:29;:31::i;:::-;3189:28;:26;:28::i;:::-;:51;;;3241:11;3189:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3189:64:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3189:64:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3189:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3039:214;3053:15;:28;;3095:15;:31;;3140:15;:35;;3039:214;;;;;;;;;;;;;;;;;;;3430:13;;;;;;;;;;;3398:45;;:15;:28;;;:45;;;3394:379;;;3473:19;:17;:19::i;:::-;:34;;;3525:11;3554:4;3473:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3473:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3473:99:18;;;;;;39:16:-1;36:1;17:17;2:54;3473:99:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3473:99:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;3473:99:18;;;;;;3459:113;;3394:379;;;3617:19;:17;:19::i;:::-;:38;;;3672:15;:28;;;3717:11;3745:4;3617:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3617:145:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3617:145:18;;;;;;39:16:-1;36:1;17:17;2:54;3617:145:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3617:145:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;3617:145:18;;;;;;3603:159;;3394:379;3950:12;:10;:12::i;:::-;:33;;;3984:11;3997;3950:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3950:59:18;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3950:59:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3950:59:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3950:59:18;;;;;;;;;;;;;;;;;;;;;;;;;3902:10;:19;;3923:10;:23;;3901:108;;;;;;;;;;4051:11;4082:1;4063:11;:18;:20;4051:33;;;;;;;;;;;;;;;;;;4020:15;:28;;:64;;;;;;;;;;;4128:56;4164:10;:19;;;4128:15;:31;;;:35;;:56;;;;:::i;:::-;4094:15;:31;;:90;;;;;4232:64;4272:10;:23;;;4232:15;:35;;;:39;;:64;;;;:::i;:::-;4194:15;:35;;:102;;;;;4348:17;:15;:17::i;:::-;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4348:37:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4348:37:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4348:37:18;;;;;;;;;;;;;;;;4311:74;;:11;4342:1;4323:11;:18;:20;4311:33;;;;;;;;;;;;;;;;;;:74;;;4307:711;;;4453:53;4477:11;4490:15;4453:23;:53::i;:::-;4443:63;;4528:4;4520:12;;4606:28;:26;:28::i;:::-;:53;;;4660:11;4606:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4606:66:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4606:66:18;;;;4307:711;;;4746:28;:26;:28::i;:::-;:51;;;4815:11;4844:15;:28;;;4890:15;:31;;;4939:15;:35;;;4992:1;4746:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4746:261:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4746:261:18;;;;4307:711;2479:1:1;4388;;1949:3075:18;;;;;;;;;:::o;6728:311:1:-;6811:8;6908:22;:20;:22::i;:::-;6854:19;:17;:19::i;:::-;:43;;;6898:5;6854:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6854:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6854:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6854:50:1;;;;;;;;;;;;;;;;:76;6853:179;;;;;6991:40;7005:25;;6991:13;:40::i;:::-;6948:17;:15;:17::i;:::-;:32;;;6981:5;6948:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6948:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6948:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6948:39:1;;;;;;;;;;;;;;;;:83;;6853:179;6835:197;;6728:311;;;:::o;6448:191::-;6537:20;6588:19;:17;:19::i;:::-;:32;;;6621:10;6588:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6588:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6588:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6588:44:1;;;;;;;;;;;;;;;;6573:59;;6448:191;;;:::o;7327:189:2:-;7415:20;7466:19;:17;:19::i;:::-;:31;;;7498:10;7466:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7466:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7466:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7466:43:2;;;;;;;;;;;;;;;;7451:58;;7327:189;;;:::o;11308:243:18:-;11396:12;11467:11;11492:41;;11437:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11437:106:18;;;11427:117;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11427:117:18;;;;;;;;;;;;;;;;11420:124;;11308:243;;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;605:208:1:-;697:23;768:12;:10;:12::i;:::-;:25;;;794:11;768:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;768:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;768:38:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;768:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;736:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;605:208;;;:::o;7126:431::-;7207:8;7304:22;:20;:22::i;:::-;7250:19;:17;:19::i;:::-;:43;;;7294:5;7250:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7250:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7250:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7250:50:1;;;;;;;;;;;;;;;;:76;7249:186;;;;;7387:47;7401:32;;7387:13;:47::i;:::-;7344:17;:15;:17::i;:::-;:32;;;7377:5;7344:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7344:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7344:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7344:39:1;;;;;;;;;;;;;;;;:90;;7249:186;:301;;;;;7495:54;7509:39;;7495:13;:54::i;:::-;7452:18;:16;:18::i;:::-;:32;;;7485:5;7452:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7452:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7452:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7452:39:1;;;;;;;;;;;;;;;;:97;;7249:301;7231:319;;7126:431;;;:::o;5464:198:2:-;5540:27;5613:41;5626:27;;5613:12;:41::i;:::-;5583:72;;5464:198;:::o;5865:170::-;5934:20;5993:34;6006:20;;5993:12;:34::i;:::-;5970:58;;5865:170;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;7997:847:1:-;8116:23;8155:36;8194:12;:10;:12::i;:::-;:35;;;8230:11;8243:15;8194:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8194:65:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8194:65:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8194:65:1;;;;;;;;;;;;;;;;8155:104;;8308:1;8277:28;:32;8269:41;;;;;;;;8400:1;8381:15;:20;8377:461;;;8515:91;8565:40;8579:25;;8565:13;:40::i;:::-;8515:28;:49;;:91;;;;:::i;:::-;8481:125;;8377:461;;;8735:92;8785:41;8799:26;;8785:13;:41::i;:::-;8735:28;:49;;:92;;;;:::i;:::-;8701:126;;8377:461;7997:847;;;;;:::o;14338:2975:18:-;14457:23;14482:12;14496:10;14626:53;;:::i;:::-;14913:24;15941:18;16000:48;;:::i;:::-;14522:31;:29;:31::i;:::-;14571:27;14586:11;14571:14;:27::i;:::-;14563:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14839:28;:26;:28::i;:::-;:51;;;14891:11;14839:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14839:64:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14839:64:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;14839:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14689:214;14703:15;:28;;14745:15;:31;;14790:15;:35;;14689:214;;;;;;;;;;;;;;;;;;;14983:13;;;;;;;;;;;14951:45;;:15;:28;;;:45;;;14947:984;;;15092:19;:17;:19::i;:::-;:36;;;15146:11;15175:4;15092:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15092:101:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15092:101:18;;;;;;39:16:-1;36:1;17:17;2:54;15092:101:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15092:101:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;15092:101:18;;;;;;15082:111;;14947:984;;;15234:19;:17;:19::i;:::-;:40;;;15292:15;:28;;;15338:11;15367:4;15234:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15234:151:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15234:151:18;;;;;;39:16:-1;36:1;17:17;2:54;15234:151:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15234:151:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;15234:151:18;;;;;;15224:161;;15724:1;15706:7;:14;:19;15702:219;;;15774:11;15807:55;15825:15;15842:11;15855:6;15807:17;:55::i;:::-;15884:4;15745:161;;;;;;;;15702:219;14947:984;15962:7;15987:1;15970:7;:14;:18;15962:27;;;;;;;;;;;;;;;;;;15941:48;;16099:12;:10;:12::i;:::-;:28;;;16128:11;16141:6;16149:7;16099:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16099:58:18;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16099:58:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16099:58:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16099:58:18;;;;;;;;;;;;;;;;;;;;;;;;;16059:6;:15;;16076:6;:19;;16058:99;;;;;;;;;;16202:52;16238:6;:15;;;16202;:31;;;:35;;:52;;;;:::i;:::-;16168:15;:31;;:86;;;;;16302:60;16342:6;:19;;;16302:15;:35;;;:39;;:60;;;;:::i;:::-;16264:15;:35;;:98;;;;;16372:28;:26;:28::i;:::-;:51;;;16437:11;16462:10;16486:15;:31;;;16531:15;:35;;;16580:1;16372:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16372:219:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16372:219:18;;;;16620:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16620:39:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16620:39:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16620:39:18;;;;;;;;;;;;;;;;16606:53;;:10;:53;;;;16602:266;;;16683:1;16686:5;16693;16675:24;;;;;;;;;;;16602:266;17177:31;17193:7;:14;17177:11;:15;;:31;;;;:::i;:::-;17159:49;;17226:4;17218:12;;17251:55;17269:15;17286:11;17299:6;17251:17;:55::i;:::-;17241:65;;14338:2975;;;;;;;;;;;;:::o;11661:2254::-;11796:10;11866:21;12053:28;12457:18;12640:48;;:::i;:::-;11841:1;11826:11;:16;11822:34;;;11851:5;11844:12;;;;11822:34;11918:28;:26;:28::i;:::-;:51;;;11983:49;12020:11;11983:36;:49::i;:::-;11918:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11918:124:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11918:124:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11918:124:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11897:145;;;;;;;;;;12112:13;;;;;;;;;;;12095:30;;:13;:30;;;12091:357;;;12155:19;:17;:19::i;:::-;:36;;;12209:11;12238:4;12155:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12155:101:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12155:101:18;;;;;;39:16:-1;36:1;17:17;2:54;12155:101:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12155:101:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;12155:101:18;;;;;;12141:115;;12091:357;;;12301:19;:17;:19::i;:::-;:40;;;12359:13;12390:11;12419:4;12301:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12301:136:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12301:136:18;;;;;;39:16:-1;36:1;17:17;2:54;12301:136:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12301:136:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;12301:136:18;;;;;;12287:150;;12091:357;12478:11;12511:1;12490:11;:18;:22;12478:35;;;;;;;;;;;;;;;;;;12457:56;;12702:7;12698:524;;;12873:12;:10;:12::i;:::-;:33;;;12907:11;12920:13;12931:1;12920:6;:10;;:13;;;;:::i;:::-;12935:11;12948:4;12873:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12873:80:18;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12873:80:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12873:80:18;;;;;;39:16:-1;36:1;17:17;2:54;12873:80:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12873:80:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;12873:80:18;;;;;;;;;;;;;;;;;12824:129;;;12825:12;:18;;12845:12;:24;;12824:129;;;;;;;;;12698:524;;;13130:12;:10;:12::i;:::-;:33;;;13164:11;13177:13;13188:1;13177:6;:10;;:13;;;;:::i;:::-;13192:11;13205:5;13130:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13130:81:18;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13130:81:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13130:81:18;;;;;;39:16:-1;36:1;17:17;2:54;13130:81:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13130:81:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;13130:81:18;;;;;;;;;;;;;;;;;13081:130;;;13082:12;:18;;13102:12;:24;;13081:130;;;;;;;;;12698:524;13263:1;13236:12;:24;;;:28;13232:98;;;13266:64;13285:12;:18;;;13305:12;:24;;;13266:18;:64::i;:::-;13232:98;13359:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13359:39:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13359:39:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13359:39:18;;;;;;;;;;;;;;;;13345:53;;:10;:53;;;13341:568;;;13457:28;:26;:28::i;:::-;:53;;;13528:49;13565:11;13528:36;:49::i;:::-;13457:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13457:134:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13457:134:18;;;;13613:4;13605:12;;13341:568;;;13729:28;:26;:28::i;:::-;:51;;;13798:49;13835:11;13798:36;:49::i;:::-;13865:10;13877:1;13880;13883;13729:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13729:169:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13729:169:18;;;;13341:568;11661:2254;;;;;;;;;;;:::o;10751:481:1:-;10859:17;10892:21;10953:12;:10;:12::i;:::-;:25;;;10979:11;10953:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10953:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10953:38:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10953:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10923:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11016:4;11001:19;;11035:16;11034:17;11030:196;;;11159:56;11173:41;;11159:13;:56::i;:::-;11082:27;:25;:27::i;:::-;:50;;;11133:22;:20;:22::i;:::-;11082:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11082:74:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11082:74:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11082:74:1;;;;;;;;;;;;;;;;:133;11067:148;;11030:196;10751:481;;;;:::o;17801:288:18:-;17886:12;:10;:12::i;:::-;:40;;;17927:11;17940:25;;17886:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17886:80:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17886:80:18;;;;17984:19;:17;:19::i;:::-;:36;;;18021:12;:10;:12::i;:::-;:33;;;18055:11;18021:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18021:46:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18021:46:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18021:46:18;;;;;;;;;;;;;;;;18069:11;17984:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17984:97:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17984:97:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17984:97:18;;;;;;;;;;;;;;;;17976:106;;;;;;;;17801:288;:::o;9875:1426::-;10291:35;10643:21;10956:16;10134:28;:26;:28::i;:::-;:53;;;10188:11;10134:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10134:66:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10134:66:18;;;;10360:12;:10;:12::i;:::-;:32;;;10393:11;10360:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10360:45:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10360:45:18;;;;;;39:16:-1;36:1;17:17;2:54;10360:45:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10360:45:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;10360:45:18;;;;;;;;;;;;;;;;;10336:69;;;;;10429:18;:25;10419:6;:35;10415:157;;;10470:36;10494:11;10470:23;:36::i;:::-;10520:12;:10;:12::i;:::-;:28;;;10549:11;10520:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10520:41:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10520:41:18;;;;10415:157;10704:12;:10;:12::i;:::-;:25;;;10730:11;10704:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10704:38:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10704:38:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10704:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10674:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10766:1;10756:6;:11;:32;;;;;10772:16;10771:17;10756:32;10752:148;;;10804:27;:25;:27::i;:::-;:61;;;10866:22;:20;:22::i;:::-;10804:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10804:85:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10804:85:18;;;;10752:148;10975:12;:10;:12::i;:::-;:34;;;11010:11;11023:6;10975:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10975:55:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10975:55:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10975:55:18;;;;;;;;;;;;;;;;10956:74;;11040:18;:16;:18::i;:::-;:34;;;11088:12;:10;:12::i;:::-;:33;;;11122:11;11088:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11088:46:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11088:46:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11088:46:18;;;;;;;;;;;;;;;;11148:100;11236:11;11148:83;11222:8;11148:69;11162:54;;11148:13;:69::i;:::-;:73;;:83;;;;:::i;:::-;:87;;:100;;;;:::i;:::-;11262:22;:20;:22::i;:::-;11040:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11040:254:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11040:254:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11040:254:18;;;;;;;;;;;;;;;;;;;;;;;;;;;9875:1426;;;;;:::o;3928:332:2:-;4013:22;4059:26;:24;:26::i;:::-;4051:35;;;;;;;;4215:38;4229:23;;4215:13;:38::i;:::-;4148:52;4158:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4158:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4158:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4158:41:2;;;;;;;;;;;;;;;;4148:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4119:134;;3928:332;;;:::o;3435:320::-;3523:14;3561:26;:24;:26::i;:::-;3553:35;;;;;;;;3619:129;3746:1;3619:109;3689:38;3703:23;;3689:13;:38::i;:::-;3619:52;3629:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3629:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3629:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3629:41:2;;;;;;;;;;;;;;;;3619:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3598:150;;3435:320;;;:::o;974:213:1:-;1066:20;1134:12;:10;:12::i;:::-;:33;;;1168:11;1134:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1134:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1134:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1134:46:1;;;;;;;;;;;;;;;;1120:60;;:10;:60;;;1102:78;;974:213;;;:::o;11998:280::-;12091:13;:11;:13::i;:::-;12083:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12141:25;12155:10;12141:13;:25::i;:::-;12133:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12204:18;:16;:18::i;:::-;:34;;;12239:10;12204:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12204:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12204:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12204:46:1;;;;;;;;;;;;;;;;12196:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11998:280::o;7086:235:2:-;7171:36;7262:51;7275:37;;7262:12;:51::i;:::-;7223:91;;7086:235;:::o;5259:199::-;5335:27;5408:42;5421:28;;5408:12;:42::i;:::-;5378:73;;5259:199;:::o;5668:191::-;5742:25;5811:40;5824:26;;5811:12;:40::i;:::-;5783:69;;5668:191;:::o;5031:1165:18:-;5167:12;5660:23;5288:22;:20;:22::i;:::-;:41;;;5330:11;5288:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5288:54:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5288:54:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5288:54:18;;;;;;;;;;;;;;;;5213:72;5249:15;:35;;;5213:15;:31;;;:35;;:72;;;;:::i;:::-;:129;5212:256;;;;;5360:22;:20;:22::i;:::-;:37;;;5398:15;:31;;;5431:15;:35;;;5360:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5360:107:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5360:107:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5360:107:18;;;;;;;;;;;;;;;;5212:256;5195:933;;;5493:12;:10;:12::i;:::-;:33;;;5527:11;5540:4;5493:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5493:52:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5493:52:18;;;;5686:99;5744:40;5758:25;;5744:13;:40::i;:::-;5686:12;:10;:12::i;:::-;:40;;;5727:11;5686:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5686:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5686:53:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5686:53:18;;;;;;;;;;;;;;;;:57;;:99;;;;:::i;:::-;5660:125;;5799:12;:10;:12::i;:::-;:34;;;5851:11;5880:1;5899:42;5922:1;5925:15;5899:22;:42::i;:::-;5799:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5799:156:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5799:156:18;;;;5979:4;5969:14;;5195:933;;;6014:12;:10;:12::i;:::-;:33;;;6048:11;6061:5;6014:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6014:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6014:53:18;;;;6081:36;6105:11;6081:23;:36::i;:::-;5195:933;6138:12;:10;:12::i;:::-;:32;;;6171:11;6184:4;6138:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6138:51:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6138:51:18;;;;5031:1165;;;;;:::o;6881:199:2:-;6957:27;7030:42;7043:28;;7030:12;:42::i;:::-;7000:73;;6881:199;:::o;6270:::-;6346:27;6419:42;6432:28;;6419:12;:42::i;:::-;6389:73;;6270:199;:::o;6680:195::-;6755:26;6826:41;6839:27;;6826:12;:41::i;:::-;6797:71;;6680:195;:::o;17320:474:18:-;17479:12;17593:22;:20;:22::i;:::-;:42;;;17636:11;17649:6;17593:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17593:63:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17593:63:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17593:63:18;;;;;;;;;;;;;;;;17518:72;17554:15;:35;;;17518:15;:31;;;:35;;:72;;;;:::i;:::-;:138;17517:270;;;;;17678:22;:20;:22::i;:::-;:38;;;17717:15;:31;;;17750:15;:35;;;17678:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17678:108:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17678:108:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17678:108:18;;;;;;;;;;;;;;;;17517:270;17507:280;;17320:474;;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;18232:748:18:-;18321:11;18385:13;18459;18536:14;18747:9;18335:40;18349:25;;18335:13;:40::i;:::-;18321:54;;18401:48;18415:33;;18401:13;:48::i;:::-;18385:64;;18475:50;18489:35;;18475:13;:50::i;:::-;18459:66;;18553:178;18657:60;18667:49;18681:34;;18667:13;:49::i;:::-;18657:5;:9;;:60;;;;:::i;:::-;18553:69;18572:49;18586:34;;18572:13;:49::i;:::-;18553:14;18561:5;18553:3;:7;;:14;;;;:::i;:::-;:18;;:69;;;;:::i;:::-;:86;;:178;;;;:::i;:::-;18536:195;;18759:1;18747:13;;18742:232;18766:2;18762:1;:6;18742:232;;;18793:25;18807:7;18815:1;18807:10;;;;;;;;;;;;;;;;;;18793:13;:25::i;:::-;18789:175;;;18892:18;:16;:18::i;:::-;:37;;;18930:7;18938:1;18930:10;;;;;;;;;;;;;;;;;;18942:6;18892:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18892:57:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18892:57:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18892:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;18789:175;18770:3;;;;;;;18742:232;;;18232:748;;;;;;;:::o;6041:223:2:-;6125:35;6214:42;6227:28;;6214:12;:42::i;:::-;6176:81;;6041:223;:::o;781:199:18:-;857:27;930:42;943:28;;930:12;:42::i;:::-;900:73;;781:199;:::o;203:380:84:-;263:9;495:1;489:2;:7;485:36;;;513:1;506:8;;;;485:36;536:2;531;:7;527:11;;561:2;555;551:1;:6;;;;;;;;:12;544:20;;;;;;577:1;570:8;;203:380;;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;4409:172:2:-;4492:11;4573:1;4528:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4528:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4528:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4528:41:2;;;;;;;;;;;;;;;;:46;;4519:55;;4409:172;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;564:211:18:-;643:30;722:45;735:31;;722:12;:45::i;:::-;689:79;;564:211;:::o;9228:1125:1:-;9376:26;9418;9500:23;9447:43;9468:21;9447:20;:43::i;:::-;9418:72;;9526:83;9550:1;9540:6;:11;:68;;9582:26;;9540:68;;;9554:25;;9540:68;9526:13;:83::i;:::-;9500:109;;9640:21;9619:42;;9714:44;9728:29;;9714:13;:44::i;:::-;9675:36;9689:21;9675:13;:36::i;:::-;:83;9671:676;;;9847:143;9890:86;9939:36;9953:21;9939:13;:36::i;:::-;9890:44;9904:29;;9890:13;:44::i;:::-;:48;;:86;;;;:::i;:::-;9847:21;:25;;:143;;;;:::i;:::-;9826:164;;9671:676;;;10032:65;10052:44;10066:29;;10052:13;:44::i;:::-;10032:15;:19;;:65;;;;:::i;:::-;10011:18;:86;10007:340;;;10204:132;10247:75;10320:1;10247:68;10270:44;10284:29;;10270:13;:44::i;:::-;10247:18;:22;;:68;;;;:::i;:::-;:72;;:75;;;;:::i;:::-;10204:21;:25;;:132;;;;:::i;:::-;10183:153;;10007:340;9671:676;9228:1125;;;;;;:::o;5027:226:2:-;5119:26;5182:64;5225:20;5239:5;5225:13;:20::i;:::-;5182:38;5196:23;;5182:13;:38::i;:::-;:42;;:64;;;;:::i;:::-;5161:85;;5027:226;;;:::o;322:18661:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoCommon.sol\";\nimport \"../service/DaoCalculatorService.sol\";\nimport \"./DaoFundingManager.sol\";\nimport \"./DaoRewardsManager.sol\";\nimport \"../lib/DaoIntermediateStructs.sol\";\nimport \"../lib/DaoStructs.sol\";\n\n\n/**\n@title Contract to claim voting results\n@author Digix Holdings\n*/\ncontract DaoVotingClaims is DaoCommon {\n    using DaoIntermediateStructs for DaoIntermediateStructs.VotingCount;\n    using DaoIntermediateStructs for DaoIntermediateStructs.Users;\n    using DaoStructs for DaoStructs.IntermediateResults;\n\n    function daoCalculatorService()\n        internal\n        view\n        returns (DaoCalculatorService _contract)\n    {\n        _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR));\n    }\n\n    function daoFundingManager()\n        internal\n        view\n        returns (DaoFundingManager _contract)\n    {\n        _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER));\n    }\n\n    function daoRewardsManager()\n        internal\n        view\n        returns (DaoRewardsManager _contract)\n    {\n        _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER));\n    }\n\n    constructor(address _resolver) public {\n        require(init(CONTRACT_DAO_VOTING_CLAIMS, _resolver));\n    }\n\n\n    /**\n    @notice Function to claim the draft voting result (can only be called by the proposal proposer)\n    @dev The founder/or anyone is supposed to call this function after the claiming deadline has passed, to clean it up and close this proposal.\n         If this voting fails, the collateral will be refunded\n    @param _proposalId ID of the proposal\n    @param _operations Number of operations to do in this call\n    @return {\n      \"_passed\": \"Boolean, true if the draft voting has passed, false if the claiming deadline has passed or the voting has failed\",\n      \"_done\": \"Boolean, true if the calculation has finished\"\n    }\n    */\n    function claimDraftVotingResult(\n        bytes32 _proposalId,\n        uint256 _operations\n    )\n        public\n        ifDraftNotClaimed(_proposalId)\n        ifAfterDraftVotingPhase(_proposalId)\n        returns (bool _passed, bool _done)\n    {\n        // if after the claiming deadline, or the limit for non-digix proposals is reached, its auto failed\n        if (now > daoStorage().readProposalDraftVotingTime(_proposalId)\n                    .add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE))\n                    .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))\n            || !isNonDigixProposalsWithinLimit(_proposalId))\n        {\n            daoStorage().setProposalDraftPass(_proposalId, false);\n            daoStorage().setDraftVotingClaim(_proposalId, true);\n            processCollateralRefund(_proposalId);\n            return (false, true);\n        }\n        require(isFromProposer(_proposalId), \"not proposer\");\n        senderCanDoProposerOperations();\n\n        // get the previously stored intermediary state\n        DaoStructs.IntermediateResults memory _currentResults;\n        (\n            _currentResults.countedUntil,\n            _currentResults.currentForCount,\n            _currentResults.currentAgainstCount,\n        ) = intermediateResultsStorage().getIntermediateResults(_proposalId);\n\n        // get the moderators to calculate in this transaction, based on intermediate state\n        address[] memory _moderators;\n        if (_currentResults.countedUntil == EMPTY_ADDRESS) {\n            _moderators = daoListingService().listModerators(\n                _operations,\n                true\n            );\n        } else {\n            _moderators = daoListingService().listModeratorsFrom(\n               _currentResults.countedUntil,\n               _operations,\n               true\n           );\n        }\n\n        // count the votes for this batch of moderators\n        DaoIntermediateStructs.VotingCount memory _voteCount;\n        (_voteCount.forCount, _voteCount.againstCount) = daoStorage().readDraftVotingCount(_proposalId, _moderators);\n\n        _currentResults.countedUntil = _moderators[_moderators.length-1];\n        _currentResults.currentForCount = _currentResults.currentForCount.add(_voteCount.forCount);\n        _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_voteCount.againstCount);\n\n        if (_moderators[_moderators.length-1] == daoStakeStorage().readLastModerator()) {\n            // this is the last iteration\n            _passed = processDraftVotingClaim(_proposalId, _currentResults);\n            _done = true;\n\n            // reset intermediate result for the proposal.\n            intermediateResultsStorage().resetIntermediateResults(_proposalId);\n        } else {\n            // update intermediate results\n            intermediateResultsStorage().setIntermediateResults(\n                _proposalId,\n                _currentResults.countedUntil,\n                _currentResults.currentForCount,\n                _currentResults.currentAgainstCount,\n                0\n            );\n        }\n    }\n\n\n    function processDraftVotingClaim(bytes32 _proposalId, DaoStructs.IntermediateResults _currentResults)\n        internal\n        returns (bool _passed)\n    {\n        if (\n            (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumDraftQuorum(_proposalId)) &&\n            (daoCalculatorService().draftQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount))\n        ) {\n            daoStorage().setProposalDraftPass(_proposalId, true);\n\n            // set startTime of first voting round\n            // and the start of first milestone.\n            uint256 _idealStartTime = daoStorage().readProposalDraftVotingTime(_proposalId).add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE));\n            daoStorage().setProposalVotingTime(\n                _proposalId,\n                0,\n                getTimelineForNextVote(0, _idealStartTime)\n            );\n            _passed = true;\n        } else {\n            daoStorage().setProposalDraftPass(_proposalId, false);\n            processCollateralRefund(_proposalId);\n        }\n\n        daoStorage().setDraftVotingClaim(_proposalId, true);\n    }\n\n    /// NOTE: Voting round i-th is before milestone index i-th\n\n\n    /**\n    @notice Function to claim the  voting round results\n    @dev This function has two major steps:\n         - Counting the votes\n            + There is no need for this step if there are some conditions that makes the proposal auto failed\n            + The number of operations needed for this step is the number of participants in the quarter\n         - Calculating the bonus for the voters in the preceding round\n            + We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus)\n            + The number of operations needed for this step is the number of participants who voted \"correctly\" in the preceding voting round\n         Step 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly,\n         until _done is true\n\n         If the voting round fails, the collateral will be returned back to the proposer\n    @param _proposalId ID of the proposal\n    @param _index Index of the  voting round\n    @param _operations Number of operations to do in this call\n    @return {\n      \"_passed\": \"Boolean, true if the  voting round passed, false if failed\"\n    }\n    */\n    function claimProposalVotingResult(bytes32 _proposalId, uint256 _index, uint256 _operations)\n        public\n        ifNotClaimed(_proposalId, _index)\n        ifAfterProposalRevealPhase(_proposalId, _index)\n        returns (bool _passed, bool _done)\n    {\n        require(isMainPhase(), \"not main phase\");\n\n        // STEP 1\n        // If the claiming deadline is over, the proposal is auto failed, and anyone can call this function\n        // Here, _done is refering to whether STEP 1 is done\n        _done = true;\n        _passed = false; // redundant, put here just to emphasize that its false\n        uint256 _operationsLeft = _operations;\n        // In other words, we only need to do Step 1 if its before the deadline\n        if (now < startOfMilestone(_proposalId, _index)\n                    .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE)))\n        {\n            (_operationsLeft, _passed, _done) = countProposalVote(_proposalId, _index, _operations);\n            // from here on, _operationsLeft is the number of operations left, after Step 1 is done\n            if (!_done) return (_passed, false); // haven't done Step 1 yet, return. The value of _passed here is irrelevant\n        }\n\n        // STEP 2\n        // from this point onwards, _done refers to step 2\n        _done = false;\n\n        if (_index > 0) { // We only need to do bonus calculation if its a interim voting round\n            _done = calculateVoterBonus(_proposalId, _index, _operationsLeft, _passed);\n            if (!_done) return (_passed, false); // Step 2 is not done yet, return\n        } else {\n            // its the first voting round, we return the collateral if it fails, locks if it passes\n\n            _passed = _passed && isNonDigixProposalsWithinLimit(_proposalId); // can only pass if its within the non-digix proposal limit\n            if (_passed) {\n                daoStorage().setProposalCollateralStatus(\n                    _proposalId,\n                    COLLATERAL_STATUS_LOCKED\n                );\n\n            } else {\n                processCollateralRefund(_proposalId);\n            }\n        }\n\n        if (_passed) {\n            processSuccessfulVotingClaim(_proposalId, _index);\n        }\n        daoStorage().setVotingClaim(_proposalId, _index, true);\n        daoStorage().setProposalPass(_proposalId, _index, _passed);\n        _done = true;\n    }\n\n\n    // do the necessary steps after a successful voting round.\n    function processSuccessfulVotingClaim(bytes32 _proposalId, uint256 _index)\n        internal\n    {\n        // clear the intermediate results for the proposal, so that next voting rounds can reuse the same key <proposal_id> for the intermediate results\n        intermediateResultsStorage().resetIntermediateResults(_proposalId);\n\n        // if this was the final voting round, unlock their original collateral\n        uint256[] memory _milestoneFundings;\n        (_milestoneFundings,) = daoStorage().readProposalFunding(_proposalId);\n        if (_index == _milestoneFundings.length) {\n            processCollateralRefund(_proposalId);\n            daoStorage().archiveProposal(_proposalId);\n        }\n\n        // increase the non-digix proposal count accordingly\n        bool _isDigixProposal;\n        (,,,,,,,,,_isDigixProposal) = daoStorage().readProposal(_proposalId);\n        if (_index == 0 && !_isDigixProposal) {\n            daoProposalCounterStorage().addNonDigixProposalCountInQuarter(currentQuarterNumber());\n        }\n\n        // Add quarter point for the proposer\n        uint256 _funding = daoStorage().readProposalMilestone(_proposalId, _index);\n        daoPointsStorage().addQuarterPoint(\n            daoStorage().readProposalProposer(_proposalId),\n            getUintConfig(CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH).mul(_funding).div(10000 ether),\n            currentQuarterNumber()\n        );\n    }\n\n\n    function getInterResultKeyForBonusCalculation(bytes32 _proposalId) public view returns (bytes32 _key) {\n        _key = keccak256(abi.encodePacked(\n            _proposalId,\n            INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER\n        ));\n    }\n\n\n    // calculate and update the bonuses for voters who voted \"correctly\" in the preceding voting round\n    function calculateVoterBonus(bytes32 _proposalId, uint256 _index, uint256 _operations, bool _passed)\n        internal\n        returns (bool _done)\n    {\n        if (_operations == 0) return false;\n        address _countedUntil;\n        (_countedUntil,,,) = intermediateResultsStorage().getIntermediateResults(\n            getInterResultKeyForBonusCalculation(_proposalId)\n        );\n\n        address[] memory _voterBatch;\n        if (_countedUntil == EMPTY_ADDRESS) {\n            _voterBatch = daoListingService().listParticipants(\n                _operations,\n                true\n            );\n        } else {\n            _voterBatch = daoListingService().listParticipantsFrom(\n                _countedUntil,\n                _operations,\n                true\n            );\n        }\n        address _lastVoter = _voterBatch[_voterBatch.length - 1]; // this will fail if _voterBatch is empty. However, there is at least the proposer as a participant in the quarter.\n\n        DaoIntermediateStructs.Users memory _bonusVoters;\n        if (_passed) {\n\n            // give bonus points for all those who\n            // voted YES in the previous round\n            (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, true);\n        } else {\n            // give bonus points for all those who\n            // voted NO in the previous round\n            (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, false);\n        }\n\n        if (_bonusVoters.usersLength > 0) addBonusReputation(_bonusVoters.users, _bonusVoters.usersLength);\n\n        if (_lastVoter == daoStakeStorage().readLastParticipant()) {\n            // this is the last iteration\n\n            intermediateResultsStorage().resetIntermediateResults(\n                getInterResultKeyForBonusCalculation(_proposalId)\n            );\n            _done = true;\n        } else {\n            // this is not the last iteration yet, save the intermediate results\n            intermediateResultsStorage().setIntermediateResults(\n                getInterResultKeyForBonusCalculation(_proposalId),\n                _lastVoter, 0, 0, 0\n            );\n        }\n    }\n\n\n    // Count the votes for a Voting Round and find out if its passed\n    /// @return _operationsLeft The number of operations left after the calculations in this function\n    /// @return _passed Whether this voting round passed\n    /// @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions\n    /// until _done is true\n    function countProposalVote(bytes32 _proposalId, uint256 _index, uint256 _operations)\n        internal\n        returns (uint256 _operationsLeft, bool _passed, bool _done)\n    {\n        senderCanDoProposerOperations();\n        require(isFromProposer(_proposalId), \"not proposer\");\n\n        DaoStructs.IntermediateResults memory _currentResults;\n        (\n            _currentResults.countedUntil,\n            _currentResults.currentForCount,\n            _currentResults.currentAgainstCount,\n        ) = intermediateResultsStorage().getIntermediateResults(_proposalId);\n        address[] memory _voters;\n        if (_currentResults.countedUntil == EMPTY_ADDRESS) { // This is the first transaction to count votes for this voting round\n            _voters = daoListingService().listParticipants(\n                _operations,\n                true\n            );\n        } else {\n            _voters = daoListingService().listParticipantsFrom(\n                _currentResults.countedUntil,\n                _operations,\n                true\n            );\n\n            // If there's no voters left to count, this means that STEP 1 is already done, just return whether it was passed\n            // Note that _currentResults should already be storing the final tally of votes for this voting round, as already calculated in previous iterations of this function\n            if (_voters.length == 0) {\n                return (\n                    _operations,\n                    isVoteCountPassed(_currentResults, _proposalId, _index),\n                    true\n                );\n            }\n        }\n\n        address _lastVoter = _voters[_voters.length - 1];\n\n        DaoIntermediateStructs.VotingCount memory _count;\n        (_count.forCount, _count.againstCount) = daoStorage().readVotingCount(_proposalId, _index, _voters);\n\n        _currentResults.currentForCount = _currentResults.currentForCount.add(_count.forCount);\n        _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_count.againstCount);\n        intermediateResultsStorage().setIntermediateResults(\n            _proposalId,\n            _lastVoter,\n            _currentResults.currentForCount,\n            _currentResults.currentAgainstCount,\n            0\n        );\n\n        if (_lastVoter != daoStakeStorage().readLastParticipant()) {\n            return (0, false, false); // hasn't done STEP 1 yet. The parent function (claimProposalVotingResult) should return after this. More transactions are needed to continue the calculation\n        }\n\n        // If it comes to here, this means all votes have already been counted\n        // From this point, the IntermediateResults struct will store the total tally of the votes for this voting round until processSuccessfulVotingClaim() is called,\n        // which will reset it.\n\n        _operationsLeft = _operations.sub(_voters.length);\n        _done = true;\n\n        _passed = isVoteCountPassed(_currentResults, _proposalId, _index);\n    }\n\n\n    function isVoteCountPassed(DaoStructs.IntermediateResults _currentResults, bytes32 _proposalId, uint256 _index)\n        internal\n        view\n        returns (bool _passed)\n    {\n        _passed = (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumVotingQuorum(_proposalId, _index))\n                && (daoCalculatorService().votingQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount));\n    }\n\n\n    function processCollateralRefund(bytes32 _proposalId)\n        internal\n    {\n        daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED);\n        require(daoFundingManager().refundCollateral(daoStorage().readProposalProposer(_proposalId), _proposalId));\n    }\n\n\n    // add bonus reputation for voters that voted \"correctly\" in the preceding voting round AND is currently participating this quarter\n    function addBonusReputation(address[] _voters, uint256 _n)\n        private\n    {\n        uint256 _qp = getUintConfig(CONFIG_QUARTER_POINT_VOTE);\n        uint256 _rate = getUintConfig(CONFIG_BONUS_REPUTATION_NUMERATOR);\n        uint256 _base = getUintConfig(CONFIG_BONUS_REPUTATION_DENOMINATOR);\n\n        uint256 _bonus = _qp.mul(_rate).mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_NUM))\n            .div(\n                _base.mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_DEN))\n            );\n\n        for (uint256 i = 0; i < _n; i++) {\n            if (isParticipant(_voters[i])) { // only give bonus reputation to current participants\n                daoPointsStorage().increaseReputation(_voters[i], _bonus);\n            }\n        }\n    }\n\n}\n",
  "sourcePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoVotingClaims.sol",
  "ast": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoVotingClaims.sol",
    "exportedSymbols": {
      "DaoVotingClaims": [
        7774
      ]
    },
    "id": 7775,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6629,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:18"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/common/DaoCommon.sol",
        "file": "../common/DaoCommon.sol",
        "id": 6630,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 885,
        "src": "26:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/service/DaoCalculatorService.sol",
        "file": "../service/DaoCalculatorService.sol",
        "id": 6631,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 12094,
        "src": "60:45:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoFundingManager.sol",
        "file": "./DaoFundingManager.sol",
        "id": 6632,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 3191,
        "src": "106:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoRewardsManager.sol",
        "file": "./DaoRewardsManager.sol",
        "id": 6633,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 4667,
        "src": "140:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoIntermediateStructs.sol",
        "file": "../lib/DaoIntermediateStructs.sol",
        "id": 6634,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 7884,
        "src": "174:43:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoStructs.sol",
        "file": "../lib/DaoStructs.sol",
        "id": 6635,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 8452,
        "src": "218:31:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 6636,
              "name": "DaoCommon",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 884,
              "src": "350:9:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoCommon_$884",
                "typeString": "contract DaoCommon"
              }
            },
            "id": 6637,
            "nodeType": "InheritanceSpecifier",
            "src": "350:9:18"
          }
        ],
        "contractDependencies": [
          884,
          1282,
          1629,
          1868,
          1960,
          18628
        ],
        "contractKind": "contract",
        "documentation": "@title Contract to claim voting results\n@author Digix Holdings",
        "fullyImplemented": true,
        "id": 7774,
        "linearizedBaseContracts": [
          7774,
          884,
          1282,
          1960,
          1868,
          1629,
          18628
        ],
        "name": "DaoVotingClaims",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 6640,
            "libraryName": {
              "contractScope": null,
              "id": 6638,
              "name": "DaoIntermediateStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7883,
              "src": "372:22:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7883",
                "typeString": "library DaoIntermediateStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "366:68:18",
            "typeName": {
              "contractScope": null,
              "id": 6639,
              "name": "DaoIntermediateStructs.VotingCount",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7876,
              "src": "399:34:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                "typeString": "struct DaoIntermediateStructs.VotingCount"
              }
            }
          },
          {
            "id": 6643,
            "libraryName": {
              "contractScope": null,
              "id": 6641,
              "name": "DaoIntermediateStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7883,
              "src": "445:22:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7883",
                "typeString": "library DaoIntermediateStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "439:62:18",
            "typeName": {
              "contractScope": null,
              "id": 6642,
              "name": "DaoIntermediateStructs.Users",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7882,
              "src": "472:28:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Users_$7882_storage_ptr",
                "typeString": "struct DaoIntermediateStructs.Users"
              }
            }
          },
          {
            "id": 6646,
            "libraryName": {
              "contractScope": null,
              "id": 6644,
              "name": "DaoStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8451,
              "src": "512:10:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStructs_$8451",
                "typeString": "library DaoStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "506:52:18",
            "typeName": {
              "contractScope": null,
              "id": 6645,
              "name": "DaoStructs.IntermediateResults",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8450,
              "src": "527:30:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                "typeString": "struct DaoStructs.IntermediateResults"
              }
            }
          },
          {
            "body": {
              "id": 6659,
              "nodeType": "Block",
              "src": "679:96:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 6651,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6649,
                      "src": "689:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6654,
                              "name": "CONTRACT_SERVICE_DAO_CALCULATOR",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1394,
                              "src": "735:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6653,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "722:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6655,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "722:45:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6652,
                        "name": "DaoCalculatorService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12093,
                        "src": "701:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12093_$",
                          "typeString": "type(contract DaoCalculatorService)"
                        }
                      },
                      "id": 6656,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "701:67:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "src": "689:79:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "id": 6658,
                  "nodeType": "ExpressionStatement",
                  "src": "689:79:18"
                }
              ]
            },
            "documentation": null,
            "id": 6660,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoCalculatorService",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6647,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "593:2:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6650,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6649,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 6660,
                  "src": "643:30:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                    "typeString": "contract DaoCalculatorService"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6648,
                    "name": "DaoCalculatorService",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 12093,
                    "src": "643:20:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "642:32:18"
            },
            "scope": 7774,
            "src": "564:211:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6673,
              "nodeType": "Block",
              "src": "890:90:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 6665,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6663,
                      "src": "900:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6668,
                              "name": "CONTRACT_DAO_FUNDING_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1376,
                              "src": "943:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6667,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "930:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6669,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "930:42:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6666,
                        "name": "DaoFundingManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3190,
                        "src": "912:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3190_$",
                          "typeString": "type(contract DaoFundingManager)"
                        }
                      },
                      "id": 6670,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "912:61:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "src": "900:73:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "id": 6672,
                  "nodeType": "ExpressionStatement",
                  "src": "900:73:18"
                }
              ]
            },
            "documentation": null,
            "id": 6674,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoFundingManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6661,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "807:2:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6664,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6663,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 6674,
                  "src": "857:27:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                    "typeString": "contract DaoFundingManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6662,
                    "name": "DaoFundingManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3190,
                    "src": "857:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "856:29:18"
            },
            "scope": 7774,
            "src": "781:199:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6687,
              "nodeType": "Block",
              "src": "1095:90:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6685,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 6679,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6677,
                      "src": "1105:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6682,
                              "name": "CONTRACT_DAO_REWARDS_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1367,
                              "src": "1148:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6681,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "1135:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1135:42:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6680,
                        "name": "DaoRewardsManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4666,
                        "src": "1117:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4666_$",
                          "typeString": "type(contract DaoRewardsManager)"
                        }
                      },
                      "id": 6684,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1117:61:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "src": "1105:73:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "id": 6686,
                  "nodeType": "ExpressionStatement",
                  "src": "1105:73:18"
                }
              ]
            },
            "documentation": null,
            "id": 6688,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoRewardsManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6675,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1012:2:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6678,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6677,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 6688,
                  "src": "1062:27:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                    "typeString": "contract DaoRewardsManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6676,
                    "name": "DaoRewardsManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4666,
                    "src": "1062:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1061:29:18"
            },
            "scope": 7774,
            "src": "986:199:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6700,
              "nodeType": "Block",
              "src": "1229:69:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 6695,
                            "name": "CONTRACT_DAO_VOTING_CLAIMS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1358,
                            "src": "1252:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 6696,
                            "name": "_resolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6690,
                            "src": "1280:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 6694,
                          "name": "init",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18596,
                          "src": "1247:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$",
                            "typeString": "function (bytes32,address) returns (bool)"
                          }
                        },
                        "id": 6697,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1247:43:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 6693,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "1239:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 6698,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1239:52:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6699,
                  "nodeType": "ExpressionStatement",
                  "src": "1239:52:18"
                }
              ]
            },
            "documentation": null,
            "id": 6701,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6691,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6690,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 6701,
                  "src": "1203:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6689,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1203:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1202:19:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6692,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1229:0:18"
            },
            "scope": 7774,
            "src": "1191:107:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6922,
              "nodeType": "Block",
              "src": "2191:2833:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 6739,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 6734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 6718,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26184,
                        "src": "2313:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6731,
                                "name": "CONFIG_VOTE_CLAIMING_DEADLINE",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1610,
                                "src": "2479:29:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 6730,
                              "name": "getUintConfig",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1281,
                              "src": "2465:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view returns (uint256)"
                              }
                            },
                            "id": 6732,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2465:44:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 6726,
                                    "name": "CONFIG_DRAFT_VOTING_PHASE",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1604,
                                    "src": "2412:25:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 6725,
                                  "name": "getUintConfig",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1281,
                                  "src": "2398:13:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                    "typeString": "function (bytes32) view returns (uint256)"
                                  }
                                },
                                "id": 6727,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2398:40:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 6722,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6703,
                                    "src": "2360:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 6719,
                                      "name": "daoStorage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1181,
                                      "src": "2319:10:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                        "typeString": "function () view returns (contract DaoStorage)"
                                      }
                                    },
                                    "id": 6720,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2319:12:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                      "typeString": "contract DaoStorage"
                                    }
                                  },
                                  "id": 6721,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "readProposalDraftVotingTime",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16315,
                                  "src": "2319:40:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                    "typeString": "function (bytes32) view external returns (uint256)"
                                  }
                                },
                                "id": 6723,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2319:53:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 6724,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25610,
                              "src": "2319:78:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 6728,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2319:120:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 6729,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "add",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25610,
                          "src": "2319:145:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 6733,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2319:191:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2313:197:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 6738,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "2526:44:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 6736,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6703,
                            "src": "2558:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 6735,
                          "name": "isNonDigixProposalsWithinLimit",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 818,
                          "src": "2527:30:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 6737,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2527:43:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2313:257:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 6763,
                  "nodeType": "IfStatement",
                  "src": "2309:498:18",
                  "trueBody": {
                    "id": 6762,
                    "nodeType": "Block",
                    "src": "2580:227:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6743,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "2628:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 6744,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2641:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6740,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "2594:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6741,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2594:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6742,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalDraftPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17311,
                            "src": "2594:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6745,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2594:53:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6746,
                        "nodeType": "ExpressionStatement",
                        "src": "2594:53:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6750,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "2694:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 6751,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2707:4:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6747,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "2661:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6748,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2661:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6749,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setDraftVotingClaim",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17444,
                            "src": "2661:32:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6752,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2661:51:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6753,
                        "nodeType": "ExpressionStatement",
                        "src": "2661:51:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6755,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "2750:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6754,
                            "name": "processCollateralRefund",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7698,
                            "src": "2726:23:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 6756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2726:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6757,
                        "nodeType": "ExpressionStatement",
                        "src": "2726:36:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 6758,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2784:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 6759,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2791:4:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "id": 6760,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "2783:13:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$",
                            "typeString": "tuple(bool,bool)"
                          }
                        },
                        "functionReturnParameters": 6717,
                        "id": 6761,
                        "nodeType": "Return",
                        "src": "2776:20:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 6766,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6703,
                            "src": "2839:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 6765,
                          "name": "isFromProposer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 101,
                          "src": "2824:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 6767,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2824:27:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6e6f742070726f706f736572",
                        "id": 6768,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2853:14:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        },
                        "value": "not proposer"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        }
                      ],
                      "id": 6764,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26186,
                      "src": "2816:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2816:52:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6770,
                  "nodeType": "ExpressionStatement",
                  "src": "2816:52:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 6771,
                      "name": "senderCanDoProposerOperations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 883,
                      "src": "2878:29:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 6772,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2878:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6773,
                  "nodeType": "ExpressionStatement",
                  "src": "2878:31:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6777,
                      "name": "_currentResults",
                      "nodeType": "VariableDeclaration",
                      "scope": 6923,
                      "src": "2976:53:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                        "typeString": "struct DaoStructs.IntermediateResults"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 6776,
                        "name": "DaoStructs.IntermediateResults",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8450,
                        "src": "2976:30:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 6778,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2976:53:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6792,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6779,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "3053:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6781,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "countedUntil",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8449,
                          "src": "3053:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6782,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "3095:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6783,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "3095:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6784,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "3140:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6785,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "3140:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 6786,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3039:147:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$",
                        "typeString": "tuple(address,uint256,uint256,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 6790,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6703,
                          "src": "3241:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6787,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "3189:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 6788,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3189:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 6789,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "3189:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)"
                        }
                      },
                      "id": 6791,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3189:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "3039:214:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6793,
                  "nodeType": "ExpressionStatement",
                  "src": "3039:214:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6797,
                      "name": "_moderators",
                      "nodeType": "VariableDeclaration",
                      "scope": 6923,
                      "src": "3356:28:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 6795,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "3356:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 6796,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3356:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 6798,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3356:28:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 6802,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6799,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "3398:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6800,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "3398:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 6801,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "3430:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3398:45:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 6824,
                    "nodeType": "Block",
                    "src": "3589:184:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6822,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6813,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "3603:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 6817,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6777,
                                  "src": "3672:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 6818,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "countedUntil",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8449,
                                "src": "3672:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 6819,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6705,
                                "src": "3717:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 6820,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3745:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 6814,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "3617:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 6815,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3617:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 6816,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listModeratorsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12213,
                              "src": "3617:38:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (address,uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 6821,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3617:145:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "3603:159:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 6823,
                        "nodeType": "ExpressionStatement",
                        "src": "3603:159:18"
                      }
                    ]
                  },
                  "id": 6825,
                  "nodeType": "IfStatement",
                  "src": "3394:379:18",
                  "trueBody": {
                    "id": 6812,
                    "nodeType": "Block",
                    "src": "3445:138:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6810,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6803,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "3459:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6807,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6705,
                                "src": "3525:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 6808,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3554:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 6804,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "3473:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 6805,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3473:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 6806,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listModerators",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12180,
                              "src": "3473:34:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 6809,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3473:99:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "3459:113:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 6811,
                        "nodeType": "ExpressionStatement",
                        "src": "3459:113:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6829,
                      "name": "_voteCount",
                      "nodeType": "VariableDeclaration",
                      "scope": 6923,
                      "src": "3839:52:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.VotingCount"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 6828,
                        "name": "DaoIntermediateStructs.VotingCount",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7876,
                        "src": "3839:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.VotingCount"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 6830,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3839:52:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6843,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6831,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "3902:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6833,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "3902:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6834,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "3923:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6835,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "3923:23:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 6836,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3901:46:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 6840,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6703,
                          "src": "3984:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 6841,
                          "name": "_moderators",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6797,
                          "src": "3997:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6837,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "3950:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 6838,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3950:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 6839,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readDraftVotingCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16366,
                        "src": "3950:33:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32,address[] memory) view external returns (uint256,uint256)"
                        }
                      },
                      "id": 6842,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3950:59:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "3901:108:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6844,
                  "nodeType": "ExpressionStatement",
                  "src": "3901:108:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6854,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6845,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "4020:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6847,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "4020:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 6848,
                        "name": "_moderators",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6797,
                        "src": "4051:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 6853,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6852,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6849,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "4063:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 6850,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4063:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 6851,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4082:1:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "4063:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4051:33:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4020:64:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6855,
                  "nodeType": "ExpressionStatement",
                  "src": "4020:64:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6865,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6856,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "4094:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6858,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentForCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8443,
                      "src": "4094:31:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6862,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "4164:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6863,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "4164:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6859,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "4128:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6860,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "4128:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6861,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "4128:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 6864,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4128:56:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4094:90:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6866,
                  "nodeType": "ExpressionStatement",
                  "src": "4094:90:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6876,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6867,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "4194:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6869,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentAgainstCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8445,
                      "src": "4194:35:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6873,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "4272:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6874,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "4272:23:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6870,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "4232:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6871,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "4232:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6872,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "4232:39:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 6875,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4232:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4194:102:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6877,
                  "nodeType": "ExpressionStatement",
                  "src": "4194:102:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 6888,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 6878,
                        "name": "_moderators",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6797,
                        "src": "4311:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 6883,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6882,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6879,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "4323:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 6880,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4323:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 6881,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4342:1:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "4323:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4311:33:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6884,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "4348:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 6885,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4348:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 6886,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastModerator",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15917,
                        "src": "4348:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 6887,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4348:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4311:74:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 6920,
                    "nodeType": "Block",
                    "src": "4689:329:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6910,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "4815:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6911,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4844:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6912,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "countedUntil",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8449,
                              "src": "4844:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6913,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4890:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6914,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentForCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8443,
                              "src": "4890:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6915,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4939:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6916,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentAgainstCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8445,
                              "src": "4939:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 6917,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4992:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6907,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "4746:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 6908,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4746:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 6909,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18156,
                            "src": "4746:51:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,address,uint256,uint256,uint256) external"
                            }
                          },
                          "id": 6918,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4746:261:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6919,
                        "nodeType": "ExpressionStatement",
                        "src": "4746:261:18"
                      }
                    ]
                  },
                  "id": 6921,
                  "nodeType": "IfStatement",
                  "src": "4307:711:18",
                  "trueBody": {
                    "id": 6906,
                    "nodeType": "Block",
                    "src": "4387:296:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6894,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6889,
                            "name": "_passed",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6714,
                            "src": "4443:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6891,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6703,
                                "src": "4477:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 6892,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4490:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              ],
                              "id": 6890,
                              "name": "processDraftVotingClaim",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7012,
                              "src": "4453:23:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_IntermediateResults_$8450_memory_ptr_$returns$_t_bool_$",
                                "typeString": "function (bytes32,struct DaoStructs.IntermediateResults memory) returns (bool)"
                              }
                            },
                            "id": 6893,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4453:53:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "4443:63:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6895,
                        "nodeType": "ExpressionStatement",
                        "src": "4443:63:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6898,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6896,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6716,
                            "src": "4520:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 6897,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4528:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "4520:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6899,
                        "nodeType": "ExpressionStatement",
                        "src": "4520:12:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6903,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "4660:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6900,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "4606:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 6901,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4606:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 6902,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "resetIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18105,
                            "src": "4606:53:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32) external"
                            }
                          },
                          "id": 6904,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4606:66:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6905,
                        "nodeType": "ExpressionStatement",
                        "src": "4606:66:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Function to claim the draft voting result (can only be called by the proposal proposer)\n@dev The founder/or anyone is supposed to call this function after the claiming deadline has passed, to clean it up and close this proposal.\nIf this voting fails, the collateral will be refunded\n@param _proposalId ID of the proposal\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the draft voting has passed, false if the claiming deadline has passed or the voting has failed\",\n\"_done\": \"Boolean, true if the calculation has finished\"\n}",
            "id": 6923,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 6708,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6703,
                    "src": "2086:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 6709,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 6707,
                  "name": "ifDraftNotClaimed",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 352,
                  "src": "2068:17:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2068:30:18"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 6711,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6703,
                    "src": "2131:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 6712,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 6710,
                  "name": "ifAfterDraftVotingPhase",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 171,
                  "src": "2107:23:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2107:36:18"
              }
            ],
            "name": "claimDraftVotingResult",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6703,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "1990:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6702,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1990:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6705,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "2019:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6704,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2019:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1980:64:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6717,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6714,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "2161:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6713,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2161:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6716,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "2175:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6715,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2175:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2160:26:18"
            },
            "scope": 7774,
            "src": "1949:3075:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7011,
              "nodeType": "Block",
              "src": "5185:1011:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 6954,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 6943,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 6935,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6927,
                                  "src": "5249:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 6936,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentAgainstCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8445,
                                "src": "5249:35:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 6932,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6927,
                                  "src": "5213:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 6933,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentForCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8443,
                                "src": "5213:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 6934,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25610,
                              "src": "5213:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 6937,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5213:72:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6941,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6925,
                                "src": "5330:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 6938,
                                  "name": "daoCalculatorService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6660,
                                  "src": "5288:20:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                    "typeString": "function () view returns (contract DaoCalculatorService)"
                                  }
                                },
                                "id": 6939,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5288:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                  "typeString": "contract DaoCalculatorService"
                                }
                              },
                              "id": 6940,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "minimumDraftQuorum",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11758,
                              "src": "5288:41:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view external returns (uint256)"
                              }
                            },
                            "id": 6942,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5288:54:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5213:129:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 6944,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "5212:131:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6948,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6927,
                                "src": "5398:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6949,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentForCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8443,
                              "src": "5398:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6950,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6927,
                                "src": "5431:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6951,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentAgainstCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8445,
                              "src": "5431:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6945,
                                "name": "daoCalculatorService",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6660,
                                "src": "5360:20:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                  "typeString": "function () view returns (contract DaoCalculatorService)"
                                }
                              },
                              "id": 6946,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5360:22:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                "typeString": "contract DaoCalculatorService"
                              }
                            },
                            "id": 6947,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "draftQuotaPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 11787,
                            "src": "5360:37:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256,uint256) view external returns (bool)"
                            }
                          },
                          "id": 6952,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5360:107:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 6953,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "5359:109:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "5212:256:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7002,
                    "nodeType": "Block",
                    "src": "6000:128:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6994,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "6048:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 6995,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6061:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6991,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "6014:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6992,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6014:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6993,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalDraftPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17311,
                            "src": "6014:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6996,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6014:53:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6997,
                        "nodeType": "ExpressionStatement",
                        "src": "6014:53:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6999,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "6105:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6998,
                            "name": "processCollateralRefund",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7698,
                            "src": "6081:23:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 7000,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6081:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7001,
                        "nodeType": "ExpressionStatement",
                        "src": "6081:36:18"
                      }
                    ]
                  },
                  "id": 7003,
                  "nodeType": "IfStatement",
                  "src": "5195:933:18",
                  "trueBody": {
                    "id": 6990,
                    "nodeType": "Block",
                    "src": "5479:515:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6958,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "5527:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 6959,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5540:4:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6955,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "5493:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6956,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5493:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6957,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalDraftPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17311,
                            "src": "5493:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6960,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5493:52:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6961,
                        "nodeType": "ExpressionStatement",
                        "src": "5493:52:18"
                      },
                      {
                        "assignments": [
                          6963
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 6963,
                            "name": "_idealStartTime",
                            "nodeType": "VariableDeclaration",
                            "scope": 7012,
                            "src": "5660:23:18",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 6962,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "5660:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 6974,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 6971,
                                  "name": "CONFIG_DRAFT_VOTING_PHASE",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1604,
                                  "src": "5758:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 6970,
                                "name": "getUintConfig",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1281,
                                "src": "5744:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view returns (uint256)"
                                }
                              },
                              "id": 6972,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5744:40:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 6967,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6925,
                                  "src": "5727:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 6964,
                                    "name": "daoStorage",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1181,
                                    "src": "5686:10:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                      "typeString": "function () view returns (contract DaoStorage)"
                                    }
                                  },
                                  "id": 6965,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "5686:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                    "typeString": "contract DaoStorage"
                                  }
                                },
                                "id": 6966,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "readProposalDraftVotingTime",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16315,
                                "src": "5686:40:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view external returns (uint256)"
                                }
                              },
                              "id": 6968,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5686:53:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 6969,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25610,
                            "src": "5686:57:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 6973,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5686:99:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5660:125:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6978,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "5851:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 6979,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5880:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 6981,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5922:1:18",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 6982,
                                  "name": "_idealStartTime",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6963,
                                  "src": "5925:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 6980,
                                "name": "getTimelineForNextVote",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 764,
                                "src": "5899:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) view returns (uint256)"
                                }
                              },
                              "id": 6983,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5899:42:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6975,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "5799:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6976,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5799:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6977,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalVotingTime",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17422,
                            "src": "5799:34:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,uint256,uint256) external"
                            }
                          },
                          "id": 6984,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5799:156:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6985,
                        "nodeType": "ExpressionStatement",
                        "src": "5799:156:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6988,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6986,
                            "name": "_passed",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6930,
                            "src": "5969:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 6987,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5979:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "5969:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6989,
                        "nodeType": "ExpressionStatement",
                        "src": "5969:14:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7007,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6925,
                        "src": "6171:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 7008,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6184:4:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7004,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "6138:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7005,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6138:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7006,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setDraftVotingClaim",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17444,
                      "src": "6138:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bool) external"
                      }
                    },
                    "id": 7009,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6138:51:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7010,
                  "nodeType": "ExpressionStatement",
                  "src": "6138:51:18"
                }
              ]
            },
            "documentation": null,
            "id": 7012,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "processDraftVotingClaim",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6928,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6925,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "5064:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6924,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5064:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6927,
                  "name": "_currentResults",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "5085:46:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                    "typeString": "struct DaoStructs.IntermediateResults"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6926,
                    "name": "DaoStructs.IntermediateResults",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8450,
                    "src": "5085:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                      "typeString": "struct DaoStructs.IntermediateResults"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5063:69:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6931,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6930,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "5167:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6929,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5167:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5166:14:18"
            },
            "scope": 7774,
            "src": "5031:1165:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7159,
              "nodeType": "Block",
              "src": "7698:2107:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7034,
                          "name": "isMainPhase",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 951,
                          "src": "7716:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                            "typeString": "function () view returns (bool)"
                          }
                        },
                        "id": 7035,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7716:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6e6f74206d61696e207068617365",
                        "id": 7036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7731:16:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_33e4be1530e43c9955095e0aae74398f5201748a59419db3ca2f7cdfe4fb89f5",
                          "typeString": "literal_string \"not main phase\""
                        },
                        "value": "not main phase"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_33e4be1530e43c9955095e0aae74398f5201748a59419db3ca2f7cdfe4fb89f5",
                          "typeString": "literal_string \"not main phase\""
                        }
                      ],
                      "id": 7033,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26186,
                      "src": "7708:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7708:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7038,
                  "nodeType": "ExpressionStatement",
                  "src": "7708:40:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7041,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7039,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7031,
                      "src": "7946:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 7040,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7954:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "7946:12:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7042,
                  "nodeType": "ExpressionStatement",
                  "src": "7946:12:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7045,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7043,
                      "name": "_passed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7029,
                      "src": "7968:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 7044,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7978:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "7968:15:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7046,
                  "nodeType": "ExpressionStatement",
                  "src": "7968:15:18"
                },
                {
                  "assignments": [
                    7048
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7048,
                      "name": "_operationsLeft",
                      "nodeType": "VariableDeclaration",
                      "scope": 7160,
                      "src": "8049:23:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7047,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8049:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7050,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 7049,
                    "name": "_operations",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7018,
                    "src": "8075:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8049:37:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7061,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7051,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26184,
                      "src": "8180:3:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7058,
                              "name": "CONFIG_VOTE_CLAIMING_DEADLINE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1610,
                              "src": "8263:29:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 7057,
                            "name": "getUintConfig",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1281,
                            "src": "8249:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (bytes32) view returns (uint256)"
                            }
                          },
                          "id": 7059,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8249:44:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7053,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7014,
                              "src": "8203:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7054,
                              "name": "_index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7016,
                              "src": "8216:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 7052,
                            "name": "startOfMilestone",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 685,
                            "src": "8186:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (bytes32,uint256) view returns (uint256)"
                            }
                          },
                          "id": 7055,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8186:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7056,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "8186:62:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7060,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8186:108:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8180:114:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7081,
                  "nodeType": "IfStatement",
                  "src": "8176:465:18",
                  "trueBody": {
                    "id": 7080,
                    "nodeType": "Block",
                    "src": "8304:337:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7071,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 7062,
                                "name": "_operationsLeft",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7048,
                                "src": "8319:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7063,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8336:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7064,
                                "name": "_done",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7031,
                                "src": "8345:5:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 7065,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "8318:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$",
                              "typeString": "tuple(uint256,bool,bool)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7067,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7014,
                                "src": "8372:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7068,
                                "name": "_index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7016,
                                "src": "8385:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7069,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7018,
                                "src": "8393:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7066,
                              "name": "countProposalVote",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7633,
                              "src": "8354:17:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_bool_$_t_bool_$",
                                "typeString": "function (bytes32,uint256,uint256) returns (uint256,bool,bool)"
                              }
                            },
                            "id": 7070,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8354:51:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$",
                              "typeString": "tuple(uint256,bool,bool)"
                            }
                          },
                          "src": "8318:87:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7072,
                        "nodeType": "ExpressionStatement",
                        "src": "8318:87:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 7074,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "8523:6:18",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 7073,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7031,
                            "src": "8524:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7079,
                        "nodeType": "IfStatement",
                        "src": "8519:35:18",
                        "trueBody": {
                          "expression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 7075,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8539:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "66616c7365",
                                "id": 7076,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8548:5:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              }
                            ],
                            "id": 7077,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "8538:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$",
                              "typeString": "tuple(bool,bool)"
                            }
                          },
                          "functionReturnParameters": 7032,
                          "id": 7078,
                          "nodeType": "Return",
                          "src": "8531:23:18"
                        }
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7084,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7082,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7031,
                      "src": "8728:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 7083,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8736:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "8728:13:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7085,
                  "nodeType": "ExpressionStatement",
                  "src": "8728:13:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7088,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7086,
                      "name": "_index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7016,
                      "src": "8756:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7087,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8765:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "8756:10:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7129,
                    "nodeType": "Block",
                    "src": "9026:522:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7112,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7106,
                            "name": "_passed",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7029,
                            "src": "9141:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 7111,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 7107,
                              "name": "_passed",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7029,
                              "src": "9151:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7109,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7014,
                                  "src": "9193:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 7108,
                                "name": "isNonDigixProposalsWithinLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 818,
                                "src": "9162:30:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (bytes32) view returns (bool)"
                                }
                              },
                              "id": 7110,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "9162:43:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "9151:54:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "9141:64:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 7113,
                        "nodeType": "ExpressionStatement",
                        "src": "9141:64:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 7114,
                          "name": "_passed",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7029,
                          "src": "9283:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 7127,
                          "nodeType": "Block",
                          "src": "9469:69:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7124,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7014,
                                    "src": "9511:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 7123,
                                  "name": "processCollateralRefund",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7698,
                                  "src": "9487:23:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                                    "typeString": "function (bytes32)"
                                  }
                                },
                                "id": 7125,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "9487:36:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 7126,
                              "nodeType": "ExpressionStatement",
                              "src": "9487:36:18"
                            }
                          ]
                        },
                        "id": 7128,
                        "nodeType": "IfStatement",
                        "src": "9279:259:18",
                        "trueBody": {
                          "id": 7122,
                          "nodeType": "Block",
                          "src": "9292:171:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7118,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7014,
                                    "src": "9372:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 7119,
                                    "name": "COLLATERAL_STATUS_LOCKED",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1331,
                                    "src": "9405:24:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 7115,
                                      "name": "daoStorage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1181,
                                      "src": "9310:10:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                        "typeString": "function () view returns (contract DaoStorage)"
                                      }
                                    },
                                    "id": 7116,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "9310:12:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                      "typeString": "contract DaoStorage"
                                    }
                                  },
                                  "id": 7117,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "setProposalCollateralStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 17494,
                                  "src": "9310:40:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                                    "typeString": "function (bytes32,uint256) external"
                                  }
                                },
                                "id": 7120,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "9310:137:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 7121,
                              "nodeType": "ExpressionStatement",
                              "src": "9310:137:18"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 7130,
                  "nodeType": "IfStatement",
                  "src": "8752:796:18",
                  "trueBody": {
                    "id": 7105,
                    "nodeType": "Block",
                    "src": "8768:252:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7096,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7089,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7031,
                            "src": "8852:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7091,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7014,
                                "src": "8880:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7092,
                                "name": "_index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7016,
                                "src": "8893:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7093,
                                "name": "_operationsLeft",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7048,
                                "src": "8901:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7094,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8918:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "id": 7090,
                              "name": "calculateVoterBonus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7444,
                              "src": "8860:19:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$returns$_t_bool_$",
                                "typeString": "function (bytes32,uint256,uint256,bool) returns (bool)"
                              }
                            },
                            "id": 7095,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8860:66:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "8852:74:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 7097,
                        "nodeType": "ExpressionStatement",
                        "src": "8852:74:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 7099,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "8944:6:18",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 7098,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7031,
                            "src": "8945:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7104,
                        "nodeType": "IfStatement",
                        "src": "8940:35:18",
                        "trueBody": {
                          "expression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 7100,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8960:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "66616c7365",
                                "id": 7101,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8969:5:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              }
                            ],
                            "id": 7102,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "8959:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$",
                              "typeString": "tuple(bool,bool)"
                            }
                          },
                          "functionReturnParameters": 7032,
                          "id": 7103,
                          "nodeType": "Return",
                          "src": "8952:23:18"
                        }
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 7131,
                    "name": "_passed",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7029,
                    "src": "9562:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7138,
                  "nodeType": "IfStatement",
                  "src": "9558:87:18",
                  "trueBody": {
                    "id": 7137,
                    "nodeType": "Block",
                    "src": "9571:74:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7133,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7014,
                              "src": "9614:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7134,
                              "name": "_index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7016,
                              "src": "9627:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 7132,
                            "name": "processSuccessfulVotingClaim",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7261,
                            "src": "9585:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,uint256)"
                            }
                          },
                          "id": 7135,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9585:49:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7136,
                        "nodeType": "ExpressionStatement",
                        "src": "9585:49:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7142,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7014,
                        "src": "9682:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7143,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7016,
                        "src": "9695:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 7144,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9703:4:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7139,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "9654:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7140,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9654:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7141,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setVotingClaim",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17470,
                      "src": "9654:27:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,uint256,bool) external"
                      }
                    },
                    "id": 7145,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9654:54:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7146,
                  "nodeType": "ExpressionStatement",
                  "src": "9654:54:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7150,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7014,
                        "src": "9747:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7151,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7016,
                        "src": "9760:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7152,
                        "name": "_passed",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7029,
                        "src": "9768:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7147,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "9718:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7148,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9718:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7149,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setProposalPass",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17371,
                      "src": "9718:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,uint256,bool) external"
                      }
                    },
                    "id": 7153,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9718:58:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7154,
                  "nodeType": "ExpressionStatement",
                  "src": "9718:58:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7157,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7155,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7031,
                      "src": "9786:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 7156,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "9794:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "9786:12:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7158,
                  "nodeType": "ExpressionStatement",
                  "src": "9786:12:18"
                }
              ]
            },
            "documentation": "@notice Function to claim the  voting round results\n@dev This function has two major steps:\n- Counting the votes\n+ There is no need for this step if there are some conditions that makes the proposal auto failed\n+ The number of operations needed for this step is the number of participants in the quarter\n- Calculating the bonus for the voters in the preceding round\n+ We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus)\n+ The number of operations needed for this step is the number of participants who voted \"correctly\" in the preceding voting round\nStep 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly,\nuntil _done is true\nIf the voting round fails, the collateral will be returned back to the proposer\n@param _proposalId ID of the proposal\n@param _index Index of the  voting round\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the  voting round passed, false if failed\"\n}",
            "id": 7160,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7021,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7014,
                    "src": "7574:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7022,
                    "name": "_index",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7016,
                    "src": "7587:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7023,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7020,
                  "name": "ifNotClaimed",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 372,
                  "src": "7561:12:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7561:33:18"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7025,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7014,
                    "src": "7630:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7026,
                    "name": "_index",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7016,
                    "src": "7643:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7027,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7024,
                  "name": "ifAfterProposalRevealPhase",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 269,
                  "src": "7603:26:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7603:47:18"
              }
            ],
            "name": "claimProposalVotingResult",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7019,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7014,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7480:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7013,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7480:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7016,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7501:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7015,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7501:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7018,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7517:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7017,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7517:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7479:58:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7032,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7029,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7668:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7028,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "7668:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7031,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7682:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7030,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "7682:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7667:26:18"
            },
            "scope": 7774,
            "src": "7445:2360:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7260,
              "nodeType": "Block",
              "src": "9971:1330:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7170,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7162,
                        "src": "10188:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7167,
                          "name": "intermediateResultsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1265,
                          "src": "10134:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                            "typeString": "function () view returns (contract IntermediateResultsStorage)"
                          }
                        },
                        "id": 7168,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10134:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                          "typeString": "contract IntermediateResultsStorage"
                        }
                      },
                      "id": 7169,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "resetIntermediateResults",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18105,
                      "src": "10134:53:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32) external"
                      }
                    },
                    "id": 7171,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10134:66:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7172,
                  "nodeType": "ExpressionStatement",
                  "src": "10134:66:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7176,
                      "name": "_milestoneFundings",
                      "nodeType": "VariableDeclaration",
                      "scope": 7261,
                      "src": "10291:35:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7174,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "10291:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7175,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "10291:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7177,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10291:35:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7185,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 7178,
                          "name": "_milestoneFundings",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7176,
                          "src": "10337:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        null
                      ],
                      "id": 7179,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "10336:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$",
                        "typeString": "tuple(uint256[] memory,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7183,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7162,
                          "src": "10393:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7180,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "10360:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 7181,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10360:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 7182,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readProposalFunding",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16732,
                        "src": "10360:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)"
                        }
                      },
                      "id": 7184,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10360:45:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$",
                        "typeString": "tuple(uint256[] memory,uint256)"
                      }
                    },
                    "src": "10336:69:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7186,
                  "nodeType": "ExpressionStatement",
                  "src": "10336:69:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7187,
                      "name": "_index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7164,
                      "src": "10419:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7188,
                        "name": "_milestoneFundings",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7176,
                        "src": "10429:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 7189,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10429:25:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10419:35:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7202,
                  "nodeType": "IfStatement",
                  "src": "10415:157:18",
                  "trueBody": {
                    "id": 7201,
                    "nodeType": "Block",
                    "src": "10456:116:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7192,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7162,
                              "src": "10494:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 7191,
                            "name": "processCollateralRefund",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7698,
                            "src": "10470:23:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 7193,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10470:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7194,
                        "nodeType": "ExpressionStatement",
                        "src": "10470:36:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7198,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7162,
                              "src": "10549:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7195,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "10520:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 7196,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10520:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 7197,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "archiveProposal",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17849,
                            "src": "10520:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32) external"
                            }
                          },
                          "id": 7199,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10520:41:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7200,
                        "nodeType": "ExpressionStatement",
                        "src": "10520:41:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7204,
                      "name": "_isDigixProposal",
                      "nodeType": "VariableDeclaration",
                      "scope": 7261,
                      "src": "10643:21:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 7203,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "10643:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7205,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10643:21:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7213,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        {
                          "argumentTypes": null,
                          "id": 7206,
                          "name": "_isDigixProposal",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7204,
                          "src": "10684:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 7207,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "10674:27:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$__$_t_bool_$",
                        "typeString": "tuple(,,,,,,,,,bool)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7211,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7162,
                          "src": "10730:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7208,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "10704:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 7209,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10704:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 7210,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readProposal",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16165,
                        "src": "10704:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$",
                          "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)"
                        }
                      },
                      "id": 7212,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10704:38:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$",
                        "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)"
                      }
                    },
                    "src": "10674:68:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7214,
                  "nodeType": "ExpressionStatement",
                  "src": "10674:68:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 7220,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 7217,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 7215,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7164,
                        "src": "10756:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 7216,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10766:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "10756:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7219,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "10771:17:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 7218,
                        "name": "_isDigixProposal",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7204,
                        "src": "10772:16:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "10756:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7229,
                  "nodeType": "IfStatement",
                  "src": "10752:148:18",
                  "trueBody": {
                    "id": 7228,
                    "nodeType": "Block",
                    "src": "10790:110:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7224,
                                "name": "currentQuarterNumber",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1021,
                                "src": "10866:20:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                                  "typeString": "function () view returns (uint256)"
                                }
                              },
                              "id": 7225,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10866:22:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7221,
                                "name": "daoProposalCounterStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1195,
                                "src": "10804:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoProposalCounterStorage_$14545_$",
                                  "typeString": "function () view returns (contract DaoProposalCounterStorage)"
                                }
                              },
                              "id": 7222,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10804:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14545",
                                "typeString": "contract DaoProposalCounterStorage"
                              }
                            },
                            "id": 7223,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "addNonDigixProposalCountInQuarter",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 14544,
                            "src": "10804:61:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256) external"
                            }
                          },
                          "id": 7226,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10804:85:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7227,
                        "nodeType": "ExpressionStatement",
                        "src": "10804:85:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    7231
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7231,
                      "name": "_funding",
                      "nodeType": "VariableDeclaration",
                      "scope": 7261,
                      "src": "10956:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7230,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10956:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7238,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7235,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7162,
                        "src": "11010:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7236,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7164,
                        "src": "11023:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7232,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "10975:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7233,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10975:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7234,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "readProposalMilestone",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16756,
                      "src": "10975:34:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (bytes32,uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7237,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10975:55:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10956:74:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7245,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7162,
                            "src": "11122:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 7242,
                              "name": "daoStorage",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1181,
                              "src": "11088:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                "typeString": "function () view returns (contract DaoStorage)"
                              }
                            },
                            "id": 7243,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11088:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DaoStorage_$17874",
                              "typeString": "contract DaoStorage"
                            }
                          },
                          "id": 7244,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "readProposalProposer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16180,
                          "src": "11088:33:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                            "typeString": "function (bytes32) view external returns (address)"
                          }
                        },
                        "id": 7246,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11088:46:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "3130303030",
                            "id": 7254,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "11236:11:18",
                            "subdenomination": "ether",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10000000000000000000000_by_1",
                              "typeString": "int_const 10000000000000000000000"
                            },
                            "value": "10000"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_10000000000000000000000_by_1",
                              "typeString": "int_const 10000000000000000000000"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7251,
                                "name": "_funding",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7231,
                                "src": "11222:8:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7248,
                                    "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1550,
                                    "src": "11162:54:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 7247,
                                  "name": "getUintConfig",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1281,
                                  "src": "11148:13:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                    "typeString": "function (bytes32) view returns (uint256)"
                                  }
                                },
                                "id": 7249,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "11148:69:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7250,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "mul",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25552,
                              "src": "11148:73:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7252,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11148:83:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 7253,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "div",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25566,
                          "src": "11148:87:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 7255,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11148:100:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7256,
                          "name": "currentQuarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1021,
                          "src": "11262:20:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                            "typeString": "function () view returns (uint256)"
                          }
                        },
                        "id": 7257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11262:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7239,
                          "name": "daoPointsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1237,
                          "src": "11040:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14496_$",
                            "typeString": "function () view returns (contract DaoPointsStorage)"
                          }
                        },
                        "id": 7240,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11040:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoPointsStorage_$14496",
                          "typeString": "contract DaoPointsStorage"
                        }
                      },
                      "id": 7241,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "addQuarterPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14190,
                      "src": "11040:34:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                        "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)"
                      }
                    },
                    "id": 7258,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11040:254:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                      "typeString": "tuple(uint256,uint256)"
                    }
                  },
                  "id": 7259,
                  "nodeType": "ExpressionStatement",
                  "src": "11040:254:18"
                }
              ]
            },
            "documentation": null,
            "id": 7261,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "processSuccessfulVotingClaim",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7165,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7162,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7261,
                  "src": "9913:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7161,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9913:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7164,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7261,
                  "src": "9934:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7163,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9934:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9912:37:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7166,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9971:0:18"
            },
            "scope": 7774,
            "src": "9875:1426:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7278,
              "nodeType": "Block",
              "src": "11410:141:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7276,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7268,
                      "name": "_key",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7266,
                      "src": "11420:4:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7272,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7263,
                              "src": "11467:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7273,
                              "name": "INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1343,
                              "src": "11492:41:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 7270,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26169,
                              "src": "11437:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 7271,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "11437:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 7274,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11437:106:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 7269,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26176,
                        "src": "11427:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 7275,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11427:117:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "11420:124:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 7277,
                  "nodeType": "ExpressionStatement",
                  "src": "11420:124:18"
                }
              ]
            },
            "documentation": null,
            "id": 7279,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getInterResultKeyForBonusCalculation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7264,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7263,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7279,
                  "src": "11354:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7262,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11354:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11353:21:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7266,
                  "name": "_key",
                  "nodeType": "VariableDeclaration",
                  "scope": 7279,
                  "src": "11396:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7265,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11396:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11395:14:18"
            },
            "scope": 7774,
            "src": "11308:243:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7443,
              "nodeType": "Block",
              "src": "11812:2103:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7294,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7292,
                      "name": "_operations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7285,
                      "src": "11826:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7293,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11841:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "11826:16:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7297,
                  "nodeType": "IfStatement",
                  "src": "11822:34:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 7295,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11851:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "functionReturnParameters": 7291,
                    "id": 7296,
                    "nodeType": "Return",
                    "src": "11844:12:18"
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7299,
                      "name": "_countedUntil",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "11866:21:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7298,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "11866:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7300,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11866:21:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7310,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 7301,
                          "name": "_countedUntil",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7299,
                          "src": "11898:13:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        null,
                        null,
                        null
                      ],
                      "id": 7302,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "11897:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$__$__$__$",
                        "typeString": "tuple(address,,,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7307,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7281,
                              "src": "12020:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 7306,
                            "name": "getInterResultKeyForBonusCalculation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7279,
                            "src": "11983:36:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$",
                              "typeString": "function (bytes32) view returns (bytes32)"
                            }
                          },
                          "id": 7308,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11983:49:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7303,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "11918:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 7304,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11918:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 7305,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "11918:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)"
                        }
                      },
                      "id": 7309,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11918:124:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "11897:145:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7311,
                  "nodeType": "ExpressionStatement",
                  "src": "11897:145:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7315,
                      "name": "_voterBatch",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "12053:28:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7313,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "12053:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 7314,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "12053:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7316,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12053:28:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7319,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7317,
                      "name": "_countedUntil",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7299,
                      "src": "12095:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7318,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "12112:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "12095:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7340,
                    "nodeType": "Block",
                    "src": "12273:175:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7338,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7330,
                            "name": "_voterBatch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7315,
                            "src": "12287:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7334,
                                "name": "_countedUntil",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7299,
                                "src": "12359:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7335,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7285,
                                "src": "12390:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7336,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12419:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7331,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "12301:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7332,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12301:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7333,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipantsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12276,
                              "src": "12301:40:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (address,uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7337,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12301:136:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "12287:150:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7339,
                        "nodeType": "ExpressionStatement",
                        "src": "12287:150:18"
                      }
                    ]
                  },
                  "id": 7341,
                  "nodeType": "IfStatement",
                  "src": "12091:357:18",
                  "trueBody": {
                    "id": 7329,
                    "nodeType": "Block",
                    "src": "12127:140:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7327,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7320,
                            "name": "_voterBatch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7315,
                            "src": "12141:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7324,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7285,
                                "src": "12209:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7325,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12238:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7321,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "12155:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7322,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12155:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7323,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipants",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12243,
                              "src": "12155:36:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7326,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12155:101:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "12141:115:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7328,
                        "nodeType": "ExpressionStatement",
                        "src": "12141:115:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    7343
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7343,
                      "name": "_lastVoter",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "12457:18:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7342,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "12457:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7350,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 7344,
                      "name": "_voterBatch",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7315,
                      "src": "12478:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 7349,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 7348,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7345,
                          "name": "_voterBatch",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7315,
                          "src": "12490:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7346,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12490:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 7347,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "12511:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "12490:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "12478:35:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12457:56:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7354,
                      "name": "_bonusVoters",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "12640:48:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.Users"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 7353,
                        "name": "DaoIntermediateStructs.Users",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7882,
                        "src": "12640:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Users_$7882_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.Users"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7355,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12640:48:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 7356,
                    "name": "_passed",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7287,
                    "src": "12702:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7396,
                    "nodeType": "Block",
                    "src": "12970:252:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7394,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7377,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "13082:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7379,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "users",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7881,
                                "src": "13082:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7380,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "13102:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7381,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "usersLength",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7878,
                                "src": "13102:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 7382,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "13081:46:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7386,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7281,
                                "src": "13164:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "31",
                                    "id": 7389,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "13188:1:18",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    },
                                    "value": "1"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7387,
                                    "name": "_index",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7283,
                                    "src": "13177:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 7388,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sub",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25586,
                                  "src": "13177:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 7390,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13177:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7391,
                                "name": "_voterBatch",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7315,
                                "src": "13192:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "66616c7365",
                                "id": 7392,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "13205:5:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7383,
                                  "name": "daoStorage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1181,
                                  "src": "13130:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                    "typeString": "function () view returns (contract DaoStorage)"
                                  }
                                },
                                "id": 7384,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13130:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                  "typeString": "contract DaoStorage"
                                }
                              },
                              "id": 7385,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "readVotingRoundVotes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16430,
                              "src": "13130:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                                "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)"
                              }
                            },
                            "id": 7393,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13130:81:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "src": "13081:130:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7395,
                        "nodeType": "ExpressionStatement",
                        "src": "13081:130:18"
                      }
                    ]
                  },
                  "id": 7397,
                  "nodeType": "IfStatement",
                  "src": "12698:524:18",
                  "trueBody": {
                    "id": 7376,
                    "nodeType": "Block",
                    "src": "12711:253:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7374,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7357,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "12825:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7359,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "users",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7881,
                                "src": "12825:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7360,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "12845:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7361,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "usersLength",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7878,
                                "src": "12845:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 7362,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "12824:46:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7366,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7281,
                                "src": "12907:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "31",
                                    "id": 7369,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "12931:1:18",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    },
                                    "value": "1"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7367,
                                    "name": "_index",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7283,
                                    "src": "12920:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 7368,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sub",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25586,
                                  "src": "12920:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 7370,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12920:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7371,
                                "name": "_voterBatch",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7315,
                                "src": "12935:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7372,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12948:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7363,
                                  "name": "daoStorage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1181,
                                  "src": "12873:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                    "typeString": "function () view returns (contract DaoStorage)"
                                  }
                                },
                                "id": 7364,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12873:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                  "typeString": "contract DaoStorage"
                                }
                              },
                              "id": 7365,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "readVotingRoundVotes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16430,
                              "src": "12873:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                                "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)"
                              }
                            },
                            "id": 7373,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12873:80:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "src": "12824:129:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7375,
                        "nodeType": "ExpressionStatement",
                        "src": "12824:129:18"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7401,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7398,
                        "name": "_bonusVoters",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7354,
                        "src": "13236:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                          "typeString": "struct DaoIntermediateStructs.Users memory"
                        }
                      },
                      "id": 7399,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "usersLength",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7878,
                      "src": "13236:24:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7400,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "13263:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "13236:28:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7409,
                  "nodeType": "IfStatement",
                  "src": "13232:98:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7403,
                            "name": "_bonusVoters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7354,
                            "src": "13285:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.Users memory"
                            }
                          },
                          "id": 7404,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "users",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7881,
                          "src": "13285:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory",
                            "typeString": "address[] memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7405,
                            "name": "_bonusVoters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7354,
                            "src": "13305:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.Users memory"
                            }
                          },
                          "id": 7406,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "usersLength",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7878,
                          "src": "13305:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory",
                            "typeString": "address[] memory"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 7402,
                        "name": "addBonusReputation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7773,
                        "src": "13266:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$",
                          "typeString": "function (address[] memory,uint256)"
                        }
                      },
                      "id": 7407,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13266:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 7408,
                    "nodeType": "ExpressionStatement",
                    "src": "13266:64:18"
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7415,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7410,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7343,
                      "src": "13345:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7411,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "13359:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 7412,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13359:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 7413,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastParticipant",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15983,
                        "src": "13359:37:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 7414,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13359:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "13345:53:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7441,
                    "nodeType": "Block",
                    "src": "13634:275:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7433,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7281,
                                  "src": "13835:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 7432,
                                "name": "getInterResultKeyForBonusCalculation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7279,
                                "src": "13798:36:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes32) view returns (bytes32)"
                                }
                              },
                              "id": 7434,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13798:49:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7435,
                              "name": "_lastVoter",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7343,
                              "src": "13865:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7436,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13877:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7437,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13880:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7438,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13883:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7429,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "13729:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 7430,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13729:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 7431,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18156,
                            "src": "13729:51:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,address,uint256,uint256,uint256) external"
                            }
                          },
                          "id": 7439,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13729:169:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7440,
                        "nodeType": "ExpressionStatement",
                        "src": "13729:169:18"
                      }
                    ]
                  },
                  "id": 7442,
                  "nodeType": "IfStatement",
                  "src": "13341:568:18",
                  "trueBody": {
                    "id": 7428,
                    "nodeType": "Block",
                    "src": "13400:228:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7420,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7281,
                                  "src": "13565:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 7419,
                                "name": "getInterResultKeyForBonusCalculation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7279,
                                "src": "13528:36:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes32) view returns (bytes32)"
                                }
                              },
                              "id": 7421,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13528:49:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7416,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "13457:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 7417,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13457:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 7418,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "resetIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18105,
                            "src": "13457:53:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32) external"
                            }
                          },
                          "id": 7422,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13457:134:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7423,
                        "nodeType": "ExpressionStatement",
                        "src": "13457:134:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7426,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7424,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7290,
                            "src": "13605:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 7425,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "13613:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "13605:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 7427,
                        "nodeType": "ExpressionStatement",
                        "src": "13605:12:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 7444,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "calculateVoterBonus",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7288,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7281,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11690:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7280,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11690:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7283,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11711:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7282,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11711:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7285,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11727:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7284,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11727:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7287,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11748:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7286,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "11748:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11689:72:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7291,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7290,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11796:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7289,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "11796:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11795:12:18"
            },
            "scope": 7774,
            "src": "11661:2254:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7632,
              "nodeType": "Block",
              "src": "14512:2801:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7459,
                      "name": "senderCanDoProposerOperations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 883,
                      "src": "14522:29:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 7460,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14522:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7461,
                  "nodeType": "ExpressionStatement",
                  "src": "14522:31:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7464,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7446,
                            "src": "14586:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 7463,
                          "name": "isFromProposer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 101,
                          "src": "14571:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 7465,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14571:27:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6e6f742070726f706f736572",
                        "id": 7466,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14600:14:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        },
                        "value": "not proposer"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        }
                      ],
                      "id": 7462,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26186,
                      "src": "14563:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7467,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14563:52:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7468,
                  "nodeType": "ExpressionStatement",
                  "src": "14563:52:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7472,
                      "name": "_currentResults",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "14626:53:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                        "typeString": "struct DaoStructs.IntermediateResults"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 7471,
                        "name": "DaoStructs.IntermediateResults",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8450,
                        "src": "14626:30:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7473,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14626:53:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7487,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7474,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "14703:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7476,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "countedUntil",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8449,
                          "src": "14703:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7477,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "14745:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7478,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "14745:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7479,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "14790:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7480,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "14790:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 7481,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "14689:147:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$",
                        "typeString": "tuple(address,uint256,uint256,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7485,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7446,
                          "src": "14891:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7482,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "14839:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 7483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14839:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 7484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "14839:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)"
                        }
                      },
                      "id": 7486,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14839:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "14689:214:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7488,
                  "nodeType": "ExpressionStatement",
                  "src": "14689:214:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7492,
                      "name": "_voters",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "14913:24:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7490,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "14913:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 7491,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "14913:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7493,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14913:24:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7494,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7472,
                        "src": "14951:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 7495,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "14951:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7496,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "14983:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "14951:45:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7534,
                    "nodeType": "Block",
                    "src": "15210:721:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7517,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7508,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7492,
                            "src": "15224:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7512,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7472,
                                  "src": "15292:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 7513,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "countedUntil",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8449,
                                "src": "15292:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7514,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7450,
                                "src": "15338:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7515,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "15367:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7509,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "15234:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7510,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15234:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7511,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipantsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12276,
                              "src": "15234:40:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (address,uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7516,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15234:151:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "15224:161:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7518,
                        "nodeType": "ExpressionStatement",
                        "src": "15224:161:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 7522,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 7519,
                              "name": "_voters",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7492,
                              "src": "15706:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                "typeString": "address[] memory"
                              }
                            },
                            "id": 7520,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "15706:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 7521,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15724:1:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "15706:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7533,
                        "nodeType": "IfStatement",
                        "src": "15702:219:18",
                        "trueBody": {
                          "id": 7532,
                          "nodeType": "Block",
                          "src": "15727:194:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7523,
                                    "name": "_operations",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7450,
                                    "src": "15774:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 7525,
                                        "name": "_currentResults",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7472,
                                        "src": "15825:15:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 7526,
                                        "name": "_proposalId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7446,
                                        "src": "15842:11:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 7527,
                                        "name": "_index",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7448,
                                        "src": "15855:6:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 7524,
                                      "name": "isVoteCountPassed",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7672,
                                      "src": "15807:17:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8450_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                                        "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)"
                                      }
                                    },
                                    "id": 7528,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "15807:55:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "74727565",
                                    "id": 7529,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "bool",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "15884:4:18",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "value": "true"
                                  }
                                ],
                                "id": 7530,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "15752:154:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$",
                                  "typeString": "tuple(uint256,bool,bool)"
                                }
                              },
                              "functionReturnParameters": 7458,
                              "id": 7531,
                              "nodeType": "Return",
                              "src": "15745:161:18"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 7535,
                  "nodeType": "IfStatement",
                  "src": "14947:984:18",
                  "trueBody": {
                    "id": 7507,
                    "nodeType": "Block",
                    "src": "14998:206:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7505,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7498,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7492,
                            "src": "15082:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7502,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7450,
                                "src": "15146:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7503,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "15175:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7499,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "15092:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7500,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15092:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7501,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipants",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12243,
                              "src": "15092:36:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7504,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15092:101:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "15082:111:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7506,
                        "nodeType": "ExpressionStatement",
                        "src": "15082:111:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    7537
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7537,
                      "name": "_lastVoter",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "15941:18:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7536,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "15941:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7544,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 7538,
                      "name": "_voters",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7492,
                      "src": "15962:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 7543,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 7542,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7539,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7492,
                          "src": "15970:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7540,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "15970:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 7541,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15987:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "15970:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "15962:27:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15941:48:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7548,
                      "name": "_count",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "16000:48:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.VotingCount"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 7547,
                        "name": "DaoIntermediateStructs.VotingCount",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7876,
                        "src": "16000:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.VotingCount"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7549,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16000:48:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7563,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7550,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16059:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7552,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "16059:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7553,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16076:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7554,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "16076:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 7555,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "16058:38:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7559,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7446,
                          "src": "16128:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7560,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7448,
                          "src": "16141:6:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7561,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7492,
                          "src": "16149:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7556,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "16099:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 7557,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16099:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 7558,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readVotingCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16396,
                        "src": "16099:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32,uint256,address[] memory) view external returns (uint256,uint256)"
                        }
                      },
                      "id": 7562,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16099:58:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "16058:99:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7564,
                  "nodeType": "ExpressionStatement",
                  "src": "16058:99:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7565,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7472,
                        "src": "16168:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 7567,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentForCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8443,
                      "src": "16168:31:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7571,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16238:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7572,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "16238:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7568,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "16202:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7569,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "16202:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7570,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "16202:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7573,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16202:52:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16168:86:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7575,
                  "nodeType": "ExpressionStatement",
                  "src": "16168:86:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7585,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7576,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7472,
                        "src": "16264:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 7578,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentAgainstCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8445,
                      "src": "16264:35:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7582,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16342:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7583,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "16342:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7579,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "16302:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7580,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "16302:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7581,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "16302:39:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7584,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16302:60:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16264:98:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7586,
                  "nodeType": "ExpressionStatement",
                  "src": "16264:98:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7590,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7446,
                        "src": "16437:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7591,
                        "name": "_lastVoter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7537,
                        "src": "16462:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7592,
                          "name": "_currentResults",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7472,
                          "src": "16486:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          }
                        },
                        "id": 7593,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "currentForCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8443,
                        "src": "16486:31:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7594,
                          "name": "_currentResults",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7472,
                          "src": "16531:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          }
                        },
                        "id": 7595,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "currentAgainstCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8445,
                        "src": "16531:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 7596,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "16580:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7587,
                          "name": "intermediateResultsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1265,
                          "src": "16372:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                            "typeString": "function () view returns (contract IntermediateResultsStorage)"
                          }
                        },
                        "id": 7588,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16372:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                          "typeString": "contract IntermediateResultsStorage"
                        }
                      },
                      "id": 7589,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setIntermediateResults",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18156,
                      "src": "16372:51:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256,uint256,uint256) external"
                      }
                    },
                    "id": 7597,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16372:219:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7598,
                  "nodeType": "ExpressionStatement",
                  "src": "16372:219:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7604,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7599,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7537,
                      "src": "16606:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7600,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "16620:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 7601,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16620:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 7602,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastParticipant",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15983,
                        "src": "16620:37:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 7603,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16620:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "16606:53:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7611,
                  "nodeType": "IfStatement",
                  "src": "16602:266:18",
                  "trueBody": {
                    "id": 7610,
                    "nodeType": "Block",
                    "src": "16661:207:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7605,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16683:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 7606,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16686:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 7607,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16693:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "id": 7608,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "16682:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_bool_$_t_bool_$",
                            "typeString": "tuple(int_const 0,bool,bool)"
                          }
                        },
                        "functionReturnParameters": 7458,
                        "id": 7609,
                        "nodeType": "Return",
                        "src": "16675:24:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7618,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7612,
                      "name": "_operationsLeft",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7453,
                      "src": "17159:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7615,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7492,
                            "src": "17193:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 7616,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "17193:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 7613,
                          "name": "_operations",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7450,
                          "src": "17177:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25586,
                        "src": "17177:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7617,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17177:31:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17159:49:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7619,
                  "nodeType": "ExpressionStatement",
                  "src": "17159:49:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7622,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7620,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7457,
                      "src": "17218:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 7621,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "17226:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "17218:12:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7623,
                  "nodeType": "ExpressionStatement",
                  "src": "17218:12:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7630,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7624,
                      "name": "_passed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7455,
                      "src": "17241:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7626,
                          "name": "_currentResults",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7472,
                          "src": "17269:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7627,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7446,
                          "src": "17286:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7628,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7448,
                          "src": "17299:6:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 7625,
                        "name": "isVoteCountPassed",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7672,
                        "src": "17251:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8450_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                          "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)"
                        }
                      },
                      "id": 7629,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17251:55:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "17241:65:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7631,
                  "nodeType": "ExpressionStatement",
                  "src": "17241:65:18"
                }
              ]
            },
            "documentation": "@return _operationsLeft The number of operations left after the calculations in this function\n @return _passed Whether this voting round passed\n @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions\n until _done is true",
            "id": 7633,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "countProposalVote",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7451,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7446,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14365:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7445,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14365:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7448,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14386:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7447,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14386:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7450,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14402:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7449,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14402:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14364:58:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7458,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7453,
                  "name": "_operationsLeft",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14457:23:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7452,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14457:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7455,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14482:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7454,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "14482:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7457,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14496:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7456,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "14496:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14456:51:18"
            },
            "scope": 7774,
            "src": "14338:2975:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7671,
              "nodeType": "Block",
              "src": "17497:297:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7669,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7644,
                      "name": "_passed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7642,
                      "src": "17507:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 7668,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 7657,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7648,
                                    "name": "_currentResults",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7635,
                                    "src": "17554:15:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                      "typeString": "struct DaoStructs.IntermediateResults memory"
                                    }
                                  },
                                  "id": 7649,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "currentAgainstCount",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 8445,
                                  "src": "17554:35:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7645,
                                    "name": "_currentResults",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7635,
                                    "src": "17518:15:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                      "typeString": "struct DaoStructs.IntermediateResults memory"
                                    }
                                  },
                                  "id": 7646,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "currentForCount",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 8443,
                                  "src": "17518:31:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 7647,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 25610,
                                "src": "17518:35:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 7650,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17518:72:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7654,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7637,
                                  "src": "17636:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 7655,
                                  "name": "_index",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7639,
                                  "src": "17649:6:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 7651,
                                    "name": "daoCalculatorService",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6660,
                                    "src": "17593:20:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                      "typeString": "function () view returns (contract DaoCalculatorService)"
                                    }
                                  },
                                  "id": 7652,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "17593:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                    "typeString": "contract DaoCalculatorService"
                                  }
                                },
                                "id": 7653,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "minimumVotingQuorum",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 11880,
                                "src": "17593:42:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32,uint256) view external returns (uint256)"
                                }
                              },
                              "id": 7656,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17593:63:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "17518:138:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "id": 7658,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "17517:140:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "&&",
                      "rightExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7662,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7635,
                                  "src": "17717:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 7663,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentForCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8443,
                                "src": "17717:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7664,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7635,
                                  "src": "17750:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 7665,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentAgainstCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8445,
                                "src": "17750:35:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7659,
                                  "name": "daoCalculatorService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6660,
                                  "src": "17678:20:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                    "typeString": "function () view returns (contract DaoCalculatorService)"
                                  }
                                },
                                "id": 7660,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "17678:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                  "typeString": "contract DaoCalculatorService"
                                }
                              },
                              "id": 7661,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "votingQuotaPass",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11932,
                              "src": "17678:38:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (uint256,uint256) view external returns (bool)"
                              }
                            },
                            "id": 7666,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17678:108:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "id": 7667,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "17677:110:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "17517:270:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "17507:280:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7670,
                  "nodeType": "ExpressionStatement",
                  "src": "17507:280:18"
                }
              ]
            },
            "documentation": null,
            "id": 7672,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isVoteCountPassed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7640,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7635,
                  "name": "_currentResults",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17347:46:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                    "typeString": "struct DaoStructs.IntermediateResults"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 7634,
                    "name": "DaoStructs.IntermediateResults",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8450,
                    "src": "17347:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                      "typeString": "struct DaoStructs.IntermediateResults"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7637,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17395:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7636,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "17395:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7639,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17416:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7638,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "17416:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "17346:85:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7642,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17479:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7641,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "17479:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "17478:14:18"
            },
            "scope": 7774,
            "src": "17320:474:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7697,
              "nodeType": "Block",
              "src": "17876:213:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7680,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7674,
                        "src": "17927:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7681,
                        "name": "COLLATERAL_STATUS_CLAIMED",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1334,
                        "src": "17940:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7677,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "17886:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7678,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17886:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7679,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setProposalCollateralStatus",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17494,
                      "src": "17886:40:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,uint256) external"
                      }
                    },
                    "id": 7682,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17886:80:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7683,
                  "nodeType": "ExpressionStatement",
                  "src": "17886:80:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7691,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7674,
                                "src": "18055:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7688,
                                  "name": "daoStorage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1181,
                                  "src": "18021:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                    "typeString": "function () view returns (contract DaoStorage)"
                                  }
                                },
                                "id": 7689,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "18021:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                  "typeString": "contract DaoStorage"
                                }
                              },
                              "id": 7690,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "readProposalProposer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16180,
                              "src": "18021:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view external returns (address)"
                              }
                            },
                            "id": 7692,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18021:46:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7693,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7674,
                            "src": "18069:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 7685,
                              "name": "daoFundingManager",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6674,
                              "src": "17984:17:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3190_$",
                                "typeString": "function () view returns (contract DaoFundingManager)"
                              }
                            },
                            "id": 7686,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17984:19:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                              "typeString": "contract DaoFundingManager"
                            }
                          },
                          "id": 7687,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "refundCollateral",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3122,
                          "src": "17984:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) external returns (bool)"
                          }
                        },
                        "id": 7694,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17984:97:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 7684,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "17976:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 7695,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17976:106:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7696,
                  "nodeType": "ExpressionStatement",
                  "src": "17976:106:18"
                }
              ]
            },
            "documentation": null,
            "id": 7698,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "processCollateralRefund",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7675,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7674,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7698,
                  "src": "17834:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7673,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "17834:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "17833:21:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7676,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "17876:0:18"
            },
            "scope": 7774,
            "src": "17801:288:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7772,
              "nodeType": "Block",
              "src": "18311:669:18",
              "statements": [
                {
                  "assignments": [
                    7707
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7707,
                      "name": "_qp",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18321:11:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7706,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18321:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7711,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7709,
                        "name": "CONFIG_QUARTER_POINT_VOTE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1544,
                        "src": "18349:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 7708,
                      "name": "getUintConfig",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1281,
                      "src": "18335:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                        "typeString": "function (bytes32) view returns (uint256)"
                      }
                    },
                    "id": 7710,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18335:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18321:54:18"
                },
                {
                  "assignments": [
                    7713
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7713,
                      "name": "_rate",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18385:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7712,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18385:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7717,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7715,
                        "name": "CONFIG_BONUS_REPUTATION_NUMERATOR",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1553,
                        "src": "18415:33:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 7714,
                      "name": "getUintConfig",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1281,
                      "src": "18401:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                        "typeString": "function (bytes32) view returns (uint256)"
                      }
                    },
                    "id": 7716,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18401:48:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18385:64:18"
                },
                {
                  "assignments": [
                    7719
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7719,
                      "name": "_base",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18459:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7718,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18459:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7723,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7721,
                        "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1556,
                        "src": "18489:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 7720,
                      "name": "getUintConfig",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1281,
                      "src": "18475:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                        "typeString": "function (bytes32) view returns (uint256)"
                      }
                    },
                    "id": 7722,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18475:50:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18459:66:18"
                },
                {
                  "assignments": [
                    7725
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7725,
                      "name": "_bonus",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18536:14:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7724,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18536:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7743,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7739,
                                "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1586,
                                "src": "18681:34:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 7738,
                              "name": "getUintConfig",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1281,
                              "src": "18667:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view returns (uint256)"
                              }
                            },
                            "id": 7740,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18667:49:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 7736,
                            "name": "_base",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7719,
                            "src": "18657:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 7737,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25552,
                          "src": "18657:9:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 7741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18657:60:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7732,
                                "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1583,
                                "src": "18586:34:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 7731,
                              "name": "getUintConfig",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1281,
                              "src": "18572:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view returns (uint256)"
                              }
                            },
                            "id": 7733,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18572:49:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7728,
                                "name": "_rate",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7713,
                                "src": "18561:5:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 7726,
                                "name": "_qp",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7707,
                                "src": "18553:3:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7727,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "mul",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25552,
                              "src": "18553:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7729,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18553:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 7730,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25552,
                          "src": "18553:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 7734,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18553:69:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 7735,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25566,
                      "src": "18553:86:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 7742,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18553:178:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18536:195:18"
                },
                {
                  "body": {
                    "id": 7770,
                    "nodeType": "Block",
                    "src": "18775:199:18",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 7755,
                                "name": "_voters",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7701,
                                "src": "18807:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 7757,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 7756,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7745,
                                "src": "18815:1:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18807:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 7754,
                            "name": "isParticipant",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 594,
                            "src": "18793:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 7758,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18793:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7769,
                        "nodeType": "IfStatement",
                        "src": "18789:175:18",
                        "trueBody": {
                          "id": 7768,
                          "nodeType": "Block",
                          "src": "18820:144:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 7762,
                                      "name": "_voters",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7701,
                                      "src": "18930:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                        "typeString": "address[] memory"
                                      }
                                    },
                                    "id": 7764,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 7763,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7745,
                                      "src": "18938:1:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "18930:10:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 7765,
                                    "name": "_bonus",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7725,
                                    "src": "18942:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 7759,
                                      "name": "daoPointsStorage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1237,
                                      "src": "18892:16:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14496_$",
                                        "typeString": "function () view returns (contract DaoPointsStorage)"
                                      }
                                    },
                                    "id": 7760,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "18892:18:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoPointsStorage_$14496",
                                      "typeString": "contract DaoPointsStorage"
                                    }
                                  },
                                  "id": 7761,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "increaseReputation",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 14384,
                                  "src": "18892:37:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                                    "typeString": "function (address,uint256) external returns (uint256,uint256)"
                                  }
                                },
                                "id": 7766,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "18892:57:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                  "typeString": "tuple(uint256,uint256)"
                                }
                              },
                              "id": 7767,
                              "nodeType": "ExpressionStatement",
                              "src": "18892:57:18"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7750,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7748,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7745,
                      "src": "18762:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7749,
                      "name": "_n",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7703,
                      "src": "18766:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "18762:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7771,
                  "initializationExpression": {
                    "assignments": [
                      7745
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 7745,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 7773,
                        "src": "18747:9:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 7744,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "18747:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 7747,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7746,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "18759:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "18747:13:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 7752,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "18770:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 7751,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7745,
                        "src": "18770:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7753,
                    "nodeType": "ExpressionStatement",
                    "src": "18770:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "18742:232:18"
                }
              ]
            },
            "documentation": null,
            "id": 7773,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "addBonusReputation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7701,
                  "name": "_voters",
                  "nodeType": "VariableDeclaration",
                  "scope": 7773,
                  "src": "18260:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7699,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "18260:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7700,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "18260:9:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7703,
                  "name": "_n",
                  "nodeType": "VariableDeclaration",
                  "scope": 7773,
                  "src": "18279:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7702,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "18279:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18259:31:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7705,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "18311:0:18"
            },
            "scope": 7774,
            "src": "18232:748:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 7775,
        "src": "322:18661:18"
      }
    ],
    "src": "0:18984:18"
  },
  "legacyAST": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoVotingClaims.sol",
    "exportedSymbols": {
      "DaoVotingClaims": [
        7774
      ]
    },
    "id": 7775,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6629,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:18"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/common/DaoCommon.sol",
        "file": "../common/DaoCommon.sol",
        "id": 6630,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 885,
        "src": "26:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/service/DaoCalculatorService.sol",
        "file": "../service/DaoCalculatorService.sol",
        "id": 6631,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 12094,
        "src": "60:45:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoFundingManager.sol",
        "file": "./DaoFundingManager.sol",
        "id": 6632,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 3191,
        "src": "106:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoRewardsManager.sol",
        "file": "./DaoRewardsManager.sol",
        "id": 6633,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 4667,
        "src": "140:33:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoIntermediateStructs.sol",
        "file": "../lib/DaoIntermediateStructs.sol",
        "id": 6634,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 7884,
        "src": "174:43:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoStructs.sol",
        "file": "../lib/DaoStructs.sol",
        "id": 6635,
        "nodeType": "ImportDirective",
        "scope": 7775,
        "sourceUnit": 8452,
        "src": "218:31:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 6636,
              "name": "DaoCommon",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 884,
              "src": "350:9:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoCommon_$884",
                "typeString": "contract DaoCommon"
              }
            },
            "id": 6637,
            "nodeType": "InheritanceSpecifier",
            "src": "350:9:18"
          }
        ],
        "contractDependencies": [
          884,
          1282,
          1629,
          1868,
          1960,
          18628
        ],
        "contractKind": "contract",
        "documentation": "@title Contract to claim voting results\n@author Digix Holdings",
        "fullyImplemented": true,
        "id": 7774,
        "linearizedBaseContracts": [
          7774,
          884,
          1282,
          1960,
          1868,
          1629,
          18628
        ],
        "name": "DaoVotingClaims",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 6640,
            "libraryName": {
              "contractScope": null,
              "id": 6638,
              "name": "DaoIntermediateStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7883,
              "src": "372:22:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7883",
                "typeString": "library DaoIntermediateStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "366:68:18",
            "typeName": {
              "contractScope": null,
              "id": 6639,
              "name": "DaoIntermediateStructs.VotingCount",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7876,
              "src": "399:34:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                "typeString": "struct DaoIntermediateStructs.VotingCount"
              }
            }
          },
          {
            "id": 6643,
            "libraryName": {
              "contractScope": null,
              "id": 6641,
              "name": "DaoIntermediateStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7883,
              "src": "445:22:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7883",
                "typeString": "library DaoIntermediateStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "439:62:18",
            "typeName": {
              "contractScope": null,
              "id": 6642,
              "name": "DaoIntermediateStructs.Users",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7882,
              "src": "472:28:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Users_$7882_storage_ptr",
                "typeString": "struct DaoIntermediateStructs.Users"
              }
            }
          },
          {
            "id": 6646,
            "libraryName": {
              "contractScope": null,
              "id": 6644,
              "name": "DaoStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8451,
              "src": "512:10:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStructs_$8451",
                "typeString": "library DaoStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "506:52:18",
            "typeName": {
              "contractScope": null,
              "id": 6645,
              "name": "DaoStructs.IntermediateResults",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8450,
              "src": "527:30:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                "typeString": "struct DaoStructs.IntermediateResults"
              }
            }
          },
          {
            "body": {
              "id": 6659,
              "nodeType": "Block",
              "src": "679:96:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 6651,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6649,
                      "src": "689:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6654,
                              "name": "CONTRACT_SERVICE_DAO_CALCULATOR",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1394,
                              "src": "735:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6653,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "722:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6655,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "722:45:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6652,
                        "name": "DaoCalculatorService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12093,
                        "src": "701:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12093_$",
                          "typeString": "type(contract DaoCalculatorService)"
                        }
                      },
                      "id": 6656,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "701:67:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "src": "689:79:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "id": 6658,
                  "nodeType": "ExpressionStatement",
                  "src": "689:79:18"
                }
              ]
            },
            "documentation": null,
            "id": 6660,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoCalculatorService",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6647,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "593:2:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6650,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6649,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 6660,
                  "src": "643:30:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                    "typeString": "contract DaoCalculatorService"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6648,
                    "name": "DaoCalculatorService",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 12093,
                    "src": "643:20:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "642:32:18"
            },
            "scope": 7774,
            "src": "564:211:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6673,
              "nodeType": "Block",
              "src": "890:90:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 6665,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6663,
                      "src": "900:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6668,
                              "name": "CONTRACT_DAO_FUNDING_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1376,
                              "src": "943:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6667,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "930:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6669,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "930:42:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6666,
                        "name": "DaoFundingManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3190,
                        "src": "912:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3190_$",
                          "typeString": "type(contract DaoFundingManager)"
                        }
                      },
                      "id": 6670,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "912:61:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "src": "900:73:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "id": 6672,
                  "nodeType": "ExpressionStatement",
                  "src": "900:73:18"
                }
              ]
            },
            "documentation": null,
            "id": 6674,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoFundingManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6661,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "807:2:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6664,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6663,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 6674,
                  "src": "857:27:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                    "typeString": "contract DaoFundingManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6662,
                    "name": "DaoFundingManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3190,
                    "src": "857:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "856:29:18"
            },
            "scope": 7774,
            "src": "781:199:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6687,
              "nodeType": "Block",
              "src": "1095:90:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6685,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 6679,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6677,
                      "src": "1105:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6682,
                              "name": "CONTRACT_DAO_REWARDS_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1367,
                              "src": "1148:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6681,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "1135:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1135:42:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6680,
                        "name": "DaoRewardsManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4666,
                        "src": "1117:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4666_$",
                          "typeString": "type(contract DaoRewardsManager)"
                        }
                      },
                      "id": 6684,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1117:61:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "src": "1105:73:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "id": 6686,
                  "nodeType": "ExpressionStatement",
                  "src": "1105:73:18"
                }
              ]
            },
            "documentation": null,
            "id": 6688,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoRewardsManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6675,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1012:2:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6678,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6677,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 6688,
                  "src": "1062:27:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                    "typeString": "contract DaoRewardsManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6676,
                    "name": "DaoRewardsManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4666,
                    "src": "1062:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1061:29:18"
            },
            "scope": 7774,
            "src": "986:199:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6700,
              "nodeType": "Block",
              "src": "1229:69:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 6695,
                            "name": "CONTRACT_DAO_VOTING_CLAIMS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1358,
                            "src": "1252:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 6696,
                            "name": "_resolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6690,
                            "src": "1280:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 6694,
                          "name": "init",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18596,
                          "src": "1247:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$",
                            "typeString": "function (bytes32,address) returns (bool)"
                          }
                        },
                        "id": 6697,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1247:43:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 6693,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "1239:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 6698,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1239:52:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6699,
                  "nodeType": "ExpressionStatement",
                  "src": "1239:52:18"
                }
              ]
            },
            "documentation": null,
            "id": 6701,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6691,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6690,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 6701,
                  "src": "1203:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6689,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1203:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1202:19:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6692,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1229:0:18"
            },
            "scope": 7774,
            "src": "1191:107:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6922,
              "nodeType": "Block",
              "src": "2191:2833:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 6739,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 6734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 6718,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26184,
                        "src": "2313:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6731,
                                "name": "CONFIG_VOTE_CLAIMING_DEADLINE",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1610,
                                "src": "2479:29:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 6730,
                              "name": "getUintConfig",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1281,
                              "src": "2465:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view returns (uint256)"
                              }
                            },
                            "id": 6732,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2465:44:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 6726,
                                    "name": "CONFIG_DRAFT_VOTING_PHASE",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1604,
                                    "src": "2412:25:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 6725,
                                  "name": "getUintConfig",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1281,
                                  "src": "2398:13:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                    "typeString": "function (bytes32) view returns (uint256)"
                                  }
                                },
                                "id": 6727,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2398:40:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 6722,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6703,
                                    "src": "2360:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 6719,
                                      "name": "daoStorage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1181,
                                      "src": "2319:10:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                        "typeString": "function () view returns (contract DaoStorage)"
                                      }
                                    },
                                    "id": 6720,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2319:12:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                      "typeString": "contract DaoStorage"
                                    }
                                  },
                                  "id": 6721,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "readProposalDraftVotingTime",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16315,
                                  "src": "2319:40:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                    "typeString": "function (bytes32) view external returns (uint256)"
                                  }
                                },
                                "id": 6723,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2319:53:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 6724,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25610,
                              "src": "2319:78:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 6728,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2319:120:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 6729,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "add",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25610,
                          "src": "2319:145:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 6733,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2319:191:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2313:197:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 6738,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "2526:44:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 6736,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6703,
                            "src": "2558:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 6735,
                          "name": "isNonDigixProposalsWithinLimit",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 818,
                          "src": "2527:30:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 6737,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2527:43:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2313:257:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 6763,
                  "nodeType": "IfStatement",
                  "src": "2309:498:18",
                  "trueBody": {
                    "id": 6762,
                    "nodeType": "Block",
                    "src": "2580:227:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6743,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "2628:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 6744,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2641:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6740,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "2594:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6741,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2594:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6742,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalDraftPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17311,
                            "src": "2594:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6745,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2594:53:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6746,
                        "nodeType": "ExpressionStatement",
                        "src": "2594:53:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6750,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "2694:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 6751,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2707:4:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6747,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "2661:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6748,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2661:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6749,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setDraftVotingClaim",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17444,
                            "src": "2661:32:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6752,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2661:51:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6753,
                        "nodeType": "ExpressionStatement",
                        "src": "2661:51:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6755,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "2750:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6754,
                            "name": "processCollateralRefund",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7698,
                            "src": "2726:23:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 6756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2726:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6757,
                        "nodeType": "ExpressionStatement",
                        "src": "2726:36:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 6758,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2784:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 6759,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2791:4:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "id": 6760,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "2783:13:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$",
                            "typeString": "tuple(bool,bool)"
                          }
                        },
                        "functionReturnParameters": 6717,
                        "id": 6761,
                        "nodeType": "Return",
                        "src": "2776:20:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 6766,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6703,
                            "src": "2839:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 6765,
                          "name": "isFromProposer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 101,
                          "src": "2824:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 6767,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2824:27:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6e6f742070726f706f736572",
                        "id": 6768,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2853:14:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        },
                        "value": "not proposer"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        }
                      ],
                      "id": 6764,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26186,
                      "src": "2816:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2816:52:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6770,
                  "nodeType": "ExpressionStatement",
                  "src": "2816:52:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 6771,
                      "name": "senderCanDoProposerOperations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 883,
                      "src": "2878:29:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 6772,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2878:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6773,
                  "nodeType": "ExpressionStatement",
                  "src": "2878:31:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6777,
                      "name": "_currentResults",
                      "nodeType": "VariableDeclaration",
                      "scope": 6923,
                      "src": "2976:53:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                        "typeString": "struct DaoStructs.IntermediateResults"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 6776,
                        "name": "DaoStructs.IntermediateResults",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8450,
                        "src": "2976:30:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 6778,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2976:53:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6792,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6779,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "3053:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6781,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "countedUntil",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8449,
                          "src": "3053:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6782,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "3095:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6783,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "3095:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6784,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "3140:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6785,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "3140:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 6786,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3039:147:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$",
                        "typeString": "tuple(address,uint256,uint256,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 6790,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6703,
                          "src": "3241:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6787,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "3189:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 6788,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3189:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 6789,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "3189:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)"
                        }
                      },
                      "id": 6791,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3189:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "3039:214:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6793,
                  "nodeType": "ExpressionStatement",
                  "src": "3039:214:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6797,
                      "name": "_moderators",
                      "nodeType": "VariableDeclaration",
                      "scope": 6923,
                      "src": "3356:28:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 6795,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "3356:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 6796,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "3356:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 6798,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3356:28:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 6802,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6799,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "3398:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6800,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "3398:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 6801,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "3430:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3398:45:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 6824,
                    "nodeType": "Block",
                    "src": "3589:184:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6822,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6813,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "3603:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 6817,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6777,
                                  "src": "3672:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 6818,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "countedUntil",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8449,
                                "src": "3672:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 6819,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6705,
                                "src": "3717:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 6820,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3745:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 6814,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "3617:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 6815,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3617:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 6816,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listModeratorsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12213,
                              "src": "3617:38:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (address,uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 6821,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3617:145:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "3603:159:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 6823,
                        "nodeType": "ExpressionStatement",
                        "src": "3603:159:18"
                      }
                    ]
                  },
                  "id": 6825,
                  "nodeType": "IfStatement",
                  "src": "3394:379:18",
                  "trueBody": {
                    "id": 6812,
                    "nodeType": "Block",
                    "src": "3445:138:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6810,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6803,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "3459:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6807,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6705,
                                "src": "3525:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 6808,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3554:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 6804,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "3473:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 6805,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3473:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 6806,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listModerators",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12180,
                              "src": "3473:34:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 6809,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3473:99:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "3459:113:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 6811,
                        "nodeType": "ExpressionStatement",
                        "src": "3459:113:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6829,
                      "name": "_voteCount",
                      "nodeType": "VariableDeclaration",
                      "scope": 6923,
                      "src": "3839:52:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.VotingCount"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 6828,
                        "name": "DaoIntermediateStructs.VotingCount",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7876,
                        "src": "3839:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.VotingCount"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 6830,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3839:52:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6843,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6831,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "3902:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6833,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "3902:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6834,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "3923:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6835,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "3923:23:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 6836,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3901:46:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 6840,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6703,
                          "src": "3984:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 6841,
                          "name": "_moderators",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6797,
                          "src": "3997:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6837,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "3950:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 6838,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3950:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 6839,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readDraftVotingCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16366,
                        "src": "3950:33:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32,address[] memory) view external returns (uint256,uint256)"
                        }
                      },
                      "id": 6842,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3950:59:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "3901:108:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6844,
                  "nodeType": "ExpressionStatement",
                  "src": "3901:108:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6854,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6845,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "4020:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6847,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "4020:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 6848,
                        "name": "_moderators",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6797,
                        "src": "4051:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 6853,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6852,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6849,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "4063:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 6850,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4063:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 6851,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4082:1:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "4063:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4051:33:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4020:64:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6855,
                  "nodeType": "ExpressionStatement",
                  "src": "4020:64:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6865,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6856,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "4094:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6858,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentForCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8443,
                      "src": "4094:31:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6862,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "4164:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6863,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "4164:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6859,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "4128:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6860,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "4128:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6861,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "4128:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 6864,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4128:56:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4094:90:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6866,
                  "nodeType": "ExpressionStatement",
                  "src": "4094:90:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 6876,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 6867,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6777,
                        "src": "4194:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 6869,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentAgainstCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8445,
                      "src": "4194:35:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6873,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6829,
                            "src": "4272:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 6874,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "4272:23:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6870,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6777,
                            "src": "4232:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 6871,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "4232:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6872,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "4232:39:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 6875,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4232:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4194:102:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6877,
                  "nodeType": "ExpressionStatement",
                  "src": "4194:102:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 6888,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 6878,
                        "name": "_moderators",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6797,
                        "src": "4311:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 6883,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6882,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 6879,
                            "name": "_moderators",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6797,
                            "src": "4323:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 6880,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4323:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 6881,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4342:1:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "4323:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4311:33:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6884,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "4348:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 6885,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4348:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 6886,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastModerator",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15917,
                        "src": "4348:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 6887,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4348:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4311:74:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 6920,
                    "nodeType": "Block",
                    "src": "4689:329:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6910,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "4815:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6911,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4844:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6912,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "countedUntil",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8449,
                              "src": "4844:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6913,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4890:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6914,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentForCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8443,
                              "src": "4890:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6915,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4939:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6916,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentAgainstCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8445,
                              "src": "4939:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 6917,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4992:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6907,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "4746:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 6908,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4746:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 6909,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18156,
                            "src": "4746:51:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,address,uint256,uint256,uint256) external"
                            }
                          },
                          "id": 6918,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4746:261:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6919,
                        "nodeType": "ExpressionStatement",
                        "src": "4746:261:18"
                      }
                    ]
                  },
                  "id": 6921,
                  "nodeType": "IfStatement",
                  "src": "4307:711:18",
                  "trueBody": {
                    "id": 6906,
                    "nodeType": "Block",
                    "src": "4387:296:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6894,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6889,
                            "name": "_passed",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6714,
                            "src": "4443:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6891,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6703,
                                "src": "4477:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 6892,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6777,
                                "src": "4490:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              ],
                              "id": 6890,
                              "name": "processDraftVotingClaim",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7012,
                              "src": "4453:23:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_IntermediateResults_$8450_memory_ptr_$returns$_t_bool_$",
                                "typeString": "function (bytes32,struct DaoStructs.IntermediateResults memory) returns (bool)"
                              }
                            },
                            "id": 6893,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4453:53:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "4443:63:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6895,
                        "nodeType": "ExpressionStatement",
                        "src": "4443:63:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6898,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6896,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6716,
                            "src": "4520:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 6897,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4528:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "4520:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6899,
                        "nodeType": "ExpressionStatement",
                        "src": "4520:12:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6903,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6703,
                              "src": "4660:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6900,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "4606:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 6901,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4606:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 6902,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "resetIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18105,
                            "src": "4606:53:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32) external"
                            }
                          },
                          "id": 6904,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4606:66:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6905,
                        "nodeType": "ExpressionStatement",
                        "src": "4606:66:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Function to claim the draft voting result (can only be called by the proposal proposer)\n@dev The founder/or anyone is supposed to call this function after the claiming deadline has passed, to clean it up and close this proposal.\nIf this voting fails, the collateral will be refunded\n@param _proposalId ID of the proposal\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the draft voting has passed, false if the claiming deadline has passed or the voting has failed\",\n\"_done\": \"Boolean, true if the calculation has finished\"\n}",
            "id": 6923,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 6708,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6703,
                    "src": "2086:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 6709,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 6707,
                  "name": "ifDraftNotClaimed",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 352,
                  "src": "2068:17:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2068:30:18"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 6711,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6703,
                    "src": "2131:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 6712,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 6710,
                  "name": "ifAfterDraftVotingPhase",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 171,
                  "src": "2107:23:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2107:36:18"
              }
            ],
            "name": "claimDraftVotingResult",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6703,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "1990:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6702,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1990:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6705,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "2019:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6704,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2019:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1980:64:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6717,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6714,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "2161:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6713,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2161:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6716,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 6923,
                  "src": "2175:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6715,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2175:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2160:26:18"
            },
            "scope": 7774,
            "src": "1949:3075:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7011,
              "nodeType": "Block",
              "src": "5185:1011:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 6954,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 6943,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 6935,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6927,
                                  "src": "5249:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 6936,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentAgainstCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8445,
                                "src": "5249:35:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 6932,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6927,
                                  "src": "5213:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 6933,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentForCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8443,
                                "src": "5213:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 6934,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25610,
                              "src": "5213:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 6937,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5213:72:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 6941,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6925,
                                "src": "5330:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 6938,
                                  "name": "daoCalculatorService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6660,
                                  "src": "5288:20:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                    "typeString": "function () view returns (contract DaoCalculatorService)"
                                  }
                                },
                                "id": 6939,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5288:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                  "typeString": "contract DaoCalculatorService"
                                }
                              },
                              "id": 6940,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "minimumDraftQuorum",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11758,
                              "src": "5288:41:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view external returns (uint256)"
                              }
                            },
                            "id": 6942,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5288:54:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5213:129:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 6944,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "5212:131:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6948,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6927,
                                "src": "5398:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6949,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentForCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8443,
                              "src": "5398:31:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 6950,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6927,
                                "src": "5431:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 6951,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentAgainstCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8445,
                              "src": "5431:35:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6945,
                                "name": "daoCalculatorService",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6660,
                                "src": "5360:20:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                  "typeString": "function () view returns (contract DaoCalculatorService)"
                                }
                              },
                              "id": 6946,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5360:22:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                "typeString": "contract DaoCalculatorService"
                              }
                            },
                            "id": 6947,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "draftQuotaPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 11787,
                            "src": "5360:37:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (uint256,uint256) view external returns (bool)"
                            }
                          },
                          "id": 6952,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5360:107:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 6953,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "5359:109:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "5212:256:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7002,
                    "nodeType": "Block",
                    "src": "6000:128:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6994,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "6048:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 6995,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6061:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6991,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "6014:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6992,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6014:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6993,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalDraftPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17311,
                            "src": "6014:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6996,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6014:53:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6997,
                        "nodeType": "ExpressionStatement",
                        "src": "6014:53:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6999,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "6105:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6998,
                            "name": "processCollateralRefund",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7698,
                            "src": "6081:23:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 7000,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6081:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7001,
                        "nodeType": "ExpressionStatement",
                        "src": "6081:36:18"
                      }
                    ]
                  },
                  "id": 7003,
                  "nodeType": "IfStatement",
                  "src": "5195:933:18",
                  "trueBody": {
                    "id": 6990,
                    "nodeType": "Block",
                    "src": "5479:515:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6958,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "5527:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 6959,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5540:4:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6955,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "5493:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6956,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5493:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6957,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalDraftPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17311,
                            "src": "5493:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 6960,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5493:52:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6961,
                        "nodeType": "ExpressionStatement",
                        "src": "5493:52:18"
                      },
                      {
                        "assignments": [
                          6963
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 6963,
                            "name": "_idealStartTime",
                            "nodeType": "VariableDeclaration",
                            "scope": 7012,
                            "src": "5660:23:18",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 6962,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "5660:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 6974,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 6971,
                                  "name": "CONFIG_DRAFT_VOTING_PHASE",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1604,
                                  "src": "5758:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 6970,
                                "name": "getUintConfig",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1281,
                                "src": "5744:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view returns (uint256)"
                                }
                              },
                              "id": 6972,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5744:40:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 6967,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6925,
                                  "src": "5727:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 6964,
                                    "name": "daoStorage",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1181,
                                    "src": "5686:10:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                      "typeString": "function () view returns (contract DaoStorage)"
                                    }
                                  },
                                  "id": 6965,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "5686:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                    "typeString": "contract DaoStorage"
                                  }
                                },
                                "id": 6966,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "readProposalDraftVotingTime",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16315,
                                "src": "5686:40:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view external returns (uint256)"
                                }
                              },
                              "id": 6968,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5686:53:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 6969,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25610,
                            "src": "5686:57:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 6973,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5686:99:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5660:125:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 6978,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6925,
                              "src": "5851:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 6979,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5880:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 6981,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5922:1:18",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 6982,
                                  "name": "_idealStartTime",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6963,
                                  "src": "5925:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 6980,
                                "name": "getTimelineForNextVote",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 764,
                                "src": "5899:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) view returns (uint256)"
                                }
                              },
                              "id": 6983,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5899:42:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 6975,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "5799:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 6976,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5799:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 6977,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setProposalVotingTime",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17422,
                            "src": "5799:34:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,uint256,uint256) external"
                            }
                          },
                          "id": 6984,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5799:156:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6985,
                        "nodeType": "ExpressionStatement",
                        "src": "5799:156:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 6988,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 6986,
                            "name": "_passed",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6930,
                            "src": "5969:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 6987,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5979:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "5969:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6989,
                        "nodeType": "ExpressionStatement",
                        "src": "5969:14:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7007,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6925,
                        "src": "6171:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 7008,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6184:4:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7004,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "6138:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7005,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6138:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7006,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setDraftVotingClaim",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17444,
                      "src": "6138:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bool) external"
                      }
                    },
                    "id": 7009,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6138:51:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7010,
                  "nodeType": "ExpressionStatement",
                  "src": "6138:51:18"
                }
              ]
            },
            "documentation": null,
            "id": 7012,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "processDraftVotingClaim",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6928,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6925,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "5064:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6924,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5064:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6927,
                  "name": "_currentResults",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "5085:46:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                    "typeString": "struct DaoStructs.IntermediateResults"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 6926,
                    "name": "DaoStructs.IntermediateResults",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8450,
                    "src": "5085:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                      "typeString": "struct DaoStructs.IntermediateResults"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5063:69:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 6931,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6930,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "5167:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6929,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5167:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5166:14:18"
            },
            "scope": 7774,
            "src": "5031:1165:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7159,
              "nodeType": "Block",
              "src": "7698:2107:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7034,
                          "name": "isMainPhase",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 951,
                          "src": "7716:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                            "typeString": "function () view returns (bool)"
                          }
                        },
                        "id": 7035,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7716:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6e6f74206d61696e207068617365",
                        "id": 7036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7731:16:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_33e4be1530e43c9955095e0aae74398f5201748a59419db3ca2f7cdfe4fb89f5",
                          "typeString": "literal_string \"not main phase\""
                        },
                        "value": "not main phase"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_33e4be1530e43c9955095e0aae74398f5201748a59419db3ca2f7cdfe4fb89f5",
                          "typeString": "literal_string \"not main phase\""
                        }
                      ],
                      "id": 7033,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26186,
                      "src": "7708:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7708:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7038,
                  "nodeType": "ExpressionStatement",
                  "src": "7708:40:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7041,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7039,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7031,
                      "src": "7946:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 7040,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7954:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "7946:12:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7042,
                  "nodeType": "ExpressionStatement",
                  "src": "7946:12:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7045,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7043,
                      "name": "_passed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7029,
                      "src": "7968:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 7044,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7978:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "7968:15:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7046,
                  "nodeType": "ExpressionStatement",
                  "src": "7968:15:18"
                },
                {
                  "assignments": [
                    7048
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7048,
                      "name": "_operationsLeft",
                      "nodeType": "VariableDeclaration",
                      "scope": 7160,
                      "src": "8049:23:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7047,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8049:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7050,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 7049,
                    "name": "_operations",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7018,
                    "src": "8075:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8049:37:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7061,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7051,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26184,
                      "src": "8180:3:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7058,
                              "name": "CONFIG_VOTE_CLAIMING_DEADLINE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1610,
                              "src": "8263:29:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 7057,
                            "name": "getUintConfig",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1281,
                            "src": "8249:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (bytes32) view returns (uint256)"
                            }
                          },
                          "id": 7059,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8249:44:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7053,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7014,
                              "src": "8203:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7054,
                              "name": "_index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7016,
                              "src": "8216:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 7052,
                            "name": "startOfMilestone",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 685,
                            "src": "8186:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (bytes32,uint256) view returns (uint256)"
                            }
                          },
                          "id": 7055,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8186:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7056,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "8186:62:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7060,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8186:108:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8180:114:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7081,
                  "nodeType": "IfStatement",
                  "src": "8176:465:18",
                  "trueBody": {
                    "id": 7080,
                    "nodeType": "Block",
                    "src": "8304:337:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7071,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 7062,
                                "name": "_operationsLeft",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7048,
                                "src": "8319:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7063,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8336:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7064,
                                "name": "_done",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7031,
                                "src": "8345:5:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 7065,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "8318:33:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$",
                              "typeString": "tuple(uint256,bool,bool)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7067,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7014,
                                "src": "8372:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7068,
                                "name": "_index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7016,
                                "src": "8385:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7069,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7018,
                                "src": "8393:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7066,
                              "name": "countProposalVote",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7633,
                              "src": "8354:17:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_bool_$_t_bool_$",
                                "typeString": "function (bytes32,uint256,uint256) returns (uint256,bool,bool)"
                              }
                            },
                            "id": 7070,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8354:51:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$",
                              "typeString": "tuple(uint256,bool,bool)"
                            }
                          },
                          "src": "8318:87:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7072,
                        "nodeType": "ExpressionStatement",
                        "src": "8318:87:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 7074,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "8523:6:18",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 7073,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7031,
                            "src": "8524:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7079,
                        "nodeType": "IfStatement",
                        "src": "8519:35:18",
                        "trueBody": {
                          "expression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 7075,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8539:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "66616c7365",
                                "id": 7076,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8548:5:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              }
                            ],
                            "id": 7077,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "8538:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$",
                              "typeString": "tuple(bool,bool)"
                            }
                          },
                          "functionReturnParameters": 7032,
                          "id": 7078,
                          "nodeType": "Return",
                          "src": "8531:23:18"
                        }
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7084,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7082,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7031,
                      "src": "8728:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 7083,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8736:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "8728:13:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7085,
                  "nodeType": "ExpressionStatement",
                  "src": "8728:13:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7088,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7086,
                      "name": "_index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7016,
                      "src": "8756:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7087,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8765:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "8756:10:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7129,
                    "nodeType": "Block",
                    "src": "9026:522:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7112,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7106,
                            "name": "_passed",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7029,
                            "src": "9141:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 7111,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 7107,
                              "name": "_passed",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7029,
                              "src": "9151:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7109,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7014,
                                  "src": "9193:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 7108,
                                "name": "isNonDigixProposalsWithinLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 818,
                                "src": "9162:30:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (bytes32) view returns (bool)"
                                }
                              },
                              "id": 7110,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "9162:43:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "9151:54:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "9141:64:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 7113,
                        "nodeType": "ExpressionStatement",
                        "src": "9141:64:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 7114,
                          "name": "_passed",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7029,
                          "src": "9283:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 7127,
                          "nodeType": "Block",
                          "src": "9469:69:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7124,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7014,
                                    "src": "9511:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 7123,
                                  "name": "processCollateralRefund",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7698,
                                  "src": "9487:23:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                                    "typeString": "function (bytes32)"
                                  }
                                },
                                "id": 7125,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "9487:36:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 7126,
                              "nodeType": "ExpressionStatement",
                              "src": "9487:36:18"
                            }
                          ]
                        },
                        "id": 7128,
                        "nodeType": "IfStatement",
                        "src": "9279:259:18",
                        "trueBody": {
                          "id": 7122,
                          "nodeType": "Block",
                          "src": "9292:171:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7118,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7014,
                                    "src": "9372:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 7119,
                                    "name": "COLLATERAL_STATUS_LOCKED",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1331,
                                    "src": "9405:24:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 7115,
                                      "name": "daoStorage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1181,
                                      "src": "9310:10:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                        "typeString": "function () view returns (contract DaoStorage)"
                                      }
                                    },
                                    "id": 7116,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "9310:12:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                      "typeString": "contract DaoStorage"
                                    }
                                  },
                                  "id": 7117,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "setProposalCollateralStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 17494,
                                  "src": "9310:40:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                                    "typeString": "function (bytes32,uint256) external"
                                  }
                                },
                                "id": 7120,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "9310:137:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 7121,
                              "nodeType": "ExpressionStatement",
                              "src": "9310:137:18"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 7130,
                  "nodeType": "IfStatement",
                  "src": "8752:796:18",
                  "trueBody": {
                    "id": 7105,
                    "nodeType": "Block",
                    "src": "8768:252:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7096,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7089,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7031,
                            "src": "8852:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7091,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7014,
                                "src": "8880:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7092,
                                "name": "_index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7016,
                                "src": "8893:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7093,
                                "name": "_operationsLeft",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7048,
                                "src": "8901:15:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7094,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8918:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "id": 7090,
                              "name": "calculateVoterBonus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7444,
                              "src": "8860:19:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$returns$_t_bool_$",
                                "typeString": "function (bytes32,uint256,uint256,bool) returns (bool)"
                              }
                            },
                            "id": 7095,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8860:66:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "8852:74:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 7097,
                        "nodeType": "ExpressionStatement",
                        "src": "8852:74:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 7099,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "8944:6:18",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 7098,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7031,
                            "src": "8945:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7104,
                        "nodeType": "IfStatement",
                        "src": "8940:35:18",
                        "trueBody": {
                          "expression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 7100,
                                "name": "_passed",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7029,
                                "src": "8960:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "66616c7365",
                                "id": 7101,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8969:5:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              }
                            ],
                            "id": 7102,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "8959:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$",
                              "typeString": "tuple(bool,bool)"
                            }
                          },
                          "functionReturnParameters": 7032,
                          "id": 7103,
                          "nodeType": "Return",
                          "src": "8952:23:18"
                        }
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 7131,
                    "name": "_passed",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7029,
                    "src": "9562:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7138,
                  "nodeType": "IfStatement",
                  "src": "9558:87:18",
                  "trueBody": {
                    "id": 7137,
                    "nodeType": "Block",
                    "src": "9571:74:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7133,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7014,
                              "src": "9614:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7134,
                              "name": "_index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7016,
                              "src": "9627:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 7132,
                            "name": "processSuccessfulVotingClaim",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7261,
                            "src": "9585:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,uint256)"
                            }
                          },
                          "id": 7135,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9585:49:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7136,
                        "nodeType": "ExpressionStatement",
                        "src": "9585:49:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7142,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7014,
                        "src": "9682:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7143,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7016,
                        "src": "9695:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 7144,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9703:4:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7139,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "9654:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7140,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9654:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7141,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setVotingClaim",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17470,
                      "src": "9654:27:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,uint256,bool) external"
                      }
                    },
                    "id": 7145,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9654:54:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7146,
                  "nodeType": "ExpressionStatement",
                  "src": "9654:54:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7150,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7014,
                        "src": "9747:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7151,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7016,
                        "src": "9760:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7152,
                        "name": "_passed",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7029,
                        "src": "9768:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7147,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "9718:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7148,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9718:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7149,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setProposalPass",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17371,
                      "src": "9718:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,uint256,bool) external"
                      }
                    },
                    "id": 7153,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9718:58:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7154,
                  "nodeType": "ExpressionStatement",
                  "src": "9718:58:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7157,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7155,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7031,
                      "src": "9786:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 7156,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "9794:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "9786:12:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7158,
                  "nodeType": "ExpressionStatement",
                  "src": "9786:12:18"
                }
              ]
            },
            "documentation": "@notice Function to claim the  voting round results\n@dev This function has two major steps:\n- Counting the votes\n+ There is no need for this step if there are some conditions that makes the proposal auto failed\n+ The number of operations needed for this step is the number of participants in the quarter\n- Calculating the bonus for the voters in the preceding round\n+ We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus)\n+ The number of operations needed for this step is the number of participants who voted \"correctly\" in the preceding voting round\nStep 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly,\nuntil _done is true\nIf the voting round fails, the collateral will be returned back to the proposer\n@param _proposalId ID of the proposal\n@param _index Index of the  voting round\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the  voting round passed, false if failed\"\n}",
            "id": 7160,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7021,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7014,
                    "src": "7574:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7022,
                    "name": "_index",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7016,
                    "src": "7587:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7023,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7020,
                  "name": "ifNotClaimed",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 372,
                  "src": "7561:12:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7561:33:18"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7025,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7014,
                    "src": "7630:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7026,
                    "name": "_index",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7016,
                    "src": "7643:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7027,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7024,
                  "name": "ifAfterProposalRevealPhase",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 269,
                  "src": "7603:26:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7603:47:18"
              }
            ],
            "name": "claimProposalVotingResult",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7019,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7014,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7480:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7013,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7480:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7016,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7501:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7015,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7501:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7018,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7517:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7017,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7517:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7479:58:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7032,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7029,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7668:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7028,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "7668:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7031,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 7160,
                  "src": "7682:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7030,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "7682:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7667:26:18"
            },
            "scope": 7774,
            "src": "7445:2360:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7260,
              "nodeType": "Block",
              "src": "9971:1330:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7170,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7162,
                        "src": "10188:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7167,
                          "name": "intermediateResultsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1265,
                          "src": "10134:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                            "typeString": "function () view returns (contract IntermediateResultsStorage)"
                          }
                        },
                        "id": 7168,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10134:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                          "typeString": "contract IntermediateResultsStorage"
                        }
                      },
                      "id": 7169,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "resetIntermediateResults",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18105,
                      "src": "10134:53:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32) external"
                      }
                    },
                    "id": 7171,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10134:66:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7172,
                  "nodeType": "ExpressionStatement",
                  "src": "10134:66:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7176,
                      "name": "_milestoneFundings",
                      "nodeType": "VariableDeclaration",
                      "scope": 7261,
                      "src": "10291:35:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7174,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "10291:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7175,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "10291:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7177,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10291:35:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7185,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 7178,
                          "name": "_milestoneFundings",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7176,
                          "src": "10337:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        null
                      ],
                      "id": 7179,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "10336:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$",
                        "typeString": "tuple(uint256[] memory,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7183,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7162,
                          "src": "10393:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7180,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "10360:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 7181,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10360:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 7182,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readProposalFunding",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16732,
                        "src": "10360:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)"
                        }
                      },
                      "id": 7184,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10360:45:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$",
                        "typeString": "tuple(uint256[] memory,uint256)"
                      }
                    },
                    "src": "10336:69:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7186,
                  "nodeType": "ExpressionStatement",
                  "src": "10336:69:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7187,
                      "name": "_index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7164,
                      "src": "10419:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7188,
                        "name": "_milestoneFundings",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7176,
                        "src": "10429:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 7189,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10429:25:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10419:35:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7202,
                  "nodeType": "IfStatement",
                  "src": "10415:157:18",
                  "trueBody": {
                    "id": 7201,
                    "nodeType": "Block",
                    "src": "10456:116:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7192,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7162,
                              "src": "10494:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 7191,
                            "name": "processCollateralRefund",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7698,
                            "src": "10470:23:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32)"
                            }
                          },
                          "id": 7193,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10470:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7194,
                        "nodeType": "ExpressionStatement",
                        "src": "10470:36:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7198,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7162,
                              "src": "10549:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7195,
                                "name": "daoStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "10520:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                  "typeString": "function () view returns (contract DaoStorage)"
                                }
                              },
                              "id": 7196,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10520:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                "typeString": "contract DaoStorage"
                              }
                            },
                            "id": 7197,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "archiveProposal",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17849,
                            "src": "10520:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32) external"
                            }
                          },
                          "id": 7199,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10520:41:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7200,
                        "nodeType": "ExpressionStatement",
                        "src": "10520:41:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7204,
                      "name": "_isDigixProposal",
                      "nodeType": "VariableDeclaration",
                      "scope": 7261,
                      "src": "10643:21:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 7203,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "10643:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7205,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10643:21:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7213,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        {
                          "argumentTypes": null,
                          "id": 7206,
                          "name": "_isDigixProposal",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7204,
                          "src": "10684:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 7207,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "10674:27:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$__$_t_bool_$",
                        "typeString": "tuple(,,,,,,,,,bool)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7211,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7162,
                          "src": "10730:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7208,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "10704:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 7209,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10704:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 7210,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readProposal",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16165,
                        "src": "10704:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$",
                          "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)"
                        }
                      },
                      "id": 7212,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10704:38:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$",
                        "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)"
                      }
                    },
                    "src": "10674:68:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7214,
                  "nodeType": "ExpressionStatement",
                  "src": "10674:68:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 7220,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 7217,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 7215,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7164,
                        "src": "10756:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 7216,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10766:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "10756:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7219,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "10771:17:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 7218,
                        "name": "_isDigixProposal",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7204,
                        "src": "10772:16:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "10756:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7229,
                  "nodeType": "IfStatement",
                  "src": "10752:148:18",
                  "trueBody": {
                    "id": 7228,
                    "nodeType": "Block",
                    "src": "10790:110:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7224,
                                "name": "currentQuarterNumber",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1021,
                                "src": "10866:20:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                                  "typeString": "function () view returns (uint256)"
                                }
                              },
                              "id": 7225,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10866:22:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7221,
                                "name": "daoProposalCounterStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1195,
                                "src": "10804:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoProposalCounterStorage_$14545_$",
                                  "typeString": "function () view returns (contract DaoProposalCounterStorage)"
                                }
                              },
                              "id": 7222,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10804:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14545",
                                "typeString": "contract DaoProposalCounterStorage"
                              }
                            },
                            "id": 7223,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "addNonDigixProposalCountInQuarter",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 14544,
                            "src": "10804:61:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256) external"
                            }
                          },
                          "id": 7226,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10804:85:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7227,
                        "nodeType": "ExpressionStatement",
                        "src": "10804:85:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    7231
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7231,
                      "name": "_funding",
                      "nodeType": "VariableDeclaration",
                      "scope": 7261,
                      "src": "10956:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7230,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10956:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7238,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7235,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7162,
                        "src": "11010:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7236,
                        "name": "_index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7164,
                        "src": "11023:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7232,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "10975:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7233,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10975:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7234,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "readProposalMilestone",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16756,
                      "src": "10975:34:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (bytes32,uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7237,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10975:55:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10956:74:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7245,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7162,
                            "src": "11122:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 7242,
                              "name": "daoStorage",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1181,
                              "src": "11088:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                "typeString": "function () view returns (contract DaoStorage)"
                              }
                            },
                            "id": 7243,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11088:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DaoStorage_$17874",
                              "typeString": "contract DaoStorage"
                            }
                          },
                          "id": 7244,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "readProposalProposer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16180,
                          "src": "11088:33:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                            "typeString": "function (bytes32) view external returns (address)"
                          }
                        },
                        "id": 7246,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11088:46:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "3130303030",
                            "id": 7254,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "11236:11:18",
                            "subdenomination": "ether",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10000000000000000000000_by_1",
                              "typeString": "int_const 10000000000000000000000"
                            },
                            "value": "10000"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_10000000000000000000000_by_1",
                              "typeString": "int_const 10000000000000000000000"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7251,
                                "name": "_funding",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7231,
                                "src": "11222:8:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7248,
                                    "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1550,
                                    "src": "11162:54:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 7247,
                                  "name": "getUintConfig",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1281,
                                  "src": "11148:13:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                    "typeString": "function (bytes32) view returns (uint256)"
                                  }
                                },
                                "id": 7249,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "11148:69:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7250,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "mul",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25552,
                              "src": "11148:73:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7252,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11148:83:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 7253,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "div",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25566,
                          "src": "11148:87:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 7255,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11148:100:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7256,
                          "name": "currentQuarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1021,
                          "src": "11262:20:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                            "typeString": "function () view returns (uint256)"
                          }
                        },
                        "id": 7257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11262:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7239,
                          "name": "daoPointsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1237,
                          "src": "11040:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14496_$",
                            "typeString": "function () view returns (contract DaoPointsStorage)"
                          }
                        },
                        "id": 7240,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "11040:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoPointsStorage_$14496",
                          "typeString": "contract DaoPointsStorage"
                        }
                      },
                      "id": 7241,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "addQuarterPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14190,
                      "src": "11040:34:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                        "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)"
                      }
                    },
                    "id": 7258,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11040:254:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                      "typeString": "tuple(uint256,uint256)"
                    }
                  },
                  "id": 7259,
                  "nodeType": "ExpressionStatement",
                  "src": "11040:254:18"
                }
              ]
            },
            "documentation": null,
            "id": 7261,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "processSuccessfulVotingClaim",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7165,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7162,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7261,
                  "src": "9913:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7161,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9913:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7164,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7261,
                  "src": "9934:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7163,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9934:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9912:37:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7166,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9971:0:18"
            },
            "scope": 7774,
            "src": "9875:1426:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7278,
              "nodeType": "Block",
              "src": "11410:141:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7276,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7268,
                      "name": "_key",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7266,
                      "src": "11420:4:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7272,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7263,
                              "src": "11467:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7273,
                              "name": "INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1343,
                              "src": "11492:41:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 7270,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26169,
                              "src": "11437:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 7271,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "11437:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 7274,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11437:106:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 7269,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26176,
                        "src": "11427:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 7275,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11427:117:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "11420:124:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 7277,
                  "nodeType": "ExpressionStatement",
                  "src": "11420:124:18"
                }
              ]
            },
            "documentation": null,
            "id": 7279,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getInterResultKeyForBonusCalculation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7264,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7263,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7279,
                  "src": "11354:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7262,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11354:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11353:21:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7266,
                  "name": "_key",
                  "nodeType": "VariableDeclaration",
                  "scope": 7279,
                  "src": "11396:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7265,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11396:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11395:14:18"
            },
            "scope": 7774,
            "src": "11308:243:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7443,
              "nodeType": "Block",
              "src": "11812:2103:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7294,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7292,
                      "name": "_operations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7285,
                      "src": "11826:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7293,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11841:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "11826:16:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7297,
                  "nodeType": "IfStatement",
                  "src": "11822:34:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 7295,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11851:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "functionReturnParameters": 7291,
                    "id": 7296,
                    "nodeType": "Return",
                    "src": "11844:12:18"
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7299,
                      "name": "_countedUntil",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "11866:21:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7298,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "11866:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7300,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11866:21:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7310,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 7301,
                          "name": "_countedUntil",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7299,
                          "src": "11898:13:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        null,
                        null,
                        null
                      ],
                      "id": 7302,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "11897:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$__$__$__$",
                        "typeString": "tuple(address,,,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7307,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7281,
                              "src": "12020:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 7306,
                            "name": "getInterResultKeyForBonusCalculation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7279,
                            "src": "11983:36:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$",
                              "typeString": "function (bytes32) view returns (bytes32)"
                            }
                          },
                          "id": 7308,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11983:49:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7303,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "11918:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 7304,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11918:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 7305,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "11918:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)"
                        }
                      },
                      "id": 7309,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11918:124:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "11897:145:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7311,
                  "nodeType": "ExpressionStatement",
                  "src": "11897:145:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7315,
                      "name": "_voterBatch",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "12053:28:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7313,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "12053:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 7314,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "12053:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7316,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12053:28:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7319,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7317,
                      "name": "_countedUntil",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7299,
                      "src": "12095:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7318,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "12112:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "12095:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7340,
                    "nodeType": "Block",
                    "src": "12273:175:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7338,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7330,
                            "name": "_voterBatch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7315,
                            "src": "12287:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7334,
                                "name": "_countedUntil",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7299,
                                "src": "12359:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7335,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7285,
                                "src": "12390:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7336,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12419:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7331,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "12301:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7332,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12301:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7333,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipantsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12276,
                              "src": "12301:40:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (address,uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7337,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12301:136:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "12287:150:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7339,
                        "nodeType": "ExpressionStatement",
                        "src": "12287:150:18"
                      }
                    ]
                  },
                  "id": 7341,
                  "nodeType": "IfStatement",
                  "src": "12091:357:18",
                  "trueBody": {
                    "id": 7329,
                    "nodeType": "Block",
                    "src": "12127:140:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7327,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7320,
                            "name": "_voterBatch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7315,
                            "src": "12141:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7324,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7285,
                                "src": "12209:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7325,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12238:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7321,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "12155:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7322,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12155:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7323,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipants",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12243,
                              "src": "12155:36:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7326,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12155:101:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "12141:115:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7328,
                        "nodeType": "ExpressionStatement",
                        "src": "12141:115:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    7343
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7343,
                      "name": "_lastVoter",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "12457:18:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7342,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "12457:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7350,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 7344,
                      "name": "_voterBatch",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7315,
                      "src": "12478:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 7349,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 7348,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7345,
                          "name": "_voterBatch",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7315,
                          "src": "12490:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7346,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12490:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 7347,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "12511:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "12490:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "12478:35:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12457:56:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7354,
                      "name": "_bonusVoters",
                      "nodeType": "VariableDeclaration",
                      "scope": 7444,
                      "src": "12640:48:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.Users"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 7353,
                        "name": "DaoIntermediateStructs.Users",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7882,
                        "src": "12640:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Users_$7882_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.Users"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7355,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12640:48:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 7356,
                    "name": "_passed",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7287,
                    "src": "12702:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7396,
                    "nodeType": "Block",
                    "src": "12970:252:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7394,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7377,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "13082:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7379,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "users",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7881,
                                "src": "13082:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7380,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "13102:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7381,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "usersLength",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7878,
                                "src": "13102:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 7382,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "13081:46:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7386,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7281,
                                "src": "13164:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "31",
                                    "id": 7389,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "13188:1:18",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    },
                                    "value": "1"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7387,
                                    "name": "_index",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7283,
                                    "src": "13177:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 7388,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sub",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25586,
                                  "src": "13177:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 7390,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13177:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7391,
                                "name": "_voterBatch",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7315,
                                "src": "13192:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "66616c7365",
                                "id": 7392,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "13205:5:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7383,
                                  "name": "daoStorage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1181,
                                  "src": "13130:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                    "typeString": "function () view returns (contract DaoStorage)"
                                  }
                                },
                                "id": 7384,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13130:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                  "typeString": "contract DaoStorage"
                                }
                              },
                              "id": 7385,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "readVotingRoundVotes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16430,
                              "src": "13130:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                                "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)"
                              }
                            },
                            "id": 7393,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13130:81:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "src": "13081:130:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7395,
                        "nodeType": "ExpressionStatement",
                        "src": "13081:130:18"
                      }
                    ]
                  },
                  "id": 7397,
                  "nodeType": "IfStatement",
                  "src": "12698:524:18",
                  "trueBody": {
                    "id": 7376,
                    "nodeType": "Block",
                    "src": "12711:253:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7374,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7357,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "12825:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7359,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "users",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7881,
                                "src": "12825:18:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7360,
                                  "name": "_bonusVoters",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7354,
                                  "src": "12845:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                                    "typeString": "struct DaoIntermediateStructs.Users memory"
                                  }
                                },
                                "id": 7361,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberName": "usersLength",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7878,
                                "src": "12845:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 7362,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "12824:46:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7366,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7281,
                                "src": "12907:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "31",
                                    "id": 7369,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "12931:1:18",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    },
                                    "value": "1"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7367,
                                    "name": "_index",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7283,
                                    "src": "12920:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 7368,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sub",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25586,
                                  "src": "12920:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 7370,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12920:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7371,
                                "name": "_voterBatch",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7315,
                                "src": "12935:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7372,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12948:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7363,
                                  "name": "daoStorage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1181,
                                  "src": "12873:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                    "typeString": "function () view returns (contract DaoStorage)"
                                  }
                                },
                                "id": 7364,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "12873:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                  "typeString": "contract DaoStorage"
                                }
                              },
                              "id": 7365,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "readVotingRoundVotes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16430,
                              "src": "12873:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                                "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)"
                              }
                            },
                            "id": 7373,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12873:80:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$",
                              "typeString": "tuple(address[] memory,uint256)"
                            }
                          },
                          "src": "12824:129:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7375,
                        "nodeType": "ExpressionStatement",
                        "src": "12824:129:18"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7401,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7398,
                        "name": "_bonusVoters",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7354,
                        "src": "13236:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                          "typeString": "struct DaoIntermediateStructs.Users memory"
                        }
                      },
                      "id": 7399,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "usersLength",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7878,
                      "src": "13236:24:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7400,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "13263:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "13236:28:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7409,
                  "nodeType": "IfStatement",
                  "src": "13232:98:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7403,
                            "name": "_bonusVoters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7354,
                            "src": "13285:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.Users memory"
                            }
                          },
                          "id": 7404,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "users",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7881,
                          "src": "13285:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory",
                            "typeString": "address[] memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7405,
                            "name": "_bonusVoters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7354,
                            "src": "13305:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Users_$7882_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.Users memory"
                            }
                          },
                          "id": 7406,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "usersLength",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7878,
                          "src": "13305:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory",
                            "typeString": "address[] memory"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 7402,
                        "name": "addBonusReputation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7773,
                        "src": "13266:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$",
                          "typeString": "function (address[] memory,uint256)"
                        }
                      },
                      "id": 7407,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13266:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 7408,
                    "nodeType": "ExpressionStatement",
                    "src": "13266:64:18"
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7415,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7410,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7343,
                      "src": "13345:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7411,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "13359:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 7412,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13359:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 7413,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastParticipant",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15983,
                        "src": "13359:37:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 7414,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13359:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "13345:53:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7441,
                    "nodeType": "Block",
                    "src": "13634:275:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7433,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7281,
                                  "src": "13835:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 7432,
                                "name": "getInterResultKeyForBonusCalculation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7279,
                                "src": "13798:36:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes32) view returns (bytes32)"
                                }
                              },
                              "id": 7434,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13798:49:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 7435,
                              "name": "_lastVoter",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7343,
                              "src": "13865:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7436,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13877:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7437,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13880:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7438,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13883:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7429,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "13729:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 7430,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13729:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 7431,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18156,
                            "src": "13729:51:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,address,uint256,uint256,uint256) external"
                            }
                          },
                          "id": 7439,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13729:169:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7440,
                        "nodeType": "ExpressionStatement",
                        "src": "13729:169:18"
                      }
                    ]
                  },
                  "id": 7442,
                  "nodeType": "IfStatement",
                  "src": "13341:568:18",
                  "trueBody": {
                    "id": 7428,
                    "nodeType": "Block",
                    "src": "13400:228:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7420,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7281,
                                  "src": "13565:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 7419,
                                "name": "getInterResultKeyForBonusCalculation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7279,
                                "src": "13528:36:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes32) view returns (bytes32)"
                                }
                              },
                              "id": 7421,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13528:49:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 7416,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "13457:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 7417,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13457:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 7418,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "resetIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18105,
                            "src": "13457:53:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
                              "typeString": "function (bytes32) external"
                            }
                          },
                          "id": 7422,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13457:134:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7423,
                        "nodeType": "ExpressionStatement",
                        "src": "13457:134:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7426,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7424,
                            "name": "_done",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7290,
                            "src": "13605:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 7425,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "13613:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "13605:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 7427,
                        "nodeType": "ExpressionStatement",
                        "src": "13605:12:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 7444,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "calculateVoterBonus",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7288,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7281,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11690:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7280,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11690:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7283,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11711:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7282,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11711:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7285,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11727:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7284,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11727:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7287,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11748:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7286,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "11748:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11689:72:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7291,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7290,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 7444,
                  "src": "11796:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7289,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "11796:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11795:12:18"
            },
            "scope": 7774,
            "src": "11661:2254:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7632,
              "nodeType": "Block",
              "src": "14512:2801:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7459,
                      "name": "senderCanDoProposerOperations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 883,
                      "src": "14522:29:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$__$",
                        "typeString": "function () view"
                      }
                    },
                    "id": 7460,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14522:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7461,
                  "nodeType": "ExpressionStatement",
                  "src": "14522:31:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7464,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7446,
                            "src": "14586:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 7463,
                          "name": "isFromProposer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 101,
                          "src": "14571:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 7465,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14571:27:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6e6f742070726f706f736572",
                        "id": 7466,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14600:14:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        },
                        "value": "not proposer"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_53bcb86603a85f45a1f15a1b19273b62632d0892644eb35b488d68d4ba6f76dc",
                          "typeString": "literal_string \"not proposer\""
                        }
                      ],
                      "id": 7462,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26186,
                      "src": "14563:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7467,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14563:52:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7468,
                  "nodeType": "ExpressionStatement",
                  "src": "14563:52:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7472,
                      "name": "_currentResults",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "14626:53:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                        "typeString": "struct DaoStructs.IntermediateResults"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 7471,
                        "name": "DaoStructs.IntermediateResults",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8450,
                        "src": "14626:30:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7473,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14626:53:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7487,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7474,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "14703:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7476,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "countedUntil",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8449,
                          "src": "14703:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7477,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "14745:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7478,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "14745:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7479,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "14790:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7480,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "14790:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 7481,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "14689:147:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$",
                        "typeString": "tuple(address,uint256,uint256,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7485,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7446,
                          "src": "14891:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7482,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "14839:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 7483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14839:28:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 7484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "14839:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)"
                        }
                      },
                      "id": 7486,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14839:64:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "14689:214:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7488,
                  "nodeType": "ExpressionStatement",
                  "src": "14689:214:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7492,
                      "name": "_voters",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "14913:24:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 7490,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "14913:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 7491,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "14913:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7493,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14913:24:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7497,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7494,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7472,
                        "src": "14951:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 7495,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "14951:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7496,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "14983:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "14951:45:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 7534,
                    "nodeType": "Block",
                    "src": "15210:721:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7517,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7508,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7492,
                            "src": "15224:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7512,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7472,
                                  "src": "15292:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 7513,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "countedUntil",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8449,
                                "src": "15292:28:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 7514,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7450,
                                "src": "15338:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7515,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "15367:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7509,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "15234:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7510,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15234:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7511,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipantsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12276,
                              "src": "15234:40:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (address,uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7516,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15234:151:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "15224:161:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7518,
                        "nodeType": "ExpressionStatement",
                        "src": "15224:161:18"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 7522,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 7519,
                              "name": "_voters",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7492,
                              "src": "15706:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                "typeString": "address[] memory"
                              }
                            },
                            "id": 7520,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "15706:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 7521,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15724:1:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "15706:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7533,
                        "nodeType": "IfStatement",
                        "src": "15702:219:18",
                        "trueBody": {
                          "id": 7532,
                          "nodeType": "Block",
                          "src": "15727:194:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "id": 7523,
                                    "name": "_operations",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7450,
                                    "src": "15774:11:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 7525,
                                        "name": "_currentResults",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7472,
                                        "src": "15825:15:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 7526,
                                        "name": "_proposalId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7446,
                                        "src": "15842:11:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 7527,
                                        "name": "_index",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7448,
                                        "src": "15855:6:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 7524,
                                      "name": "isVoteCountPassed",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7672,
                                      "src": "15807:17:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8450_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                                        "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)"
                                      }
                                    },
                                    "id": 7528,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "15807:55:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "74727565",
                                    "id": 7529,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "bool",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "15884:4:18",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "value": "true"
                                  }
                                ],
                                "id": 7530,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "15752:154:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$",
                                  "typeString": "tuple(uint256,bool,bool)"
                                }
                              },
                              "functionReturnParameters": 7458,
                              "id": 7531,
                              "nodeType": "Return",
                              "src": "15745:161:18"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 7535,
                  "nodeType": "IfStatement",
                  "src": "14947:984:18",
                  "trueBody": {
                    "id": 7507,
                    "nodeType": "Block",
                    "src": "14998:206:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7505,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7498,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7492,
                            "src": "15082:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7502,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7450,
                                "src": "15146:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 7503,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "15175:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7499,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "15092:17:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 7500,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15092:19:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 7501,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipants",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12243,
                              "src": "15092:36:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                                "typeString": "function (uint256,bool) view external returns (address[] memory)"
                              }
                            },
                            "id": 7504,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15092:101:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "15082:111:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7506,
                        "nodeType": "ExpressionStatement",
                        "src": "15082:111:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    7537
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7537,
                      "name": "_lastVoter",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "15941:18:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 7536,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "15941:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7544,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 7538,
                      "name": "_voters",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7492,
                      "src": "15962:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 7543,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 7542,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7539,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7492,
                          "src": "15970:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 7540,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "15970:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 7541,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15987:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "15970:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "15962:27:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15941:48:18"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7548,
                      "name": "_count",
                      "nodeType": "VariableDeclaration",
                      "scope": 7633,
                      "src": "16000:48:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.VotingCount"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 7547,
                        "name": "DaoIntermediateStructs.VotingCount",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7876,
                        "src": "16000:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.VotingCount"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7549,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16000:48:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7563,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7550,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16059:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7552,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "16059:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7553,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16076:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7554,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "16076:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 7555,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "16058:38:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7559,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7446,
                          "src": "16128:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7560,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7448,
                          "src": "16141:6:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7561,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7492,
                          "src": "16149:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7556,
                            "name": "daoStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1181,
                            "src": "16099:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                              "typeString": "function () view returns (contract DaoStorage)"
                            }
                          },
                          "id": 7557,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16099:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStorage_$17874",
                            "typeString": "contract DaoStorage"
                          }
                        },
                        "id": 7558,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readVotingCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16396,
                        "src": "16099:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (bytes32,uint256,address[] memory) view external returns (uint256,uint256)"
                        }
                      },
                      "id": 7562,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16099:58:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "16058:99:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7564,
                  "nodeType": "ExpressionStatement",
                  "src": "16058:99:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7565,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7472,
                        "src": "16168:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 7567,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentForCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8443,
                      "src": "16168:31:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7571,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16238:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7572,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "16238:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7568,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "16202:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7569,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "16202:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7570,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "16202:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7573,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16202:52:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16168:86:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7575,
                  "nodeType": "ExpressionStatement",
                  "src": "16168:86:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7585,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7576,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7472,
                        "src": "16264:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 7578,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentAgainstCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8445,
                      "src": "16264:35:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7582,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7548,
                            "src": "16342:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 7583,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "16342:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7579,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7472,
                            "src": "16302:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 7580,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "16302:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7581,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "16302:39:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7584,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16302:60:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16264:98:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7586,
                  "nodeType": "ExpressionStatement",
                  "src": "16264:98:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7590,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7446,
                        "src": "16437:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7591,
                        "name": "_lastVoter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7537,
                        "src": "16462:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7592,
                          "name": "_currentResults",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7472,
                          "src": "16486:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          }
                        },
                        "id": 7593,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "currentForCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8443,
                        "src": "16486:31:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7594,
                          "name": "_currentResults",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7472,
                          "src": "16531:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          }
                        },
                        "id": 7595,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "currentAgainstCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8445,
                        "src": "16531:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 7596,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "16580:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7587,
                          "name": "intermediateResultsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1265,
                          "src": "16372:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                            "typeString": "function () view returns (contract IntermediateResultsStorage)"
                          }
                        },
                        "id": 7588,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16372:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                          "typeString": "contract IntermediateResultsStorage"
                        }
                      },
                      "id": 7589,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setIntermediateResults",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 18156,
                      "src": "16372:51:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256,uint256,uint256) external"
                      }
                    },
                    "id": 7597,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16372:219:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7598,
                  "nodeType": "ExpressionStatement",
                  "src": "16372:219:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7604,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7599,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7537,
                      "src": "16606:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 7600,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "16620:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 7601,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16620:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 7602,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastParticipant",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15983,
                        "src": "16620:37:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 7603,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16620:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "16606:53:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7611,
                  "nodeType": "IfStatement",
                  "src": "16602:266:18",
                  "trueBody": {
                    "id": 7610,
                    "nodeType": "Block",
                    "src": "16661:207:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 7605,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16683:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 7606,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16686:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 7607,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16693:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "id": 7608,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "16682:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_bool_$_t_bool_$",
                            "typeString": "tuple(int_const 0,bool,bool)"
                          }
                        },
                        "functionReturnParameters": 7458,
                        "id": 7609,
                        "nodeType": "Return",
                        "src": "16675:24:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7618,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7612,
                      "name": "_operationsLeft",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7453,
                      "src": "17159:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7615,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7492,
                            "src": "17193:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 7616,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "17193:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 7613,
                          "name": "_operations",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7450,
                          "src": "17177:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25586,
                        "src": "17177:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7617,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17177:31:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17159:49:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7619,
                  "nodeType": "ExpressionStatement",
                  "src": "17159:49:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7622,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7620,
                      "name": "_done",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7457,
                      "src": "17218:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 7621,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "17226:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "17218:12:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7623,
                  "nodeType": "ExpressionStatement",
                  "src": "17218:12:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7630,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7624,
                      "name": "_passed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7455,
                      "src": "17241:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 7626,
                          "name": "_currentResults",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7472,
                          "src": "17269:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7627,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7446,
                          "src": "17286:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 7628,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7448,
                          "src": "17299:6:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                            "typeString": "struct DaoStructs.IntermediateResults memory"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 7625,
                        "name": "isVoteCountPassed",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7672,
                        "src": "17251:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8450_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                          "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)"
                        }
                      },
                      "id": 7629,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17251:55:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "17241:65:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7631,
                  "nodeType": "ExpressionStatement",
                  "src": "17241:65:18"
                }
              ]
            },
            "documentation": "@return _operationsLeft The number of operations left after the calculations in this function\n @return _passed Whether this voting round passed\n @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions\n until _done is true",
            "id": 7633,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "countProposalVote",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7451,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7446,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14365:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7445,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14365:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7448,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14386:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7447,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14386:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7450,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14402:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7449,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14402:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14364:58:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7458,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7453,
                  "name": "_operationsLeft",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14457:23:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7452,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14457:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7455,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14482:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7454,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "14482:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7457,
                  "name": "_done",
                  "nodeType": "VariableDeclaration",
                  "scope": 7633,
                  "src": "14496:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7456,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "14496:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14456:51:18"
            },
            "scope": 7774,
            "src": "14338:2975:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7671,
              "nodeType": "Block",
              "src": "17497:297:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7669,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7644,
                      "name": "_passed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7642,
                      "src": "17507:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 7668,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 7657,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7648,
                                    "name": "_currentResults",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7635,
                                    "src": "17554:15:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                      "typeString": "struct DaoStructs.IntermediateResults memory"
                                    }
                                  },
                                  "id": 7649,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "currentAgainstCount",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 8445,
                                  "src": "17554:35:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 7645,
                                    "name": "_currentResults",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7635,
                                    "src": "17518:15:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                      "typeString": "struct DaoStructs.IntermediateResults memory"
                                    }
                                  },
                                  "id": 7646,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "currentForCount",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 8443,
                                  "src": "17518:31:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 7647,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 25610,
                                "src": "17518:35:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 7650,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17518:72:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 7654,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7637,
                                  "src": "17636:11:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 7655,
                                  "name": "_index",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7639,
                                  "src": "17649:6:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 7651,
                                    "name": "daoCalculatorService",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6660,
                                    "src": "17593:20:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                      "typeString": "function () view returns (contract DaoCalculatorService)"
                                    }
                                  },
                                  "id": 7652,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "17593:22:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                    "typeString": "contract DaoCalculatorService"
                                  }
                                },
                                "id": 7653,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "minimumVotingQuorum",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 11880,
                                "src": "17593:42:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32,uint256) view external returns (uint256)"
                                }
                              },
                              "id": 7656,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17593:63:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "17518:138:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "id": 7658,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "17517:140:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "&&",
                      "rightExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7662,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7635,
                                  "src": "17717:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 7663,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentForCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8443,
                                "src": "17717:31:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 7664,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7635,
                                  "src": "17750:15:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 7665,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "currentAgainstCount",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8445,
                                "src": "17750:35:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7659,
                                  "name": "daoCalculatorService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6660,
                                  "src": "17678:20:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                    "typeString": "function () view returns (contract DaoCalculatorService)"
                                  }
                                },
                                "id": 7660,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "17678:22:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                  "typeString": "contract DaoCalculatorService"
                                }
                              },
                              "id": 7661,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "votingQuotaPass",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11932,
                              "src": "17678:38:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (uint256,uint256) view external returns (bool)"
                              }
                            },
                            "id": 7666,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17678:108:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "id": 7667,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "17677:110:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "17517:270:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "17507:280:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7670,
                  "nodeType": "ExpressionStatement",
                  "src": "17507:280:18"
                }
              ]
            },
            "documentation": null,
            "id": 7672,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isVoteCountPassed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7640,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7635,
                  "name": "_currentResults",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17347:46:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                    "typeString": "struct DaoStructs.IntermediateResults"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 7634,
                    "name": "DaoStructs.IntermediateResults",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8450,
                    "src": "17347:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                      "typeString": "struct DaoStructs.IntermediateResults"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7637,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17395:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7636,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "17395:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7639,
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17416:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7638,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "17416:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "17346:85:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7642,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 7672,
                  "src": "17479:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7641,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "17479:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "17478:14:18"
            },
            "scope": 7774,
            "src": "17320:474:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7697,
              "nodeType": "Block",
              "src": "17876:213:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7680,
                        "name": "_proposalId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7674,
                        "src": "17927:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7681,
                        "name": "COLLATERAL_STATUS_CLAIMED",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1334,
                        "src": "17940:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 7677,
                          "name": "daoStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1181,
                          "src": "17886:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                            "typeString": "function () view returns (contract DaoStorage)"
                          }
                        },
                        "id": 7678,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17886:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoStorage_$17874",
                          "typeString": "contract DaoStorage"
                        }
                      },
                      "id": 7679,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setProposalCollateralStatus",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 17494,
                      "src": "17886:40:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,uint256) external"
                      }
                    },
                    "id": 7682,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17886:80:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7683,
                  "nodeType": "ExpressionStatement",
                  "src": "17886:80:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7691,
                                "name": "_proposalId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7674,
                                "src": "18055:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 7688,
                                  "name": "daoStorage",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1181,
                                  "src": "18021:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$17874_$",
                                    "typeString": "function () view returns (contract DaoStorage)"
                                  }
                                },
                                "id": 7689,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "18021:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoStorage_$17874",
                                  "typeString": "contract DaoStorage"
                                }
                              },
                              "id": 7690,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "readProposalProposer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16180,
                              "src": "18021:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view external returns (address)"
                              }
                            },
                            "id": 7692,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18021:46:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7693,
                            "name": "_proposalId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7674,
                            "src": "18069:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 7685,
                              "name": "daoFundingManager",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6674,
                              "src": "17984:17:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3190_$",
                                "typeString": "function () view returns (contract DaoFundingManager)"
                              }
                            },
                            "id": 7686,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17984:19:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                              "typeString": "contract DaoFundingManager"
                            }
                          },
                          "id": 7687,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "refundCollateral",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3122,
                          "src": "17984:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) external returns (bool)"
                          }
                        },
                        "id": 7694,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17984:97:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 7684,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "17976:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 7695,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17976:106:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7696,
                  "nodeType": "ExpressionStatement",
                  "src": "17976:106:18"
                }
              ]
            },
            "documentation": null,
            "id": 7698,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "processCollateralRefund",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7675,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7674,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7698,
                  "src": "17834:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7673,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "17834:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "17833:21:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7676,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "17876:0:18"
            },
            "scope": 7774,
            "src": "17801:288:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7772,
              "nodeType": "Block",
              "src": "18311:669:18",
              "statements": [
                {
                  "assignments": [
                    7707
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7707,
                      "name": "_qp",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18321:11:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7706,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18321:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7711,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7709,
                        "name": "CONFIG_QUARTER_POINT_VOTE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1544,
                        "src": "18349:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 7708,
                      "name": "getUintConfig",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1281,
                      "src": "18335:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                        "typeString": "function (bytes32) view returns (uint256)"
                      }
                    },
                    "id": 7710,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18335:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18321:54:18"
                },
                {
                  "assignments": [
                    7713
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7713,
                      "name": "_rate",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18385:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7712,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18385:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7717,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7715,
                        "name": "CONFIG_BONUS_REPUTATION_NUMERATOR",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1553,
                        "src": "18415:33:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 7714,
                      "name": "getUintConfig",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1281,
                      "src": "18401:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                        "typeString": "function (bytes32) view returns (uint256)"
                      }
                    },
                    "id": 7716,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18401:48:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18385:64:18"
                },
                {
                  "assignments": [
                    7719
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7719,
                      "name": "_base",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18459:13:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7718,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18459:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7723,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7721,
                        "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1556,
                        "src": "18489:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 7720,
                      "name": "getUintConfig",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1281,
                      "src": "18475:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                        "typeString": "function (bytes32) view returns (uint256)"
                      }
                    },
                    "id": 7722,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18475:50:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18459:66:18"
                },
                {
                  "assignments": [
                    7725
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7725,
                      "name": "_bonus",
                      "nodeType": "VariableDeclaration",
                      "scope": 7773,
                      "src": "18536:14:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7724,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "18536:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7743,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7739,
                                "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1586,
                                "src": "18681:34:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 7738,
                              "name": "getUintConfig",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1281,
                              "src": "18667:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view returns (uint256)"
                              }
                            },
                            "id": 7740,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18667:49:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 7736,
                            "name": "_base",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7719,
                            "src": "18657:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 7737,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25552,
                          "src": "18657:9:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 7741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18657:60:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7732,
                                "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1583,
                                "src": "18586:34:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 7731,
                              "name": "getUintConfig",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1281,
                              "src": "18572:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                "typeString": "function (bytes32) view returns (uint256)"
                              }
                            },
                            "id": 7733,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18572:49:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7728,
                                "name": "_rate",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7713,
                                "src": "18561:5:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 7726,
                                "name": "_qp",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7707,
                                "src": "18553:3:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7727,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "mul",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25552,
                              "src": "18553:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7729,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18553:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 7730,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25552,
                          "src": "18553:18:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 7734,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18553:69:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 7735,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25566,
                      "src": "18553:86:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 7742,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18553:178:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18536:195:18"
                },
                {
                  "body": {
                    "id": 7770,
                    "nodeType": "Block",
                    "src": "18775:199:18",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 7755,
                                "name": "_voters",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7701,
                                "src": "18807:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 7757,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 7756,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7745,
                                "src": "18815:1:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18807:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 7754,
                            "name": "isParticipant",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 594,
                            "src": "18793:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 7758,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18793:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 7769,
                        "nodeType": "IfStatement",
                        "src": "18789:175:18",
                        "trueBody": {
                          "id": 7768,
                          "nodeType": "Block",
                          "src": "18820:144:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 7762,
                                      "name": "_voters",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7701,
                                      "src": "18930:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                        "typeString": "address[] memory"
                                      }
                                    },
                                    "id": 7764,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 7763,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7745,
                                      "src": "18938:1:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "18930:10:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 7765,
                                    "name": "_bonus",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7725,
                                    "src": "18942:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [],
                                    "expression": {
                                      "argumentTypes": [],
                                      "id": 7759,
                                      "name": "daoPointsStorage",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1237,
                                      "src": "18892:16:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14496_$",
                                        "typeString": "function () view returns (contract DaoPointsStorage)"
                                      }
                                    },
                                    "id": 7760,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "18892:18:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoPointsStorage_$14496",
                                      "typeString": "contract DaoPointsStorage"
                                    }
                                  },
                                  "id": 7761,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "increaseReputation",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 14384,
                                  "src": "18892:37:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                                    "typeString": "function (address,uint256) external returns (uint256,uint256)"
                                  }
                                },
                                "id": 7766,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "18892:57:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                  "typeString": "tuple(uint256,uint256)"
                                }
                              },
                              "id": 7767,
                              "nodeType": "ExpressionStatement",
                              "src": "18892:57:18"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7750,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7748,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7745,
                      "src": "18762:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7749,
                      "name": "_n",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7703,
                      "src": "18766:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "18762:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7771,
                  "initializationExpression": {
                    "assignments": [
                      7745
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 7745,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 7773,
                        "src": "18747:9:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 7744,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "18747:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 7747,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7746,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "18759:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "18747:13:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 7752,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "18770:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 7751,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7745,
                        "src": "18770:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7753,
                    "nodeType": "ExpressionStatement",
                    "src": "18770:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "18742:232:18"
                }
              ]
            },
            "documentation": null,
            "id": 7773,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "addBonusReputation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7701,
                  "name": "_voters",
                  "nodeType": "VariableDeclaration",
                  "scope": 7773,
                  "src": "18260:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7699,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "18260:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7700,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "18260:9:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7703,
                  "name": "_n",
                  "nodeType": "VariableDeclaration",
                  "scope": 7773,
                  "src": "18279:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7702,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "18279:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18259:31:18"
            },
            "payable": false,
            "returnParameters": {
              "id": 7705,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "18311:0:18"
            },
            "scope": 7774,
            "src": "18232:748:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 7775,
        "src": "322:18661:18"
      }
    ],
    "src": "0:18984:18"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {
    "42": {
      "events": {},
      "links": {},
      "address": "0x75582e8cece33535a447344defde586b5b3070cc",
      "transactionHash": "0x9211bee555c3aec394e08906a3ecbb2dc3bcea4758809ded9d70a29b9b6c6194"
    }
  },
  "schemaVersion": "2.0.2",
  "updatedAt": "2020-03-16T08:53:49.795Z"
}