{
  "contractName": "DaoSpecialVotingClaims",
  "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"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_result",
          "type": "bool"
        }
      ],
      "name": "SpecialProposalClaim",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_operations",
          "type": "uint256"
        }
      ],
      "name": "claimSpecialProposalVotingResult",
      "outputs": [
        {
          "name": "_passed",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062003a0283398101806040528101908080519060200190929190505050620011756019548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b6125d980620014296000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100eb5780631d8ccd04146101425780633943380c146101b35780633f83acff146101e6578063560a25ea146102575780635932470b1461028257806368533060146102d55780637d6fed80146103045780637f6a26b614610333578063929066f51461035e57806393ddad08146103b9578063b1e2b9dd14610406578063d70d93581461044b578063db4ecbc11461047a578063f94f0f33146104d1578063fa6f39361461051a575b600080fd5b3480156100f757600080fd5b50610100610575565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014e57600080fd5b50610171600480360381019080803560001916906020019092919050505061059a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bf57600080fd5b506101c861065c565b60405180826000191660001916815260200191505060405180910390f35b3480156101f257600080fd5b506102156004803603810190808035600019169060200190929190505050610662565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026357600080fd5b5061026c61073e565b6040518082815260200191505060405180910390f35b34801561028e57600080fd5b506102bb60048036038101908080356000191690602001909291908035906020019092919050505061074e565b604051808215151515815260200191505060405180910390f35b3480156102e157600080fd5b506102ea61166e565b604051808215151515815260200191505060405180910390f35b34801561031057600080fd5b5061031961169a565b604051808215151515815260200191505060405180910390f35b34801561033f57600080fd5b506103486116b5565b6040518082815260200191505060405180910390f35b34801561036a57600080fd5b5061039f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116c5565b604051808215151515815260200191505060405180910390f35b3480156103c557600080fd5b506103e860048036038101908080356000191690602001909291905050506118a6565b60405180826000191660001916815260200191505060405180910390f35b34801561041257600080fd5b506104356004803603810190808035600019169060200190929190505050611968565b6040518082815260200191505060405180910390f35b34801561045757600080fd5b50610460611a2a565b604051808215151515815260200191505060405180910390f35b34801561048657600080fd5b5061048f611ad8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104dd57600080fd5b506105006004803603810190808035600019169060200190929190505050611afe565b604051808215151515815260200191505060405180910390f35b34801561052657600080fd5b5061055b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c53565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105a4611f26565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561061a57600080fd5b505af115801561062e573d6000803e3d6000fd5b505050506040513d602081101561064457600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106fc57600080fd5b505af1158015610710573d6000803e3d6000fd5b505050506040513d602081101561072657600080fd5b81019080805190602001909291905050509050919050565b600061074942611f38565b905090565b6000610758612554565b60606000610764612593565b8660001515610771612021565b73ffffffffffffffffffffffffffffffffffffffff1663b89c3952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b505050506040513d602081101561081157600080fd5b8101908080519060200190929190505050151514151561083057600080fd5b87600061083b612021565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d60208110156108db57600080fd5b810190808051906020019092919050505090506000811115156108fd57600080fd5b610908605954611968565b61091b824261203390919063ffffffff16565b1015151561092857600080fd5b61093061166e565b151561093b57600080fd5b610a2c610949606954611968565b610a1e610957605954611968565b61095f612021565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d8f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b810190808051906020019092919050505061204c90919063ffffffff16565b61204c90919063ffffffff16565b421115610adf57610a3b612021565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b5050505060009750611661565b610ae7612021565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb68b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b5d57600080fd5b505af1158015610b71573d6000803e3d6000fd5b505050506040513d6020811015610b8757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bd157600080fd5b610bd9612068565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d6080811015610c7957600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505050896060018a6000018b60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16876060015173ffffffffffffffffffffffffffffffffffffffff161415610e6557610d5261207a565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610dcd57600080fd5b505af1158015610de1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610e0b57600080fd5b810190808051640100000000811115610e2357600080fd5b82810190506020810184811115610e3957600080fd5b8151856020820283011164010000000082111715610e5657600080fd5b50509291905050509550610fb4565b610e6d61207a565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6588606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610f2057600080fd5b505af1158015610f34573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610f5e57600080fd5b810190808051640100000000811115610f7657600080fd5b82810190506020810184811115610f8c57600080fd5b8151856020820283011164010000000082111715610fa957600080fd5b505092919050505095505b856001875103815181101515610fc657fe5b906020019060200201519450610fda612021565b73ffffffffffffffffffffffffffffffffffffffff166373758c228b886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611073578082015181840152602081019050611058565b5050505090500193505050506040805180830381600087803b15801561109857600080fd5b505af11580156110ac573d6000803e3d6000fd5b505050506040513d60408110156110c257600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084876060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506111428460000151886000015161204c90919063ffffffff16565b8760000181815250506111668460200151886020015161204c90919063ffffffff16565b87602001818152505061117761208c565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111da57600080fd5b505af11580156111ee573d6000803e3d6000fd5b505050506040513d602081101561120457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156115705761125061209e565b73ffffffffffffffffffffffffffffffffffffffff16632850568f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112b357600080fd5b505af11580156112c7573d6000803e3d6000fd5b505050506040513d60208110156112dd57600080fd5b81019080805190602001909291905050506113098860200151896000015161204c90919063ffffffff16565b1180156113d3575061131961209e565b73ffffffffffffffffffffffffffffffffffffffff1663a27c834c886000015189602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561139757600080fd5b505af11580156113ab573d6000803e3d6000fd5b505050506040513d60208110156113c157600080fd5b81019080805190602001909291905050505b156113e657600197506113e58a6120b0565b5b6113ee612021565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b8a6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561147057600080fd5b505af1158015611484573d6000803e3d6000fd5b50505050611490612021565b73ffffffffffffffffffffffffffffffffffffffff1663d6ae87bf8b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561151357600080fd5b505af1158015611527573d6000803e3d6000fd5b5050505089600019167f46d648587884573d7eb9ac356d8a439b4e07e29d401bea0839e76769915adeee89604051808215151515815260200191505060405180910390a2611660565b611578612068565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b89606001518a600001518b6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050505b5b5050505050505092915050565b6000611678611a2a565b8015611695575061168a603854611968565b61169261073e565b10155b905090565b60006116a7603854611968565b6116af61073e565b10905090565b60006116c042612343565b905090565b60006116cf6116b5565b6116d7612446565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561177157600080fd5b505af1158015611785573d6000803e3d6000fd5b505050506040513d602081101561179b57600080fd5b810190808051906020019092919050505014801561189f57506117bf603554611968565b6117c761208c565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561186157600080fd5b505af1158015611875573d6000803e3d6000fd5b505050506040513d602081101561188b57600080fd5b810190808051906020019092919050505010155b9050919050565b60006118b0611f26565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561192657600080fd5b505af115801561193a573d6000803e3d6000fd5b505050506040513d602081101561195057600080fd5b81019080805190602001909291905050509050919050565b6000611972611f26565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119e857600080fd5b505af11580156119fc573d6000803e3d6000fd5b505050506040513d6020811015611a1257600080fd5b81019080805190602001909291905050509050919050565b6000611a34612458565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a9757600080fd5b505af1158015611aab573d6000803e3d6000fd5b505050506040513d6020811015611ac157600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b0861246a565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015611b7f57600080fd5b505af1158015611b93573d6000803e3d6000fd5b505050506040513d610140811015611baa57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509091505080915050919050565b6000611c5d6116b5565b611c65612446565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611cff57600080fd5b505af1158015611d13573d6000803e3d6000fd5b505050506040513d6020811015611d2957600080fd5b8101908080519060200190929190505050148015611e2d5750611d4d603654611968565b611d5561208c565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b810190808051906020019092919050505010155b8015611f1f5750611e3f603754611968565b611e4761247c565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ee157600080fd5b505af1158015611ef5573d6000803e3d6000fd5b505050506040513d6020811015611f0b57600080fd5b810190808051906020019092919050505010155b9050919050565b6000611f33602b54610662565b905090565b6000611f4261248e565b1515611f4d57600080fd5b611f58603954611968565b612010611f63612458565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611fc657600080fd5b505af1158015611fda573d6000803e3d6000fd5b505050506040513d6020811015611ff057600080fd5b81019080805190602001909291905050508461203390919063ffffffff16565b81151561201957fe5b069050919050565b600061202e602a54610662565b905090565b600082821115151561204157fe5b818303905092915050565b6000818301905082811015151561205f57fe5b80905092915050565b6000612075602f54610662565b905090565b6000612087602354610662565b905090565b6000612099602c54610662565b905090565b60006120ab602454610662565b905090565b60608060606120bd612021565b73ffffffffffffffffffffffffffffffffffffffff166356ecd657856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561213357600080fd5b505af1158015612147573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250606081101561217157600080fd5b81019080805164010000000081111561218957600080fd5b8281019050602081018481111561219f57600080fd5b81518560208202830111640100000000821117156121bc57600080fd5b505092919060200180516401000000008111156121d857600080fd5b828101905060208101848111156121ee57600080fd5b815185602082028301116401000000008211171561220b57600080fd5b5050929190602001805164010000000081111561222757600080fd5b8281019050602081018481111561223d57600080fd5b815185602082028301116401000000008211171561225a57600080fd5b5050929190505050809350819450829550505050612276611f26565b73ffffffffffffffffffffffffffffffffffffffff1663aecbca67846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156123005780820151818401526020810190506122e5565b5050505090500192505050600060405180830381600087803b15801561232557600080fd5b505af1158015612339573d6000803e3d6000fd5b5050505050505050565b600061234d61248e565b151561235857600080fd5b61243f600161243161236b603954611968565b612423612376612458565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123d957600080fd5b505af11580156123ed573d6000803e3d6000fd5b505050506040513d602081101561240357600080fd5b81019080805190602001909291905050508761203390919063ffffffff16565b61253e90919063ffffffff16565b61204c90919063ffffffff16565b9050919050565b6000612453602d54610662565b905090565b6000612465602754610662565b905090565b6000612477602554610662565b905090565b6000612489602954610662565b905090565b600080612499612458565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124fc57600080fd5b505af1158015612510573d6000803e3d6000fd5b505050506040513d602081101561252657600080fd5b81019080805190602001909291905050501415905090565b6000818381151561254b57fe5b04905092915050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040805190810160405280600081526020016000815250905600a165627a7a72305820374d4342d1340ba751c96486a51fbd492873d3564d1eb5112a5ab520cad848a90029",
  "deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100eb5780631d8ccd04146101425780633943380c146101b35780633f83acff146101e6578063560a25ea146102575780635932470b1461028257806368533060146102d55780637d6fed80146103045780637f6a26b614610333578063929066f51461035e57806393ddad08146103b9578063b1e2b9dd14610406578063d70d93581461044b578063db4ecbc11461047a578063f94f0f33146104d1578063fa6f39361461051a575b600080fd5b3480156100f757600080fd5b50610100610575565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014e57600080fd5b50610171600480360381019080803560001916906020019092919050505061059a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bf57600080fd5b506101c861065c565b60405180826000191660001916815260200191505060405180910390f35b3480156101f257600080fd5b506102156004803603810190808035600019169060200190929190505050610662565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026357600080fd5b5061026c61073e565b6040518082815260200191505060405180910390f35b34801561028e57600080fd5b506102bb60048036038101908080356000191690602001909291908035906020019092919050505061074e565b604051808215151515815260200191505060405180910390f35b3480156102e157600080fd5b506102ea61166e565b604051808215151515815260200191505060405180910390f35b34801561031057600080fd5b5061031961169a565b604051808215151515815260200191505060405180910390f35b34801561033f57600080fd5b506103486116b5565b6040518082815260200191505060405180910390f35b34801561036a57600080fd5b5061039f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116c5565b604051808215151515815260200191505060405180910390f35b3480156103c557600080fd5b506103e860048036038101908080356000191690602001909291905050506118a6565b60405180826000191660001916815260200191505060405180910390f35b34801561041257600080fd5b506104356004803603810190808035600019169060200190929190505050611968565b6040518082815260200191505060405180910390f35b34801561045757600080fd5b50610460611a2a565b604051808215151515815260200191505060405180910390f35b34801561048657600080fd5b5061048f611ad8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104dd57600080fd5b506105006004803603810190808035600019169060200190929190505050611afe565b604051808215151515815260200191505060405180910390f35b34801561052657600080fd5b5061055b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c53565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105a4611f26565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561061a57600080fd5b505af115801561062e573d6000803e3d6000fd5b505050506040513d602081101561064457600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106fc57600080fd5b505af1158015610710573d6000803e3d6000fd5b505050506040513d602081101561072657600080fd5b81019080805190602001909291905050509050919050565b600061074942611f38565b905090565b6000610758612554565b60606000610764612593565b8660001515610771612021565b73ffffffffffffffffffffffffffffffffffffffff1663b89c3952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b505050506040513d602081101561081157600080fd5b8101908080519060200190929190505050151514151561083057600080fd5b87600061083b612021565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d60208110156108db57600080fd5b810190808051906020019092919050505090506000811115156108fd57600080fd5b610908605954611968565b61091b824261203390919063ffffffff16565b1015151561092857600080fd5b61093061166e565b151561093b57600080fd5b610a2c610949606954611968565b610a1e610957605954611968565b61095f612021565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d8f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b810190808051906020019092919050505061204c90919063ffffffff16565b61204c90919063ffffffff16565b421115610adf57610a3b612021565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b5050505060009750611661565b610ae7612021565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb68b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b5d57600080fd5b505af1158015610b71573d6000803e3d6000fd5b505050506040513d6020811015610b8757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bd157600080fd5b610bd9612068565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d6080811015610c7957600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505050896060018a6000018b60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16876060015173ffffffffffffffffffffffffffffffffffffffff161415610e6557610d5261207a565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610dcd57600080fd5b505af1158015610de1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610e0b57600080fd5b810190808051640100000000811115610e2357600080fd5b82810190506020810184811115610e3957600080fd5b8151856020820283011164010000000082111715610e5657600080fd5b50509291905050509550610fb4565b610e6d61207a565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6588606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610f2057600080fd5b505af1158015610f34573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610f5e57600080fd5b810190808051640100000000811115610f7657600080fd5b82810190506020810184811115610f8c57600080fd5b8151856020820283011164010000000082111715610fa957600080fd5b505092919050505095505b856001875103815181101515610fc657fe5b906020019060200201519450610fda612021565b73ffffffffffffffffffffffffffffffffffffffff166373758c228b886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611073578082015181840152602081019050611058565b5050505090500193505050506040805180830381600087803b15801561109857600080fd5b505af11580156110ac573d6000803e3d6000fd5b505050506040513d60408110156110c257600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084876060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506111428460000151886000015161204c90919063ffffffff16565b8760000181815250506111668460200151886020015161204c90919063ffffffff16565b87602001818152505061117761208c565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111da57600080fd5b505af11580156111ee573d6000803e3d6000fd5b505050506040513d602081101561120457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156115705761125061209e565b73ffffffffffffffffffffffffffffffffffffffff16632850568f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112b357600080fd5b505af11580156112c7573d6000803e3d6000fd5b505050506040513d60208110156112dd57600080fd5b81019080805190602001909291905050506113098860200151896000015161204c90919063ffffffff16565b1180156113d3575061131961209e565b73ffffffffffffffffffffffffffffffffffffffff1663a27c834c886000015189602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561139757600080fd5b505af11580156113ab573d6000803e3d6000fd5b505050506040513d60208110156113c157600080fd5b81019080805190602001909291905050505b156113e657600197506113e58a6120b0565b5b6113ee612021565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b8a6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561147057600080fd5b505af1158015611484573d6000803e3d6000fd5b50505050611490612021565b73ffffffffffffffffffffffffffffffffffffffff1663d6ae87bf8b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561151357600080fd5b505af1158015611527573d6000803e3d6000fd5b5050505089600019167f46d648587884573d7eb9ac356d8a439b4e07e29d401bea0839e76769915adeee89604051808215151515815260200191505060405180910390a2611660565b611578612068565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b89606001518a600001518b6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050505b5b5050505050505092915050565b6000611678611a2a565b8015611695575061168a603854611968565b61169261073e565b10155b905090565b60006116a7603854611968565b6116af61073e565b10905090565b60006116c042612343565b905090565b60006116cf6116b5565b6116d7612446565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561177157600080fd5b505af1158015611785573d6000803e3d6000fd5b505050506040513d602081101561179b57600080fd5b810190808051906020019092919050505014801561189f57506117bf603554611968565b6117c761208c565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561186157600080fd5b505af1158015611875573d6000803e3d6000fd5b505050506040513d602081101561188b57600080fd5b810190808051906020019092919050505010155b9050919050565b60006118b0611f26565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561192657600080fd5b505af115801561193a573d6000803e3d6000fd5b505050506040513d602081101561195057600080fd5b81019080805190602001909291905050509050919050565b6000611972611f26565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119e857600080fd5b505af11580156119fc573d6000803e3d6000fd5b505050506040513d6020811015611a1257600080fd5b81019080805190602001909291905050509050919050565b6000611a34612458565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a9757600080fd5b505af1158015611aab573d6000803e3d6000fd5b505050506040513d6020811015611ac157600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b0861246a565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015611b7f57600080fd5b505af1158015611b93573d6000803e3d6000fd5b505050506040513d610140811015611baa57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509091505080915050919050565b6000611c5d6116b5565b611c65612446565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611cff57600080fd5b505af1158015611d13573d6000803e3d6000fd5b505050506040513d6020811015611d2957600080fd5b8101908080519060200190929190505050148015611e2d5750611d4d603654611968565b611d5561208c565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b810190808051906020019092919050505010155b8015611f1f5750611e3f603754611968565b611e4761247c565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ee157600080fd5b505af1158015611ef5573d6000803e3d6000fd5b505050506040513d6020811015611f0b57600080fd5b810190808051906020019092919050505010155b9050919050565b6000611f33602b54610662565b905090565b6000611f4261248e565b1515611f4d57600080fd5b611f58603954611968565b612010611f63612458565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611fc657600080fd5b505af1158015611fda573d6000803e3d6000fd5b505050506040513d6020811015611ff057600080fd5b81019080805190602001909291905050508461203390919063ffffffff16565b81151561201957fe5b069050919050565b600061202e602a54610662565b905090565b600082821115151561204157fe5b818303905092915050565b6000818301905082811015151561205f57fe5b80905092915050565b6000612075602f54610662565b905090565b6000612087602354610662565b905090565b6000612099602c54610662565b905090565b60006120ab602454610662565b905090565b60608060606120bd612021565b73ffffffffffffffffffffffffffffffffffffffff166356ecd657856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561213357600080fd5b505af1158015612147573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250606081101561217157600080fd5b81019080805164010000000081111561218957600080fd5b8281019050602081018481111561219f57600080fd5b81518560208202830111640100000000821117156121bc57600080fd5b505092919060200180516401000000008111156121d857600080fd5b828101905060208101848111156121ee57600080fd5b815185602082028301116401000000008211171561220b57600080fd5b5050929190602001805164010000000081111561222757600080fd5b8281019050602081018481111561223d57600080fd5b815185602082028301116401000000008211171561225a57600080fd5b5050929190505050809350819450829550505050612276611f26565b73ffffffffffffffffffffffffffffffffffffffff1663aecbca67846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156123005780820151818401526020810190506122e5565b5050505090500192505050600060405180830381600087803b15801561232557600080fd5b505af1158015612339573d6000803e3d6000fd5b5050505050505050565b600061234d61248e565b151561235857600080fd5b61243f600161243161236b603954611968565b612423612376612458565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123d957600080fd5b505af11580156123ed573d6000803e3d6000fd5b505050506040513d602081101561240357600080fd5b81019080805190602001909291905050508761203390919063ffffffff16565b61253e90919063ffffffff16565b61204c90919063ffffffff16565b9050919050565b6000612453602d54610662565b905090565b6000612465602754610662565b905090565b6000612477602554610662565b905090565b6000612489602954610662565b905090565b600080612499612458565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156124fc57600080fd5b505af1158015612510573d6000803e3d6000fd5b505050506040513d602081101561252657600080fd5b81019080805190602001909291905050501415905090565b6000818381151561254b57fe5b04905092915050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040805190810160405280600081526020016000815250905600a165627a7a72305820374d4342d1340ba751c96486a51fbd492873d3564d1eb5112a5ab520cad848a90029",
  "sourceMap": "321:4599:15:-;;;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;;;;;;;;1206:115:15;8:9:-1;5:2;;;30:1;27;20:12;5:2;1206:115:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:51;1267:34;;1303:9;1262:4;;;:51;;;:::i;:::-;1254:60;;;;;;;;1206:115;321:4599;;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;321:4599:15:-;;;;;;;",
  "deployedSourceMap": "321:4599:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;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;;;;;;;;;;;;;;;;;;;;;;;1582:2929:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1582:2929:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1759:239:2;;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;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;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;2380:179::-;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;1582:2929:15:-;1786:12;2247:53;;:::i;:::-;2535:24;2958:18;3017:52;;:::i;:::-;1709:11;4702:5:1;4656:51;;:19;:17;:19::i;:::-;:29;;;4686:11;4656:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4656:42:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4656:42:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4656:42:1;;;;;;;;;;;;;;;;:51;;;4648:60;;;;;;;;1756:11:15;5274:14:1;5291:19;:17;:19::i;:::-;:34;;;5326:11;5291:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5291:47:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5291:47:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5291:47:1;;;;;;;;;;;;;;;;5274:64;;5363:1;5354:6;:10;5346:19;;;;;;;;5400:50;5414:35;;5400:13;:50::i;:::-;5381:15;5389:6;5381:3;:7;;:15;;;;:::i;:::-;:69;;5373:78;;;;;;;;1822:13:15;:11;:13::i;:::-;1814:22;;;;;;;;1856:195;2006:44;2020:29;;2006:13;:44::i;:::-;1856:124;1929:50;1943:35;;1929:13;:50::i;:::-;1856:19;:17;:19::i;:::-;:34;;;1891:11;1856:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1856:47:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1856:47:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1856:47:15;;;;;;;;;;;;;;;;:72;;:124;;;;:::i;:::-;:149;;:195;;;;:::i;:::-;1850:3;:201;1846:305;;;2067:19;:17;:19::i;:::-;:27;;;2095:11;2108:5;2067:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2067:47:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2067:47:15;;;;2135:5;2128:12;;;;1846:305;2182:19;:17;:19::i;:::-;:40;;;2223:11;2182:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2182:53:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2182:53:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2182:53:15;;;;;;;;;;;;;;;;2168:67;;:10;:67;;;2160:76;;;;;;;;2460:28;:26;:28::i;:::-;:51;;;2512:11;2460:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2460:64:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2460:64:15;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2460:64:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2310:214;2324:15;:28;;2366:15;:31;;2411:15;:35;;2310:214;;;;;;;;;;;;;;;;;;;2605:13;;;;;;;;;;;2573:45;;:15;:28;;;:45;;;2569:379;;;2644:19;:17;:19::i;:::-;:36;;;2698:11;2727:4;2644:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2644:101:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2644:101:15;;;;;;39:16:-1;36:1;17:17;2:54;2644:101:15;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;2644:101:15;;;;;;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;;2644:101:15;;;;;;2634:111;;2569:379;;;2786:19;:17;:19::i;:::-;:40;;;2844:15;:28;;;2890:11;2919:4;2786:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2786:151:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2786:151:15;;;;;;39:16:-1;36:1;17:17;2:54;2786:151:15;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;2786:151:15;;;;;;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;;2786:151:15;;;;;;2776:161;;2569:379;2979:7;3004:1;2987:7;:14;:18;2979:27;;;;;;;;;;;;;;;;;;2958:48;;3128:19;:17;:19::i;:::-;:35;;;3164:11;3177:7;3128:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3128:57:15;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3128:57:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3128:57:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3128:57:15;;;;;;;;;;;;;;;;;;;;;;;;;3080:10;:19;;3101:10;:23;;3079:106;;;;;;;;;;3227:10;3196:15;:28;;:41;;;;;;;;;;;3281:56;3317:10;:19;;;3281:15;:31;;;:35;;:56;;;;:::i;:::-;3247:15;:31;;:90;;;;;3385:64;3425:10;:23;;;3385:15;:35;;;:39;;:64;;;;:::i;:::-;3347:15;:35;;:102;;;;;3478:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3478:39:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3478:39:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3478:39:15;;;;;;;;;;;;;;;;3464:53;;:10;:53;;;3460:1045;;;3714:22;:20;:22::i;:::-;:52;;;:54;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3714:54:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3714:54:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3714:54:15;;;;;;;;;;;;;;;;3639:72;3675:15;:35;;;3639:15;:31;;;:35;;:72;;;;:::i;:::-;:129;3638:271;;;;;3790:22;:20;:22::i;:::-;:48;;;3839:15;:31;;;3872:15;:35;;;3790:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3790:118:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3790:118:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3790:118:15;;;;;;;;;;;;;;;;3638:271;3617:395;;;3952:4;3942:14;;3974:23;3985:11;3974:10;:23::i;:::-;3617:395;4025:19;:17;:19::i;:::-;:27;;;4053:11;4066:7;4025:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4025:49:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4025:49:15;;;;4088:19;:17;:19::i;:::-;:34;;;4123:11;4136:4;4088:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4088:53:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4088:53:15;;;;4181:11;4160:42;;;;4194:7;4160:42;;;;;;;;;;;;;;;;;;;;;;3460:1045;;;4233:28;:26;:28::i;:::-;:51;;;4302:11;4331:15;:28;;;4377:15;:31;;;4426:15;:35;;;4479:1;4233:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4233:261:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4233:261:15;;;;3460:1045;5459:1:1;4718;;1582:2929:15;;;;;;;;;:::o;1759:239:2:-;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;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;834:173::-;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;3928:332::-;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;6475:199::-;6551:27;6624:42;6637:28;;6624:12;:42::i;:::-;6594:73;;6475:199;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::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;579:211:15:-;658:30;737:45;750:31;;737:12;:45::i;:::-;704:79;;579:211;:::o;4518:399::-;4589:29;4628:32;4670:30;4805:19;:17;:19::i;:::-;:31;;;4837:11;4805:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4805:44:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4805:44:15;;;;;;39:16:-1;36:1;17:17;2:54;4805:44:15;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;4805:44:15;;;;;;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;;4805:44:15;;;;;;;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;;4805:44:15;;;;;;;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;;4805:44:15;;;;;;4710:139;;;;;;;;;;;;4859:19;:17;:19::i;:::-;:37;;;4897:12;4859:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4859:51:15;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4859:51:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4859:51:15;;;;4518:399;;;;:::o;3435:320:2:-;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;6881:199::-;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;5865:170::-;5934:20;5993:34;6006:20;;5993:12;:34::i;:::-;5970:58;;5865:170;:::o;6680:195::-;6755:26;6826:41;6839:27;;6826:12;:41::i;:::-;6797:71;;6680:195;:::o;4409:172::-;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;665:283:84:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;321:4599:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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@title Contract to claim voting results\n@author Digix Holdings\n*/\ncontract DaoSpecialVotingClaims is DaoCommon {\n    using DaoIntermediateStructs for DaoIntermediateStructs.VotingCount;\n    using DaoStructs for DaoStructs.IntermediateResults;\n\n    event SpecialProposalClaim(bytes32 indexed _proposalId, bool _result);\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_SPECIAL_VOTING_CLAIMS, _resolver));\n    }\n\n\n    /**\n    @notice Function to claim the voting result on special proposal\n    @param _proposalId ID of the special proposal\n    @return {\n      \"_passed\": \"Boolean, true if voting passed, throw if failed, returns false if passed deadline\"\n    }\n    */\n    function claimSpecialProposalVotingResult(bytes32 _proposalId, uint256 _operations)\n        public\n        ifNotClaimedSpecial(_proposalId)\n        ifAfterRevealPhaseSpecial(_proposalId)\n        returns (bool _passed)\n    {\n        require(isMainPhase());\n        if (now > daoSpecialStorage().readVotingTime(_proposalId)\n                    .add(getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL))\n                    .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))) {\n            daoSpecialStorage().setPass(_proposalId, false);\n            return false;\n        }\n        require(msg.sender == daoSpecialStorage().readProposalProposer(_proposalId));\n\n        DaoStructs.IntermediateResults memory _currentResults;\n        (\n            _currentResults.countedUntil,\n            _currentResults.currentForCount,\n            _currentResults.currentAgainstCount,\n        ) = intermediateResultsStorage().getIntermediateResults(_proposalId);\n\n        address[] memory _voters;\n        if (_currentResults.countedUntil == EMPTY_ADDRESS) {\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\n        address _lastVoter = _voters[_voters.length - 1];\n\n        DaoIntermediateStructs.VotingCount memory _voteCount;\n        (_voteCount.forCount, _voteCount.againstCount) = daoSpecialStorage().readVotingCount(_proposalId, _voters);\n\n        _currentResults.countedUntil = _lastVoter;\n        _currentResults.currentForCount = _currentResults.currentForCount.add(_voteCount.forCount);\n        _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_voteCount.againstCount);\n\n        if (_lastVoter == daoStakeStorage().readLastParticipant()) {\n            // this is already the last transaction, we have counted all the votes\n\n            if (\n                (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumVotingQuorumForSpecial()) &&\n                (daoCalculatorService().votingQuotaForSpecialPass(_currentResults.currentForCount, _currentResults.currentAgainstCount))\n            ) {\n                _passed = true;\n                setConfigs(_proposalId);\n            }\n            daoSpecialStorage().setPass(_proposalId, _passed);\n            daoSpecialStorage().setVotingClaim(_proposalId, true);\n            emit SpecialProposalClaim(_proposalId, _passed);\n        } else {\n            intermediateResultsStorage().setIntermediateResults(\n                _proposalId,\n                _currentResults.countedUntil,\n                _currentResults.currentForCount,\n                _currentResults.currentAgainstCount,\n                0\n            );\n        }\n    }\n\n\n    function setConfigs(bytes32 _proposalId)\n        private\n    {\n        uint256[] memory _uintConfigs;\n        address[] memory _addressConfigs;\n        bytes32[] memory _bytesConfigs;\n        (\n            _uintConfigs,\n            _addressConfigs,\n            _bytesConfigs\n        ) = daoSpecialStorage().readConfigs(_proposalId);\n        daoConfigsStorage().updateUintConfigs(_uintConfigs);\n    }\n\n}\n",
  "sourcePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoSpecialVotingClaims.sol",
  "ast": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoSpecialVotingClaims.sol",
    "exportedSymbols": {
      "DaoSpecialVotingClaims": [
        5367
      ]
    },
    "id": 5368,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 5012,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:15"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/common/DaoCommon.sol",
        "file": "../common/DaoCommon.sol",
        "id": 5013,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 885,
        "src": "26:33:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/service/DaoCalculatorService.sol",
        "file": "../service/DaoCalculatorService.sol",
        "id": 5014,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 12094,
        "src": "60:45:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoFundingManager.sol",
        "file": "./DaoFundingManager.sol",
        "id": 5015,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 3191,
        "src": "106:33:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoRewardsManager.sol",
        "file": "./DaoRewardsManager.sol",
        "id": 5016,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 4667,
        "src": "140:33:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoIntermediateStructs.sol",
        "file": "../lib/DaoIntermediateStructs.sol",
        "id": 5017,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 7884,
        "src": "174:43:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoStructs.sol",
        "file": "../lib/DaoStructs.sol",
        "id": 5018,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 8452,
        "src": "218:31:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 5019,
              "name": "DaoCommon",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 884,
              "src": "356:9:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoCommon_$884",
                "typeString": "contract DaoCommon"
              }
            },
            "id": 5020,
            "nodeType": "InheritanceSpecifier",
            "src": "356:9:15"
          }
        ],
        "contractDependencies": [
          884,
          1282,
          1629,
          1868,
          1960,
          18628
        ],
        "contractKind": "contract",
        "documentation": "@title Contract to claim voting results\n@author Digix Holdings",
        "fullyImplemented": true,
        "id": 5367,
        "linearizedBaseContracts": [
          5367,
          884,
          1282,
          1960,
          1868,
          1629,
          18628
        ],
        "name": "DaoSpecialVotingClaims",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 5023,
            "libraryName": {
              "contractScope": null,
              "id": 5021,
              "name": "DaoIntermediateStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7883,
              "src": "378:22:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7883",
                "typeString": "library DaoIntermediateStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "372:68:15",
            "typeName": {
              "contractScope": null,
              "id": 5022,
              "name": "DaoIntermediateStructs.VotingCount",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7876,
              "src": "405:34:15",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                "typeString": "struct DaoIntermediateStructs.VotingCount"
              }
            }
          },
          {
            "id": 5026,
            "libraryName": {
              "contractScope": null,
              "id": 5024,
              "name": "DaoStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8451,
              "src": "451:10:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStructs_$8451",
                "typeString": "library DaoStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "445:52:15",
            "typeName": {
              "contractScope": null,
              "id": 5025,
              "name": "DaoStructs.IntermediateResults",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8450,
              "src": "466:30:15",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                "typeString": "struct DaoStructs.IntermediateResults"
              }
            }
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 5032,
            "name": "SpecialProposalClaim",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5031,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5028,
                  "indexed": true,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5032,
                  "src": "530:27:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 5027,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "530:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5030,
                  "indexed": false,
                  "name": "_result",
                  "nodeType": "VariableDeclaration",
                  "scope": 5032,
                  "src": "559:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5029,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "559:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "529:43:15"
            },
            "src": "503:70:15"
          },
          {
            "body": {
              "id": 5045,
              "nodeType": "Block",
              "src": "694:96:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5043,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5037,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5035,
                      "src": "704:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5040,
                              "name": "CONTRACT_SERVICE_DAO_CALCULATOR",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1394,
                              "src": "750:31:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5039,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "737:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5041,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "737:45:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 5038,
                        "name": "DaoCalculatorService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12093,
                        "src": "716:20:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12093_$",
                          "typeString": "type(contract DaoCalculatorService)"
                        }
                      },
                      "id": 5042,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "716:67:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "src": "704:79:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "id": 5044,
                  "nodeType": "ExpressionStatement",
                  "src": "704:79:15"
                }
              ]
            },
            "documentation": null,
            "id": 5046,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoCalculatorService",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5033,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "608:2:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5036,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5035,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 5046,
                  "src": "658:30:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                    "typeString": "contract DaoCalculatorService"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 5034,
                    "name": "DaoCalculatorService",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 12093,
                    "src": "658:20:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "657:32:15"
            },
            "scope": 5367,
            "src": "579:211:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5059,
              "nodeType": "Block",
              "src": "905:90:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5057,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5051,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5049,
                      "src": "915:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5054,
                              "name": "CONTRACT_DAO_FUNDING_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1376,
                              "src": "958:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5053,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "945:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5055,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "945:42:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 5052,
                        "name": "DaoFundingManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3190,
                        "src": "927:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3190_$",
                          "typeString": "type(contract DaoFundingManager)"
                        }
                      },
                      "id": 5056,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "927:61:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "src": "915:73:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "id": 5058,
                  "nodeType": "ExpressionStatement",
                  "src": "915:73:15"
                }
              ]
            },
            "documentation": null,
            "id": 5060,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoFundingManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5047,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "822:2:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5050,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5049,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 5060,
                  "src": "872:27:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                    "typeString": "contract DaoFundingManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 5048,
                    "name": "DaoFundingManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3190,
                    "src": "872:17:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "871:29:15"
            },
            "scope": 5367,
            "src": "796:199:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5073,
              "nodeType": "Block",
              "src": "1110:90:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5071,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5065,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5063,
                      "src": "1120:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5068,
                              "name": "CONTRACT_DAO_REWARDS_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1367,
                              "src": "1163:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5067,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "1150:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5069,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1150:42:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 5066,
                        "name": "DaoRewardsManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4666,
                        "src": "1132:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4666_$",
                          "typeString": "type(contract DaoRewardsManager)"
                        }
                      },
                      "id": 5070,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1132:61:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "src": "1120:73:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "id": 5072,
                  "nodeType": "ExpressionStatement",
                  "src": "1120:73:15"
                }
              ]
            },
            "documentation": null,
            "id": 5074,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoRewardsManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1027:2:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5064,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5063,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 5074,
                  "src": "1077:27:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                    "typeString": "contract DaoRewardsManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 5062,
                    "name": "DaoRewardsManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4666,
                    "src": "1077:17:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1076:29:15"
            },
            "scope": 5367,
            "src": "1001:199:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5086,
              "nodeType": "Block",
              "src": "1244:77:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 5081,
                            "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1361,
                            "src": "1267:34:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 5082,
                            "name": "_resolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5076,
                            "src": "1303:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 5080,
                          "name": "init",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18596,
                          "src": "1262:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$",
                            "typeString": "function (bytes32,address) returns (bool)"
                          }
                        },
                        "id": 5083,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1262:51:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 5079,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "1254:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 5084,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1254:60:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5085,
                  "nodeType": "ExpressionStatement",
                  "src": "1254:60:15"
                }
              ]
            },
            "documentation": null,
            "id": 5087,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5077,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5076,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 5087,
                  "src": "1218:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5075,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1218:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1217:19:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5078,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1244:0:15"
            },
            "scope": 5367,
            "src": "1206:115:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 5327,
              "nodeType": "Block",
              "src": "1804:2707:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 5103,
                          "name": "isMainPhase",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 951,
                          "src": "1822:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                            "typeString": "function () view returns (bool)"
                          }
                        },
                        "id": 5104,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1822:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 5102,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "1814:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 5105,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1814:22:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5106,
                  "nodeType": "ExpressionStatement",
                  "src": "1814:22:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5123,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5107,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26184,
                      "src": "1850:3:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5120,
                              "name": "CONFIG_VOTE_CLAIMING_DEADLINE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1610,
                              "src": "2020:29:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5119,
                            "name": "getUintConfig",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1281,
                            "src": "2006:13:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (bytes32) view returns (uint256)"
                            }
                          },
                          "id": 5121,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2006:44:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 5115,
                                  "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1562,
                                  "src": "1943:35:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 5114,
                                "name": "getUintConfig",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1281,
                                "src": "1929:13:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view returns (uint256)"
                                }
                              },
                              "id": 5116,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1929:50:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 5111,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5089,
                                  "src": "1891:11:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 5108,
                                    "name": "daoSpecialStorage",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1223,
                                    "src": "1856:17:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                      "typeString": "function () view returns (contract DaoSpecialStorage)"
                                    }
                                  },
                                  "id": 5109,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1856:19:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                    "typeString": "contract DaoSpecialStorage"
                                  }
                                },
                                "id": 5110,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "readVotingTime",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 15378,
                                "src": "1856:34:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view external returns (uint256)"
                                }
                              },
                              "id": 5112,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1856:47:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 5113,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25610,
                            "src": "1856:72:15",
                            "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": 5117,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1856:124:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5118,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "1856:149:15",
                        "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": 5122,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1856:195:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1850:201:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5134,
                  "nodeType": "IfStatement",
                  "src": "1846:305:15",
                  "trueBody": {
                    "id": 5133,
                    "nodeType": "Block",
                    "src": "2053:98:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5127,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "2095:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 5128,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2108:5:15",
                              "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": 5124,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "2067:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5125,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2067:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5126,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15494,
                            "src": "2067:27:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 5129,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2067:47:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5130,
                        "nodeType": "ExpressionStatement",
                        "src": "2067:47:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 5131,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2135:5:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 5101,
                        "id": 5132,
                        "nodeType": "Return",
                        "src": "2128:12:15"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5136,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26182,
                            "src": "2168:3:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 5137,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2168:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5141,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "2223:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 5138,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "2182:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5139,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2182:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5140,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "readProposalProposer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15295,
                            "src": "2182:40:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view external returns (address)"
                            }
                          },
                          "id": 5142,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2182:53:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2168:67:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 5135,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "2160:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 5144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2160:76:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5145,
                  "nodeType": "ExpressionStatement",
                  "src": "2160:76:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5149,
                      "name": "_currentResults",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "2247:53:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                        "typeString": "struct DaoStructs.IntermediateResults"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 5148,
                        "name": "DaoStructs.IntermediateResults",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8450,
                        "src": "2247:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5150,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2247:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5164,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5151,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "2324:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5153,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "countedUntil",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8449,
                          "src": "2324:28:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5154,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "2366:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5155,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "2366:31:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5156,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "2411:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5157,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "2411:35:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 5158,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "2310:147:15",
                      "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": 5162,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5089,
                          "src": "2512:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5159,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "2460:26:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 5160,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2460:28:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 5161,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "2460:51:15",
                        "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": 5163,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2460:64:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "2310:214:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5165,
                  "nodeType": "ExpressionStatement",
                  "src": "2310:214:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5169,
                      "name": "_voters",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "2535:24:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5167,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "2535:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 5168,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2535:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5170,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2535:24:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 5174,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5171,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "2573:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5172,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "2573:28:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5173,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "2605:13:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "2573:45:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 5196,
                    "nodeType": "Block",
                    "src": "2762:186:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5194,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5185,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5169,
                            "src": "2776:7:15",
                            "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": 5189,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5149,
                                  "src": "2844:15:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 5190,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "countedUntil",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8449,
                                "src": "2844:28:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 5191,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5091,
                                "src": "2890:11:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 5192,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2919:4:15",
                                "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": 5186,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "2786:17:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 5187,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2786:19:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 5188,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipantsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12276,
                              "src": "2786:40:15",
                              "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": 5193,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2786:151:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "2776:161:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 5195,
                        "nodeType": "ExpressionStatement",
                        "src": "2776:161:15"
                      }
                    ]
                  },
                  "id": 5197,
                  "nodeType": "IfStatement",
                  "src": "2569:379:15",
                  "trueBody": {
                    "id": 5184,
                    "nodeType": "Block",
                    "src": "2620:136:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5182,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5175,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5169,
                            "src": "2634:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 5179,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5091,
                                "src": "2698:11:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 5180,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2727:4:15",
                                "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": 5176,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "2644:17:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 5177,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2644:19:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 5178,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipants",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12243,
                              "src": "2644:36:15",
                              "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": 5181,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2644:101:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "2634:111:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 5183,
                        "nodeType": "ExpressionStatement",
                        "src": "2634:111:15"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    5199
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5199,
                      "name": "_lastVoter",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "2958:18:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 5198,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2958:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5206,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 5200,
                      "name": "_voters",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5169,
                      "src": "2979:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 5205,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5204,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 5201,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5169,
                          "src": "2987:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 5202,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2987:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5203,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3004:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "2987:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2979:27:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2958:48:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5210,
                      "name": "_voteCount",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "3017:52:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.VotingCount"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 5209,
                        "name": "DaoIntermediateStructs.VotingCount",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7876,
                        "src": "3017:34:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.VotingCount"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5211,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3017:52:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5224,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5212,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3080:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5214,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "3080:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5215,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3101:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5216,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "3101:23:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 5217,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3079:46:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 5221,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5089,
                          "src": "3164:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 5222,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5169,
                          "src": "3177:7:15",
                          "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": 5218,
                            "name": "daoSpecialStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1223,
                            "src": "3128:17:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                              "typeString": "function () view returns (contract DaoSpecialStorage)"
                            }
                          },
                          "id": 5219,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3128:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                            "typeString": "contract DaoSpecialStorage"
                          }
                        },
                        "id": 5220,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readVotingCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15357,
                        "src": "3128:35:15",
                        "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": 5223,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3128:57:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "3079:106:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5225,
                  "nodeType": "ExpressionStatement",
                  "src": "3079:106:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5226,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "3196:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5228,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "3196:28:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5229,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "3227:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3196:41:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 5231,
                  "nodeType": "ExpressionStatement",
                  "src": "3196:41:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5241,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5232,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "3247:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5234,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentForCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8443,
                      "src": "3247:31:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5238,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3317:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5239,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "3317:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5235,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "3281:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5236,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "3281:31:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5237,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "3281:35:15",
                        "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": 5240,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3281:56:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3247:90:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5242,
                  "nodeType": "ExpressionStatement",
                  "src": "3247:90:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5252,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5243,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "3347:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5245,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentAgainstCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8445,
                      "src": "3347:35:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5249,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3425:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5250,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "3425:23:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5246,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "3385:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5247,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "3385:35:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5248,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "3385:39:15",
                        "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": 5251,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3385:64:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3347:102:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5253,
                  "nodeType": "ExpressionStatement",
                  "src": "3347:102:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 5259,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5254,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "3464:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5255,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "3478:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 5256,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3478:17:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 5257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastParticipant",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15983,
                        "src": "3478:37:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 5258,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3478:39:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3464:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 5325,
                    "nodeType": "Block",
                    "src": "4219:286:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5315,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4302:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 5316,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5149,
                                "src": "4331:15:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 5317,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "countedUntil",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8449,
                              "src": "4331:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 5318,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5149,
                                "src": "4377:15:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 5319,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentForCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8443,
                              "src": "4377:31:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 5320,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5149,
                                "src": "4426:15:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 5321,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentAgainstCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8445,
                              "src": "4426:35:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 5322,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4479:1:15",
                              "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": 5312,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "4233:26:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 5313,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4233:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 5314,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18156,
                            "src": "4233:51:15",
                            "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": 5323,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4233:261:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5324,
                        "nodeType": "ExpressionStatement",
                        "src": "4233:261:15"
                      }
                    ]
                  },
                  "id": 5326,
                  "nodeType": "IfStatement",
                  "src": "3460:1045:15",
                  "trueBody": {
                    "id": 5311,
                    "nodeType": "Block",
                    "src": "3519:694:15",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 5281,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 5270,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 5263,
                                        "name": "_currentResults",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5149,
                                        "src": "3675:15:15",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        }
                                      },
                                      "id": 5264,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "currentAgainstCount",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 8445,
                                      "src": "3675:35:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 5260,
                                        "name": "_currentResults",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5149,
                                        "src": "3639:15:15",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        }
                                      },
                                      "id": 5261,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "currentForCount",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 8443,
                                      "src": "3639:31:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 5262,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "add",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 25610,
                                    "src": "3639:35:15",
                                    "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": 5265,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3639:72:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "id": 5266,
                                        "name": "daoCalculatorService",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5046,
                                        "src": "3714:20:15",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                          "typeString": "function () view returns (contract DaoCalculatorService)"
                                        }
                                      },
                                      "id": 5267,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3714:22:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                        "typeString": "contract DaoCalculatorService"
                                      }
                                    },
                                    "id": 5268,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "minimumVotingQuorumForSpecial",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 11903,
                                    "src": "3714:52:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                      "typeString": "function () view external returns (uint256)"
                                    }
                                  },
                                  "id": 5269,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3714:54:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "3639:129:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 5271,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "3638:131:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 5275,
                                      "name": "_currentResults",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5149,
                                      "src": "3839:15:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                        "typeString": "struct DaoStructs.IntermediateResults memory"
                                      }
                                    },
                                    "id": 5276,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "currentForCount",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 8443,
                                    "src": "3839:31:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 5277,
                                      "name": "_currentResults",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5149,
                                      "src": "3872:15:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                        "typeString": "struct DaoStructs.IntermediateResults memory"
                                      }
                                    },
                                    "id": 5278,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "currentAgainstCount",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 8445,
                                    "src": "3872:35:15",
                                    "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": 5272,
                                      "name": "daoCalculatorService",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5046,
                                      "src": "3790:20:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                        "typeString": "function () view returns (contract DaoCalculatorService)"
                                      }
                                    },
                                    "id": 5273,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3790:22:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                      "typeString": "contract DaoCalculatorService"
                                    }
                                  },
                                  "id": 5274,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "votingQuotaForSpecialPass",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 11961,
                                  "src": "3790:48:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$",
                                    "typeString": "function (uint256,uint256) view external returns (bool)"
                                  }
                                },
                                "id": 5279,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3790:118:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 5280,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "3789:120:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "3638:271:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 5291,
                        "nodeType": "IfStatement",
                        "src": "3617:395:15",
                        "trueBody": {
                          "id": 5290,
                          "nodeType": "Block",
                          "src": "3924:88:15",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 5284,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 5282,
                                  "name": "_passed",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5100,
                                  "src": "3942:7:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "hexValue": "74727565",
                                  "id": 5283,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "bool",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3952:4:15",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "value": "true"
                                },
                                "src": "3942:14:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 5285,
                              "nodeType": "ExpressionStatement",
                              "src": "3942:14:15"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 5287,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5089,
                                    "src": "3985:11:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 5286,
                                  "name": "setConfigs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5366,
                                  "src": "3974:10:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                                    "typeString": "function (bytes32)"
                                  }
                                },
                                "id": 5288,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3974:23:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 5289,
                              "nodeType": "ExpressionStatement",
                              "src": "3974:23:15"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5295,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4053:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5296,
                              "name": "_passed",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5100,
                              "src": "4066:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 5292,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "4025:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5293,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4025:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5294,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15494,
                            "src": "4025:27:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 5297,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4025:49:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5298,
                        "nodeType": "ExpressionStatement",
                        "src": "4025:49:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5302,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4123:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 5303,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4136:4:15",
                              "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": 5299,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "4088:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5300,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4088:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5301,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setVotingClaim",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15524,
                            "src": "4088:34:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 5304,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4088:53:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5305,
                        "nodeType": "ExpressionStatement",
                        "src": "4088:53:15"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5307,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4181:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5308,
                              "name": "_passed",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5100,
                              "src": "4194:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 5306,
                            "name": "SpecialProposalClaim",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5032,
                            "src": "4160:20:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool)"
                            }
                          },
                          "id": 5309,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4160:42:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5310,
                        "nodeType": "EmitStatement",
                        "src": "4155:47:15"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Function to claim the voting result on special proposal\n@param _proposalId ID of the special proposal\n@return {\n\"_passed\": \"Boolean, true if voting passed, throw if failed, returns false if passed deadline\"\n}",
            "id": 5328,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 5094,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5089,
                    "src": "1709:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 5095,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5093,
                  "name": "ifNotClaimedSpecial",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 388,
                  "src": "1689:19:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1689:32:15"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 5097,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5089,
                    "src": "1756:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 5098,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5096,
                  "name": "ifAfterRevealPhaseSpecial",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 479,
                  "src": "1730:25:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1730:38:15"
              }
            ],
            "name": "claimSpecialProposalVotingResult",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5092,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5089,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5328,
                  "src": "1624:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 5088,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1624:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5091,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 5328,
                  "src": "1645:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5090,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1645:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1623:42:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5101,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5100,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 5328,
                  "src": "1786:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5099,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1786:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1785:14:15"
            },
            "scope": 5367,
            "src": "1582:2929:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 5365,
              "nodeType": "Block",
              "src": "4579:338:15",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5336,
                      "name": "_uintConfigs",
                      "nodeType": "VariableDeclaration",
                      "scope": 5366,
                      "src": "4589:29:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5334,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "4589:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5335,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "4589:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5337,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4589:29:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5341,
                      "name": "_addressConfigs",
                      "nodeType": "VariableDeclaration",
                      "scope": 5366,
                      "src": "4628:32:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5339,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "4628:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 5340,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "4628:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5342,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4628:32:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5346,
                      "name": "_bytesConfigs",
                      "nodeType": "VariableDeclaration",
                      "scope": 5366,
                      "src": "4670:30:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5344,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "4670:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 5345,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "4670:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                          "typeString": "bytes32[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5347,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4670:30:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5357,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 5348,
                          "name": "_uintConfigs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5336,
                          "src": "4724:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 5349,
                          "name": "_addressConfigs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5341,
                          "src": "4750:15:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 5350,
                          "name": "_bytesConfigs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5346,
                          "src": "4779:13:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                            "typeString": "bytes32[] memory"
                          }
                        }
                      ],
                      "id": 5351,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "4710:92:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                        "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 5355,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5330,
                          "src": "4837:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5352,
                            "name": "daoSpecialStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1223,
                            "src": "4805:17:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                              "typeString": "function () view returns (contract DaoSpecialStorage)"
                            }
                          },
                          "id": 5353,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4805:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                            "typeString": "contract DaoSpecialStorage"
                          }
                        },
                        "id": 5354,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readConfigs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15331,
                        "src": "4805:31:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                          "typeString": "function (bytes32) view external returns (uint256[] memory,address[] memory,bytes32[] memory)"
                        }
                      },
                      "id": 5356,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4805:44:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                        "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)"
                      }
                    },
                    "src": "4710:139:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5358,
                  "nodeType": "ExpressionStatement",
                  "src": "4710:139:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5362,
                        "name": "_uintConfigs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5336,
                        "src": "4897:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 5359,
                          "name": "daoConfigsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1153,
                          "src": "4859:17:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$13851_$",
                            "typeString": "function () view returns (contract DaoConfigsStorage)"
                          }
                        },
                        "id": 5360,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4859:19:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoConfigsStorage_$13851",
                          "typeString": "contract DaoConfigsStorage"
                        }
                      },
                      "id": 5361,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "updateUintConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13359,
                      "src": "4859:37:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (uint256[] memory) external"
                      }
                    },
                    "id": 5363,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4859:51:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5364,
                  "nodeType": "ExpressionStatement",
                  "src": "4859:51:15"
                }
              ]
            },
            "documentation": null,
            "id": 5366,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setConfigs",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5331,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5330,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5366,
                  "src": "4538:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 5329,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4538:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4537:21:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5332,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4579:0:15"
            },
            "scope": 5367,
            "src": "4518:399:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 5368,
        "src": "321:4599:15"
      }
    ],
    "src": "0:4921:15"
  },
  "legacyAST": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoSpecialVotingClaims.sol",
    "exportedSymbols": {
      "DaoSpecialVotingClaims": [
        5367
      ]
    },
    "id": 5368,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 5012,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:15"
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/common/DaoCommon.sol",
        "file": "../common/DaoCommon.sol",
        "id": 5013,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 885,
        "src": "26:33:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/service/DaoCalculatorService.sol",
        "file": "../service/DaoCalculatorService.sol",
        "id": 5014,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 12094,
        "src": "60:45:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoFundingManager.sol",
        "file": "./DaoFundingManager.sol",
        "id": 5015,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 3191,
        "src": "106:33:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/interactive/DaoRewardsManager.sol",
        "file": "./DaoRewardsManager.sol",
        "id": 5016,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 4667,
        "src": "140:33:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoIntermediateStructs.sol",
        "file": "../lib/DaoIntermediateStructs.sol",
        "id": 5017,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 7884,
        "src": "174:43:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoStructs.sol",
        "file": "../lib/DaoStructs.sol",
        "id": 5018,
        "nodeType": "ImportDirective",
        "scope": 5368,
        "sourceUnit": 8452,
        "src": "218:31:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 5019,
              "name": "DaoCommon",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 884,
              "src": "356:9:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoCommon_$884",
                "typeString": "contract DaoCommon"
              }
            },
            "id": 5020,
            "nodeType": "InheritanceSpecifier",
            "src": "356:9:15"
          }
        ],
        "contractDependencies": [
          884,
          1282,
          1629,
          1868,
          1960,
          18628
        ],
        "contractKind": "contract",
        "documentation": "@title Contract to claim voting results\n@author Digix Holdings",
        "fullyImplemented": true,
        "id": 5367,
        "linearizedBaseContracts": [
          5367,
          884,
          1282,
          1960,
          1868,
          1629,
          18628
        ],
        "name": "DaoSpecialVotingClaims",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 5023,
            "libraryName": {
              "contractScope": null,
              "id": 5021,
              "name": "DaoIntermediateStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7883,
              "src": "378:22:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7883",
                "typeString": "library DaoIntermediateStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "372:68:15",
            "typeName": {
              "contractScope": null,
              "id": 5022,
              "name": "DaoIntermediateStructs.VotingCount",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7876,
              "src": "405:34:15",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                "typeString": "struct DaoIntermediateStructs.VotingCount"
              }
            }
          },
          {
            "id": 5026,
            "libraryName": {
              "contractScope": null,
              "id": 5024,
              "name": "DaoStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8451,
              "src": "451:10:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStructs_$8451",
                "typeString": "library DaoStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "445:52:15",
            "typeName": {
              "contractScope": null,
              "id": 5025,
              "name": "DaoStructs.IntermediateResults",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8450,
              "src": "466:30:15",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                "typeString": "struct DaoStructs.IntermediateResults"
              }
            }
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 5032,
            "name": "SpecialProposalClaim",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5031,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5028,
                  "indexed": true,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5032,
                  "src": "530:27:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 5027,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "530:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5030,
                  "indexed": false,
                  "name": "_result",
                  "nodeType": "VariableDeclaration",
                  "scope": 5032,
                  "src": "559:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5029,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "559:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "529:43:15"
            },
            "src": "503:70:15"
          },
          {
            "body": {
              "id": 5045,
              "nodeType": "Block",
              "src": "694:96:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5043,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5037,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5035,
                      "src": "704:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5040,
                              "name": "CONTRACT_SERVICE_DAO_CALCULATOR",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1394,
                              "src": "750:31:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5039,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "737:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5041,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "737:45:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 5038,
                        "name": "DaoCalculatorService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12093,
                        "src": "716:20:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12093_$",
                          "typeString": "type(contract DaoCalculatorService)"
                        }
                      },
                      "id": 5042,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "716:67:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                        "typeString": "contract DaoCalculatorService"
                      }
                    },
                    "src": "704:79:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "id": 5044,
                  "nodeType": "ExpressionStatement",
                  "src": "704:79:15"
                }
              ]
            },
            "documentation": null,
            "id": 5046,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoCalculatorService",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5033,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "608:2:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5036,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5035,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 5046,
                  "src": "658:30:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                    "typeString": "contract DaoCalculatorService"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 5034,
                    "name": "DaoCalculatorService",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 12093,
                    "src": "658:20:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                      "typeString": "contract DaoCalculatorService"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "657:32:15"
            },
            "scope": 5367,
            "src": "579:211:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5059,
              "nodeType": "Block",
              "src": "905:90:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5057,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5051,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5049,
                      "src": "915:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5054,
                              "name": "CONTRACT_DAO_FUNDING_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1376,
                              "src": "958:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5053,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "945:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5055,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "945:42:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 5052,
                        "name": "DaoFundingManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3190,
                        "src": "927:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3190_$",
                          "typeString": "type(contract DaoFundingManager)"
                        }
                      },
                      "id": 5056,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "927:61:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                        "typeString": "contract DaoFundingManager"
                      }
                    },
                    "src": "915:73:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "id": 5058,
                  "nodeType": "ExpressionStatement",
                  "src": "915:73:15"
                }
              ]
            },
            "documentation": null,
            "id": 5060,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoFundingManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5047,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "822:2:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5050,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5049,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 5060,
                  "src": "872:27:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                    "typeString": "contract DaoFundingManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 5048,
                    "name": "DaoFundingManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3190,
                    "src": "872:17:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoFundingManager_$3190",
                      "typeString": "contract DaoFundingManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "871:29:15"
            },
            "scope": 5367,
            "src": "796:199:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5073,
              "nodeType": "Block",
              "src": "1110:90:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5071,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5065,
                      "name": "_contract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5063,
                      "src": "1120:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5068,
                              "name": "CONTRACT_DAO_REWARDS_MANAGER",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1367,
                              "src": "1163:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5067,
                            "name": "get_contract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18627,
                            "src": "1150:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 5069,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1150:42:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 5066,
                        "name": "DaoRewardsManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4666,
                        "src": "1132:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4666_$",
                          "typeString": "type(contract DaoRewardsManager)"
                        }
                      },
                      "id": 5070,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1132:61:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                        "typeString": "contract DaoRewardsManager"
                      }
                    },
                    "src": "1120:73:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "id": 5072,
                  "nodeType": "ExpressionStatement",
                  "src": "1120:73:15"
                }
              ]
            },
            "documentation": null,
            "id": 5074,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "daoRewardsManager",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1027:2:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5064,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5063,
                  "name": "_contract",
                  "nodeType": "VariableDeclaration",
                  "scope": 5074,
                  "src": "1077:27:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                    "typeString": "contract DaoRewardsManager"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 5062,
                    "name": "DaoRewardsManager",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4666,
                    "src": "1077:17:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DaoRewardsManager_$4666",
                      "typeString": "contract DaoRewardsManager"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1076:29:15"
            },
            "scope": 5367,
            "src": "1001:199:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5086,
              "nodeType": "Block",
              "src": "1244:77:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 5081,
                            "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1361,
                            "src": "1267:34:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 5082,
                            "name": "_resolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5076,
                            "src": "1303:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 5080,
                          "name": "init",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18596,
                          "src": "1262:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$",
                            "typeString": "function (bytes32,address) returns (bool)"
                          }
                        },
                        "id": 5083,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1262:51:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 5079,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "1254:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 5084,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1254:60:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5085,
                  "nodeType": "ExpressionStatement",
                  "src": "1254:60:15"
                }
              ]
            },
            "documentation": null,
            "id": 5087,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5077,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5076,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 5087,
                  "src": "1218:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5075,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1218:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1217:19:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5078,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1244:0:15"
            },
            "scope": 5367,
            "src": "1206:115:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 5327,
              "nodeType": "Block",
              "src": "1804:2707:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 5103,
                          "name": "isMainPhase",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 951,
                          "src": "1822:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                            "typeString": "function () view returns (bool)"
                          }
                        },
                        "id": 5104,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1822:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 5102,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "1814:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 5105,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1814:22:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5106,
                  "nodeType": "ExpressionStatement",
                  "src": "1814:22:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5123,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5107,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26184,
                      "src": "1850:3:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5120,
                              "name": "CONFIG_VOTE_CLAIMING_DEADLINE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1610,
                              "src": "2020:29:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 5119,
                            "name": "getUintConfig",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1281,
                            "src": "2006:13:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (bytes32) view returns (uint256)"
                            }
                          },
                          "id": 5121,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2006:44:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 5115,
                                  "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1562,
                                  "src": "1943:35:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "id": 5114,
                                "name": "getUintConfig",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1281,
                                "src": "1929:13:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view returns (uint256)"
                                }
                              },
                              "id": 5116,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1929:50:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 5111,
                                  "name": "_proposalId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5089,
                                  "src": "1891:11:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 5108,
                                    "name": "daoSpecialStorage",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1223,
                                    "src": "1856:17:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                      "typeString": "function () view returns (contract DaoSpecialStorage)"
                                    }
                                  },
                                  "id": 5109,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1856:19:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                    "typeString": "contract DaoSpecialStorage"
                                  }
                                },
                                "id": 5110,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "readVotingTime",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 15378,
                                "src": "1856:34:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$",
                                  "typeString": "function (bytes32) view external returns (uint256)"
                                }
                              },
                              "id": 5112,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1856:47:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 5113,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25610,
                            "src": "1856:72:15",
                            "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": 5117,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1856:124:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5118,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "1856:149:15",
                        "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": 5122,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1856:195:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1850:201:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5134,
                  "nodeType": "IfStatement",
                  "src": "1846:305:15",
                  "trueBody": {
                    "id": 5133,
                    "nodeType": "Block",
                    "src": "2053:98:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5127,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "2095:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 5128,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2108:5:15",
                              "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": 5124,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "2067:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5125,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2067:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5126,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15494,
                            "src": "2067:27:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 5129,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2067:47:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5130,
                        "nodeType": "ExpressionStatement",
                        "src": "2067:47:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 5131,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2135:5:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 5101,
                        "id": 5132,
                        "nodeType": "Return",
                        "src": "2128:12:15"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5136,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26182,
                            "src": "2168:3:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 5137,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2168:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5141,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "2223:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 5138,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "2182:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5139,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2182:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5140,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "readProposalProposer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15295,
                            "src": "2182:40:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view external returns (address)"
                            }
                          },
                          "id": 5142,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2182:53:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2168:67:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 5135,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "2160:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 5144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2160:76:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5145,
                  "nodeType": "ExpressionStatement",
                  "src": "2160:76:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5149,
                      "name": "_currentResults",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "2247:53:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                        "typeString": "struct DaoStructs.IntermediateResults"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 5148,
                        "name": "DaoStructs.IntermediateResults",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8450,
                        "src": "2247:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_storage_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5150,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2247:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5164,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5151,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "2324:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5153,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "countedUntil",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8449,
                          "src": "2324:28:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5154,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "2366:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5155,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "2366:31:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5156,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "2411:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5157,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "2411:35:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 5158,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "2310:147:15",
                      "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": 5162,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5089,
                          "src": "2512:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5159,
                            "name": "intermediateResultsStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1265,
                            "src": "2460:26:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                              "typeString": "function () view returns (contract IntermediateResultsStorage)"
                            }
                          },
                          "id": 5160,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2460:28:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                            "typeString": "contract IntermediateResultsStorage"
                          }
                        },
                        "id": 5161,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getIntermediateResults",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 18081,
                        "src": "2460:51:15",
                        "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": 5163,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2460:64:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(address,uint256,uint256,uint256)"
                      }
                    },
                    "src": "2310:214:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5165,
                  "nodeType": "ExpressionStatement",
                  "src": "2310:214:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5169,
                      "name": "_voters",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "2535:24:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5167,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "2535:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 5168,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "2535:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5170,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2535:24:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 5174,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5171,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "2573:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5172,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "2573:28:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5173,
                      "name": "EMPTY_ADDRESS",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1298,
                      "src": "2605:13:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "2573:45:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 5196,
                    "nodeType": "Block",
                    "src": "2762:186:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5194,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5185,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5169,
                            "src": "2776:7:15",
                            "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": 5189,
                                  "name": "_currentResults",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5149,
                                  "src": "2844:15:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                    "typeString": "struct DaoStructs.IntermediateResults memory"
                                  }
                                },
                                "id": 5190,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "countedUntil",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 8449,
                                "src": "2844:28:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 5191,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5091,
                                "src": "2890:11:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 5192,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2919:4:15",
                                "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": 5186,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "2786:17:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 5187,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2786:19:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 5188,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipantsFrom",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12276,
                              "src": "2786:40:15",
                              "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": 5193,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2786:151:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "2776:161:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 5195,
                        "nodeType": "ExpressionStatement",
                        "src": "2776:161:15"
                      }
                    ]
                  },
                  "id": 5197,
                  "nodeType": "IfStatement",
                  "src": "2569:379:15",
                  "trueBody": {
                    "id": 5184,
                    "nodeType": "Block",
                    "src": "2620:136:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5182,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5175,
                            "name": "_voters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5169,
                            "src": "2634:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 5179,
                                "name": "_operations",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5091,
                                "src": "2698:11:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 5180,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2727:4:15",
                                "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": 5176,
                                  "name": "daoListingService",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1139,
                                  "src": "2644:17:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12488_$",
                                    "typeString": "function () view returns (contract DaoListingService)"
                                  }
                                },
                                "id": 5177,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2644:19:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_DaoListingService_$12488",
                                  "typeString": "contract DaoListingService"
                                }
                              },
                              "id": 5178,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "listParticipants",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12243,
                              "src": "2644:36:15",
                              "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": 5181,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2644:101:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "src": "2634:111:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 5183,
                        "nodeType": "ExpressionStatement",
                        "src": "2634:111:15"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    5199
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5199,
                      "name": "_lastVoter",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "2958:18:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 5198,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2958:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5206,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 5200,
                      "name": "_voters",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5169,
                      "src": "2979:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[] memory"
                      }
                    },
                    "id": 5205,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5204,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 5201,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5169,
                          "src": "2987:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 5202,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2987:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5203,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3004:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "2987:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2979:27:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2958:48:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5210,
                      "name": "_voteCount",
                      "nodeType": "VariableDeclaration",
                      "scope": 5328,
                      "src": "3017:52:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                        "typeString": "struct DaoIntermediateStructs.VotingCount"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 5209,
                        "name": "DaoIntermediateStructs.VotingCount",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7876,
                        "src": "3017:34:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_VotingCount_$7876_storage_ptr",
                          "typeString": "struct DaoIntermediateStructs.VotingCount"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5211,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3017:52:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5224,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5212,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3080:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5214,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "3080:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5215,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3101:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5216,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "3101:23:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 5217,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3079:46:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 5221,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5089,
                          "src": "3164:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 5222,
                          "name": "_voters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5169,
                          "src": "3177:7:15",
                          "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": 5218,
                            "name": "daoSpecialStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1223,
                            "src": "3128:17:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                              "typeString": "function () view returns (contract DaoSpecialStorage)"
                            }
                          },
                          "id": 5219,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3128:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                            "typeString": "contract DaoSpecialStorage"
                          }
                        },
                        "id": 5220,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readVotingCount",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15357,
                        "src": "3128:35:15",
                        "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": 5223,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3128:57:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "3079:106:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5225,
                  "nodeType": "ExpressionStatement",
                  "src": "3079:106:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5226,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "3196:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5228,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "countedUntil",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8449,
                      "src": "3196:28:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5229,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "3227:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3196:41:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 5231,
                  "nodeType": "ExpressionStatement",
                  "src": "3196:41:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5241,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5232,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "3247:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5234,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentForCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8443,
                      "src": "3247:31:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5238,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3317:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5239,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "forCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7873,
                          "src": "3317:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5235,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "3281:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5236,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentForCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8443,
                          "src": "3281:31:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5237,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "3281:35:15",
                        "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": 5240,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3281:56:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3247:90:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5242,
                  "nodeType": "ExpressionStatement",
                  "src": "3247:90:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5252,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 5243,
                        "name": "_currentResults",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5149,
                        "src": "3347:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                          "typeString": "struct DaoStructs.IntermediateResults memory"
                        }
                      },
                      "id": 5245,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "currentAgainstCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8445,
                      "src": "3347:35:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5249,
                            "name": "_voteCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5210,
                            "src": "3425:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_VotingCount_$7876_memory_ptr",
                              "typeString": "struct DaoIntermediateStructs.VotingCount memory"
                            }
                          },
                          "id": 5250,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "againstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7875,
                          "src": "3425:23:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5246,
                            "name": "_currentResults",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5149,
                            "src": "3385:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                              "typeString": "struct DaoStructs.IntermediateResults memory"
                            }
                          },
                          "id": 5247,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "currentAgainstCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8445,
                          "src": "3385:35:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5248,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "3385:39:15",
                        "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": 5251,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3385:64:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3347:102:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5253,
                  "nodeType": "ExpressionStatement",
                  "src": "3347:102:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 5259,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5254,
                      "name": "_lastVoter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "3464:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5255,
                            "name": "daoStakeStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1167,
                            "src": "3478:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16026_$",
                              "typeString": "function () view returns (contract DaoStakeStorage)"
                            }
                          },
                          "id": 5256,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3478:17:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoStakeStorage_$16026",
                            "typeString": "contract DaoStakeStorage"
                          }
                        },
                        "id": 5257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readLastParticipant",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15983,
                        "src": "3478:37:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 5258,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3478:39:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3464:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 5325,
                    "nodeType": "Block",
                    "src": "4219:286:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5315,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4302:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 5316,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5149,
                                "src": "4331:15:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 5317,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "countedUntil",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8449,
                              "src": "4331:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 5318,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5149,
                                "src": "4377:15:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 5319,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentForCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8443,
                              "src": "4377:31:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 5320,
                                "name": "_currentResults",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5149,
                                "src": "4426:15:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                  "typeString": "struct DaoStructs.IntermediateResults memory"
                                }
                              },
                              "id": 5321,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "currentAgainstCount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8445,
                              "src": "4426:35:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 5322,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4479:1:15",
                              "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": 5312,
                                "name": "intermediateResultsStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1265,
                                "src": "4233:26:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18157_$",
                                  "typeString": "function () view returns (contract IntermediateResultsStorage)"
                                }
                              },
                              "id": 5313,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4233:28:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18157",
                                "typeString": "contract IntermediateResultsStorage"
                              }
                            },
                            "id": 5314,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setIntermediateResults",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 18156,
                            "src": "4233:51:15",
                            "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": 5323,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4233:261:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5324,
                        "nodeType": "ExpressionStatement",
                        "src": "4233:261:15"
                      }
                    ]
                  },
                  "id": 5326,
                  "nodeType": "IfStatement",
                  "src": "3460:1045:15",
                  "trueBody": {
                    "id": 5311,
                    "nodeType": "Block",
                    "src": "3519:694:15",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 5281,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 5270,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 5263,
                                        "name": "_currentResults",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5149,
                                        "src": "3675:15:15",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        }
                                      },
                                      "id": 5264,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "currentAgainstCount",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 8445,
                                      "src": "3675:35:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 5260,
                                        "name": "_currentResults",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5149,
                                        "src": "3639:15:15",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                          "typeString": "struct DaoStructs.IntermediateResults memory"
                                        }
                                      },
                                      "id": 5261,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "currentForCount",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 8443,
                                      "src": "3639:31:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 5262,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "add",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 25610,
                                    "src": "3639:35:15",
                                    "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": 5265,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3639:72:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "argumentTypes": null,
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "id": 5266,
                                        "name": "daoCalculatorService",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5046,
                                        "src": "3714:20:15",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                          "typeString": "function () view returns (contract DaoCalculatorService)"
                                        }
                                      },
                                      "id": 5267,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3714:22:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                        "typeString": "contract DaoCalculatorService"
                                      }
                                    },
                                    "id": 5268,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "minimumVotingQuorumForSpecial",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 11903,
                                    "src": "3714:52:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                      "typeString": "function () view external returns (uint256)"
                                    }
                                  },
                                  "id": 5269,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3714:54:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "3639:129:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 5271,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "3638:131:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 5275,
                                      "name": "_currentResults",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5149,
                                      "src": "3839:15:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                        "typeString": "struct DaoStructs.IntermediateResults memory"
                                      }
                                    },
                                    "id": 5276,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "currentForCount",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 8443,
                                    "src": "3839:31:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 5277,
                                      "name": "_currentResults",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5149,
                                      "src": "3872:15:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_IntermediateResults_$8450_memory_ptr",
                                        "typeString": "struct DaoStructs.IntermediateResults memory"
                                      }
                                    },
                                    "id": 5278,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "currentAgainstCount",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 8445,
                                    "src": "3872:35:15",
                                    "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": 5272,
                                      "name": "daoCalculatorService",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5046,
                                      "src": "3790:20:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12093_$",
                                        "typeString": "function () view returns (contract DaoCalculatorService)"
                                      }
                                    },
                                    "id": 5273,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3790:22:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_DaoCalculatorService_$12093",
                                      "typeString": "contract DaoCalculatorService"
                                    }
                                  },
                                  "id": 5274,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "votingQuotaForSpecialPass",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 11961,
                                  "src": "3790:48:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$",
                                    "typeString": "function (uint256,uint256) view external returns (bool)"
                                  }
                                },
                                "id": 5279,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3790:118:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 5280,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "3789:120:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "3638:271:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 5291,
                        "nodeType": "IfStatement",
                        "src": "3617:395:15",
                        "trueBody": {
                          "id": 5290,
                          "nodeType": "Block",
                          "src": "3924:88:15",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 5284,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 5282,
                                  "name": "_passed",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5100,
                                  "src": "3942:7:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "hexValue": "74727565",
                                  "id": 5283,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "bool",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3952:4:15",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "value": "true"
                                },
                                "src": "3942:14:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 5285,
                              "nodeType": "ExpressionStatement",
                              "src": "3942:14:15"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 5287,
                                    "name": "_proposalId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5089,
                                    "src": "3985:11:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 5286,
                                  "name": "setConfigs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5366,
                                  "src": "3974:10:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
                                    "typeString": "function (bytes32)"
                                  }
                                },
                                "id": 5288,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3974:23:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 5289,
                              "nodeType": "ExpressionStatement",
                              "src": "3974:23:15"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5295,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4053:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5296,
                              "name": "_passed",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5100,
                              "src": "4066:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 5292,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "4025:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5293,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4025:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5294,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setPass",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15494,
                            "src": "4025:27:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 5297,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4025:49:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5298,
                        "nodeType": "ExpressionStatement",
                        "src": "4025:49:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5302,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4123:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 5303,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4136:4:15",
                              "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": 5299,
                                "name": "daoSpecialStorage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1223,
                                "src": "4088:17:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                                  "typeString": "function () view returns (contract DaoSpecialStorage)"
                                }
                              },
                              "id": 5300,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4088:19:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                                "typeString": "contract DaoSpecialStorage"
                              }
                            },
                            "id": 5301,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setVotingClaim",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15524,
                            "src": "4088:34:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool) external"
                            }
                          },
                          "id": 5304,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4088:53:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5305,
                        "nodeType": "ExpressionStatement",
                        "src": "4088:53:15"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5307,
                              "name": "_proposalId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5089,
                              "src": "4181:11:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5308,
                              "name": "_passed",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5100,
                              "src": "4194:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 5306,
                            "name": "SpecialProposalClaim",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5032,
                            "src": "4160:20:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bool_$returns$__$",
                              "typeString": "function (bytes32,bool)"
                            }
                          },
                          "id": 5309,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4160:42:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5310,
                        "nodeType": "EmitStatement",
                        "src": "4155:47:15"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Function to claim the voting result on special proposal\n@param _proposalId ID of the special proposal\n@return {\n\"_passed\": \"Boolean, true if voting passed, throw if failed, returns false if passed deadline\"\n}",
            "id": 5328,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 5094,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5089,
                    "src": "1709:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 5095,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5093,
                  "name": "ifNotClaimedSpecial",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 388,
                  "src": "1689:19:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1689:32:15"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 5097,
                    "name": "_proposalId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5089,
                    "src": "1756:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 5098,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5096,
                  "name": "ifAfterRevealPhaseSpecial",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 479,
                  "src": "1730:25:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1730:38:15"
              }
            ],
            "name": "claimSpecialProposalVotingResult",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5092,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5089,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5328,
                  "src": "1624:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 5088,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1624:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5091,
                  "name": "_operations",
                  "nodeType": "VariableDeclaration",
                  "scope": 5328,
                  "src": "1645:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5090,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1645:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1623:42:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5101,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5100,
                  "name": "_passed",
                  "nodeType": "VariableDeclaration",
                  "scope": 5328,
                  "src": "1786:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5099,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1786:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1785:14:15"
            },
            "scope": 5367,
            "src": "1582:2929:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 5365,
              "nodeType": "Block",
              "src": "4579:338:15",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5336,
                      "name": "_uintConfigs",
                      "nodeType": "VariableDeclaration",
                      "scope": 5366,
                      "src": "4589:29:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5334,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "4589:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5335,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "4589:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5337,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4589:29:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5341,
                      "name": "_addressConfigs",
                      "nodeType": "VariableDeclaration",
                      "scope": 5366,
                      "src": "4628:32:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5339,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "4628:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 5340,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "4628:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5342,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4628:32:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5346,
                      "name": "_bytesConfigs",
                      "nodeType": "VariableDeclaration",
                      "scope": 5366,
                      "src": "4670:30:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5344,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "4670:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 5345,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "4670:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                          "typeString": "bytes32[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5347,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4670:30:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5357,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 5348,
                          "name": "_uintConfigs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5336,
                          "src": "4724:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 5349,
                          "name": "_addressConfigs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5341,
                          "src": "4750:15:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 5350,
                          "name": "_bytesConfigs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5346,
                          "src": "4779:13:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                            "typeString": "bytes32[] memory"
                          }
                        }
                      ],
                      "id": 5351,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "4710:92:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                        "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 5355,
                          "name": "_proposalId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5330,
                          "src": "4837:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 5352,
                            "name": "daoSpecialStorage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1223,
                            "src": "4805:17:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$15599_$",
                              "typeString": "function () view returns (contract DaoSpecialStorage)"
                            }
                          },
                          "id": 5353,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4805:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DaoSpecialStorage_$15599",
                            "typeString": "contract DaoSpecialStorage"
                          }
                        },
                        "id": 5354,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "readConfigs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15331,
                        "src": "4805:31:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                          "typeString": "function (bytes32) view external returns (uint256[] memory,address[] memory,bytes32[] memory)"
                        }
                      },
                      "id": 5356,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4805:44:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                        "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)"
                      }
                    },
                    "src": "4710:139:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5358,
                  "nodeType": "ExpressionStatement",
                  "src": "4710:139:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5362,
                        "name": "_uintConfigs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5336,
                        "src": "4897:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 5359,
                          "name": "daoConfigsStorage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1153,
                          "src": "4859:17:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$13851_$",
                            "typeString": "function () view returns (contract DaoConfigsStorage)"
                          }
                        },
                        "id": 5360,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4859:19:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DaoConfigsStorage_$13851",
                          "typeString": "contract DaoConfigsStorage"
                        }
                      },
                      "id": 5361,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "updateUintConfigs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13359,
                      "src": "4859:37:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (uint256[] memory) external"
                      }
                    },
                    "id": 5363,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4859:51:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5364,
                  "nodeType": "ExpressionStatement",
                  "src": "4859:51:15"
                }
              ]
            },
            "documentation": null,
            "id": 5366,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setConfigs",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5331,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5330,
                  "name": "_proposalId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5366,
                  "src": "4538:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 5329,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4538:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4537:21:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 5332,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4579:0:15"
            },
            "scope": 5367,
            "src": "4518:399:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 5368,
        "src": "321:4599:15"
      }
    ],
    "src": "0:4921:15"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {
    "42": {
      "events": {},
      "links": {},
      "address": "0x8125e18f7e56084f1f2e71a1da406d8eedea365f",
      "transactionHash": "0x705478df940f4747914e80dfbbe92db64b9eaf039eba0c0520c28001a1c06d67"
    }
  },
  "schemaVersion": "2.0.2",
  "updatedAt": "2020-03-16T08:53:49.700Z"
}