{
  "contractName": "SimpleICO",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "cap",
          "type": "uint256"
        },
        {
          "name": "price",
          "type": "uint256"
        },
        {
          "name": "startBlock",
          "type": "uint256"
        },
        {
          "name": "endBlock",
          "type": "uint256"
        },
        {
          "name": "beneficiary",
          "type": "address"
        },
        {
          "name": "admin",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_cap",
          "type": "uint256"
        },
        {
          "name": "_price",
          "type": "uint256"
        },
        {
          "name": "_startBlock",
          "type": "uint256"
        },
        {
          "name": "_endBlock",
          "type": "uint256"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "name": "_admin",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "donate",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hashedParameters",
          "type": "bytes32"
        }
      ],
      "name": "updateParameters",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "organizationsICOInfo",
      "outputs": [
        {
          "name": "paramsHash",
          "type": "bytes32"
        },
        {
          "name": "avatarContractICO",
          "type": "address"
        },
        {
          "name": "totalEthRaised",
          "type": "uint256"
        },
        {
          "name": "isHalted",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_cap",
          "type": "uint256"
        },
        {
          "name": "_price",
          "type": "uint256"
        },
        {
          "name": "_startBlock",
          "type": "uint256"
        },
        {
          "name": "_endBlock",
          "type": "uint256"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "name": "_admin",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "isActive",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "haltICO",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "start",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "resumeICO",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hashedParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "organization",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_incomingEther",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "_tokensAmount",
          "type": "uint256"
        }
      ],
      "name": "DonationReceived",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "proposalId",
          "type": "bytes32"
        }
      ],
      "name": "NewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a031990911617905561111e8061003b6000396000f3006060604052600436106100ab5763ffffffff60e060020a6000350416630250680481146100b05780630d6099391461010a57806321bea7cc1461014d5780632ac2af53146101675780634b9f69b81461017f5780634eb09bf4146101d25780638da5cb5b146102035780639f8a13d714610232578063bdbb829d14610265578063dd0b281e14610284578063e270bc81146102a3578063f2fde38b146102c2578063f98e87ba146102e1575b600080fd5b34156100bb57600080fd5b6100c66004356102f4565b60405195865260208601949094526040808601939093526060850191909152600160a060020a03908116608085015290911660a083015260c0909101905180910390f35b341561011557600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a43516610338565b60405190815260200160405180910390f35b61013b600160a060020a0360043581169060243516610440565b341561017257600080fd5b61017d600435610766565b005b341561018a57600080fd5b61019e600160a060020a0360043516610786565b604051938452600160a060020a03909216602084015260408084019190915290151560608301526080909101905180910390f35b34156101dd57600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a435166107bb565b341561020e57600080fd5b610216610824565b604051600160a060020a03909116815260200160405180910390f35b341561023d57600080fd5b610251600160a060020a0360043516610833565b604051901515815260200160405180910390f35b341561027057600080fd5b61017d600160a060020a0360043516610950565b341561028f57600080fd5b61017d600160a060020a03600435166109b0565b34156102ae57600080fd5b61017d600160a060020a0360043516610ab8565b34156102cd57600080fd5b61017d600160a060020a0360043516610b15565b34156102ec57600080fd5b61013b610bb0565b60036020819052600091825260409091208054600182015460028301549383015460048401546005909401549294919391929091600160a060020a03908116911686565b6000806103498888888888886107bb565b60008181526003602052604090205490915015156104355760c0604051908101604090815289825260208083018a905281830189905260608301889052600160a060020a038088166080850152861660a0840152600084815260039091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151600591909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b979650505050505050565b600061044a610cdf565b610452610d06565b600160a060020a038516600090815260026020526040808220829182918291608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529650600087518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a0820152945061052189610833565b151561052c57600080fd5b85606001511561053b57600080fd5b610551866040015186519063ffffffff610bb616565b3411156105875761056e866040015186519063ffffffff610bb616565b9350610580348563ffffffff610bb616565b925061058b565b3493505b6105a08560200151859063ffffffff610bc816565b91508460800151600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156105d757600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061d57600080fd5b6102c65a03f1151561062e57600080fd5b5050506040518051915050600160a060020a038116636407e432838a8c60006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156106a057600080fd5b6102c65a03f115156106b157600080fd5b5050506040518051905015156106c657600080fd5b82156106fd57600160a060020a03881683156108fc0284604051600060405180830381858888f1935050505015156106fd57600080fd5b600160a060020a03808a166000818152600260208190526040918290200180548801905584928b1691907fce9409ee3dc10e35de83dda0f830e4a13935452188fe71a956b850ecb839425f9088905190815260200160405180910390a450979650505050505050565b60005433600160a060020a0390811691161461078157600080fd5b600155565b600260208190526000918252604090912080546001820154928201546003909201549092600160a060020a0316919060ff1684565b6000868686868686604051958652602086019490945260408086019390935260608501919091526c01000000000000000000000000600160a060020a03918216810260808601529216909102609483015260a89091019051809103902090509695505050505050565b600054600160a060020a031681565b600061083d610cdf565b610845610d06565b600160a060020a0384166000908152600260205260409081902090608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529250600083518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a08201529050805182604001511061091c5760009250610949565b806060015143106109305760009250610949565b806040015143116109445760009250610949565b600192505b5050919050565b600160a060020a038082166000908152600260209081526040808320548352600390915290206005015433821691161461098957600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19166001179055565b6109b8610cdf565b6109c182610833565b156109cb57600080fd5b6109d482610bfe565b8152600360008251815260208101919091526040016000205415156109f857600080fd5b8130610a02610d4f565b600160a060020a0392831681529116602082015260409081019051809103906000f0801515610a3057600080fd5b600160a060020a039081166020808401919091529083166000908152600290915260409020819081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600391909101805460ff1916911515919091179055505050565b600160a060020a0380821660009081526002602090815260408083205483526003909152902060050154338216911614610af157600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19169055565b60005433600160a060020a03908116911614610b3057600080fd5b600160a060020a0381161515610b4557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600082821115610bc257fe5b50900390565b600080831515610bdb5760009150610bf7565b50828202828482811515610beb57fe5b0414610bf357fe5b8091505b5092915050565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c4657600080fd5b6102c65a03f11515610c5757600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610cbf57600080fd5b6102c65a03f11515610cd057600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b60c060405190810160405280600081526020016000815260200160008152602001600081526020016000600160a060020a031681526020016000600160a060020a031681525090565b60405161039380610d608339019056006060604052341561000f57600080fd5b604051604080610393833981016040528080519190602001805160008054600160a060020a03338116600160a060020a0319928316179092556001805496831696821696909617909555600280549190921694169390931790925550506103188061007b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a72305820ef0a3b801ba39d5ea221685d591d21ecf98ac8c38c7370898a3c2aead48e7a520029a165627a7a72305820b4a812893d7772eb91c6970b4f2983e9872915bb7c22122316c171a8efb366ad0029",
  "deployedBytecode": "0x6060604052600436106100ab5763ffffffff60e060020a6000350416630250680481146100b05780630d6099391461010a57806321bea7cc1461014d5780632ac2af53146101675780634b9f69b81461017f5780634eb09bf4146101d25780638da5cb5b146102035780639f8a13d714610232578063bdbb829d14610265578063dd0b281e14610284578063e270bc81146102a3578063f2fde38b146102c2578063f98e87ba146102e1575b600080fd5b34156100bb57600080fd5b6100c66004356102f4565b60405195865260208601949094526040808601939093526060850191909152600160a060020a03908116608085015290911660a083015260c0909101905180910390f35b341561011557600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a43516610338565b60405190815260200160405180910390f35b61013b600160a060020a0360043581169060243516610440565b341561017257600080fd5b61017d600435610766565b005b341561018a57600080fd5b61019e600160a060020a0360043516610786565b604051938452600160a060020a03909216602084015260408084019190915290151560608301526080909101905180910390f35b34156101dd57600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a435166107bb565b341561020e57600080fd5b610216610824565b604051600160a060020a03909116815260200160405180910390f35b341561023d57600080fd5b610251600160a060020a0360043516610833565b604051901515815260200160405180910390f35b341561027057600080fd5b61017d600160a060020a0360043516610950565b341561028f57600080fd5b61017d600160a060020a03600435166109b0565b34156102ae57600080fd5b61017d600160a060020a0360043516610ab8565b34156102cd57600080fd5b61017d600160a060020a0360043516610b15565b34156102ec57600080fd5b61013b610bb0565b60036020819052600091825260409091208054600182015460028301549383015460048401546005909401549294919391929091600160a060020a03908116911686565b6000806103498888888888886107bb565b60008181526003602052604090205490915015156104355760c0604051908101604090815289825260208083018a905281830189905260608301889052600160a060020a038088166080850152861660a0840152600084815260039091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151600591909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b979650505050505050565b600061044a610cdf565b610452610d06565b600160a060020a038516600090815260026020526040808220829182918291608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529650600087518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a0820152945061052189610833565b151561052c57600080fd5b85606001511561053b57600080fd5b610551866040015186519063ffffffff610bb616565b3411156105875761056e866040015186519063ffffffff610bb616565b9350610580348563ffffffff610bb616565b925061058b565b3493505b6105a08560200151859063ffffffff610bc816565b91508460800151600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156105d757600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061d57600080fd5b6102c65a03f1151561062e57600080fd5b5050506040518051915050600160a060020a038116636407e432838a8c60006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156106a057600080fd5b6102c65a03f115156106b157600080fd5b5050506040518051905015156106c657600080fd5b82156106fd57600160a060020a03881683156108fc0284604051600060405180830381858888f1935050505015156106fd57600080fd5b600160a060020a03808a166000818152600260208190526040918290200180548801905584928b1691907fce9409ee3dc10e35de83dda0f830e4a13935452188fe71a956b850ecb839425f9088905190815260200160405180910390a450979650505050505050565b60005433600160a060020a0390811691161461078157600080fd5b600155565b600260208190526000918252604090912080546001820154928201546003909201549092600160a060020a0316919060ff1684565b6000868686868686604051958652602086019490945260408086019390935260608501919091526c01000000000000000000000000600160a060020a03918216810260808601529216909102609483015260a89091019051809103902090509695505050505050565b600054600160a060020a031681565b600061083d610cdf565b610845610d06565b600160a060020a0384166000908152600260205260409081902090608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529250600083518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a08201529050805182604001511061091c5760009250610949565b806060015143106109305760009250610949565b806040015143116109445760009250610949565b600192505b5050919050565b600160a060020a038082166000908152600260209081526040808320548352600390915290206005015433821691161461098957600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19166001179055565b6109b8610cdf565b6109c182610833565b156109cb57600080fd5b6109d482610bfe565b8152600360008251815260208101919091526040016000205415156109f857600080fd5b8130610a02610d4f565b600160a060020a0392831681529116602082015260409081019051809103906000f0801515610a3057600080fd5b600160a060020a039081166020808401919091529083166000908152600290915260409020819081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600391909101805460ff1916911515919091179055505050565b600160a060020a0380821660009081526002602090815260408083205483526003909152902060050154338216911614610af157600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19169055565b60005433600160a060020a03908116911614610b3057600080fd5b600160a060020a0381161515610b4557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600082821115610bc257fe5b50900390565b600080831515610bdb5760009150610bf7565b50828202828482811515610beb57fe5b0414610bf357fe5b8091505b5092915050565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c4657600080fd5b6102c65a03f11515610c5757600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610cbf57600080fd5b6102c65a03f11515610cd057600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b60c060405190810160405280600081526020016000815260200160008152602001600081526020016000600160a060020a031681526020016000600160a060020a031681525090565b60405161039380610d608339019056006060604052341561000f57600080fd5b604051604080610393833981016040528080519190602001805160008054600160a060020a03338116600160a060020a0319928316179092556001805496831696821696909617909555600280549190921694169390931790925550506103188061007b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a72305820ef0a3b801ba39d5ea221685d591d21ecf98ac8c38c7370898a3c2aead48e7a520029a165627a7a72305820b4a812893d7772eb91c6970b4f2983e9872915bb7c22122316c171a8efb366ad0029",
  "sourceMap": "1423:7156:26:-;;;2761:30;;;;;;;;501:5:35;:18;;-1:-1:-1;;;;;509:10:35;501:18;-1:-1:-1;;;;;;501:18:35;;;;;;1423:7156:26;;;;;;",
  "deployedSourceMap": "1423:7156:26:-;;;;;;;;;-1:-1:-1;;;1423:7156:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2530:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2530:46:26;;;;;;;;;;;;;;;;;;;;;;;;;3221:770;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3221:770:26;;;;;;;;;;;;;;;;;;;;;;;;;7170:1407;;-1:-1:-1;;;;;7170:1407:26;;;;;;;;;;452:157:27;;;;;;;;;;;;;;;;2465:58:26;;;;;;;;;;-1:-1:-1;;;;;2465:58:26;;;;;;;;;;;-1:-1:-1;;;;;2465:58:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4396:410;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4396:410:26;;;;;;;;;;238:20:35;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:35;;;;;;;;;;;;;;6298:474:26;;;;;;;;;;-1:-1:-1;;;;;6298:474:26;;;;;;;;;;;;;;;;;;;;;;5375:194;;;;;;;;;;-1:-1:-1;;;;;5375:194:26;;;;;4908:347;;;;;;;;;;-1:-1:-1;;;;;4908:347:26;;;;;5691:197;;;;;;;;;;-1:-1:-1;;;;;5691:197:26;;;;;834:169:35;;;;;;;;;;-1:-1:-1;;;;;834:169:35;;;;;345:31:27;;;;;;;;;;;;2530:46:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2530:46:26;;;;;;:::o;3221:770::-;3425:7;3448:18;3469:159;3500:4;3518:6;3538:11;3563:9;3586:12;3612:6;3469:17;:159::i;:::-;3642:22;;;;:10;:22;;;;;:26;3448:180;;-1:-1:-1;3642:31:26;3638:320;;;3714:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3714:233:26;;;;;;;;;;;;;-1:-1:-1;3689:22:26;;;:10;:22;;;;3714:233;3689:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3689:258:26;-1:-1:-1;;;;;3689:258:26;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3689:258:26;-1:-1:-1;;;;;3689:258:26;;;;;;;;;-1:-1:-1;3638:320:26;3974:10;3221:770;-1:-1:-1;;;;;;;3221:770:26:o;7170:1407::-;7247:4;7263:23;;:::i;:::-;7328:24;;:::i;:::-;-1:-1:-1;;;;;7289:29:26;;7531:18;7289:29;;;:20;:29;;;;;;7531:18;;;;;;7263:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7263:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7263:55:26;;7366:14;7355:26;;;;;;;;;;;;;;;;7328:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7328:53:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7432:17:26;7441:7;7432:8;:17::i;:::-;7424:26;;;;;;;;7506:3;:12;;;7505:13;7497:22;;;;;;7641:36;7658:3;:18;;;7642:6;:10;7641:16;:36;:16;:36;:::i;:::-;7629:9;:48;7624:242;;;7710:36;7727:3;:18;;;7711:6;:10;7710:16;:36;:16;:36;:::i;:::-;7694:52;-1:-1:-1;7769:30:26;7770:9;7694:52;7769:30;:15;:30;:::i;:::-;7760:39;;7624:242;;;7846:9;7830:25;;7624:242;7889:31;7907:6;:12;;;7889:13;;:31;:17;:31;:::i;:::-;7875:45;;8014:6;:18;;;-1:-1:-1;;;;;8014:27:26;:42;;;;8042:13;8014:42;;;;;;;;;;;;;;;;;;;;;;;;;;8120:7;-1:-1:-1;;;;;8120:13:26;;:15;;;;;;;;;;;-1:-1:-1;;;8120:15:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;8151:21:26;;;8173:6;8181:12;8202:7;8151:60;;;;;;;;-1:-1:-1;;;8151:60:26;;;;;;;;;;;;;-1:-1:-1;;;;;8151:60:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8150:61;8146:100;;;8227:8;;;8146:100;8259:11;;8255:71;;-1:-1:-1;;;;;8286:21:26;;:29;;;;8308:6;8286:29;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8414:29:26;;;;;;;:20;:29;;;;;;;;;:44;:61;;;;;;8540:6;;8485:62;;;8414:29;8485:62;;8462:13;;8485:62;;;;;;;;;;;;;-1:-1:-1;8564:6:26;7170:1407;-1:-1:-1;;;;;;;7170:1407:26:o;452:157:27:-;654:5:35;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;566:16:27;:36;452:157::o;2465:58:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2465:58:26;;;;;;:::o;4396:410::-;4617:7;4670:4;4688:6;4708:11;4733:9;4756:12;4782:6;4647:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4647:151:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4639:160;;4396:410;;;;;;;;:::o;238:20:35:-;;;-1:-1:-1;;;;;238:20:35;;:::o;6298:474:26:-;6357:4;6373:23;;:::i;:::-;6438:24;;:::i;:::-;-1:-1:-1;;;;;6399:29:26;;;;;;:20;:29;;;;;;;;6373:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6373:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6373:55:26;;6476:14;6465:26;;;;;;;;;;;;;;;;6438:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6438:53:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6438:53:26;6528:10;6506:3;:18;;;:32;6502:75;;6561:5;6554:12;;;;6502:75;6606:6;:15;;;6590:12;:31;6586:74;;6644:5;6637:12;;;;6586:74;6689:6;:17;;;6673:12;:33;6669:76;;6729:5;6722:12;;;;6669:76;6761:4;6754:11;;6298:474;;;;;;:::o;5375:194::-;-1:-1:-1;;;;;5459:29:26;;;5448:52;5459:29;;;:20;:29;;;;;;;;:40;5448:52;;:10;:52;;;;;:58;;;5434:10;:72;;5448:58;;5434:72;5426:81;;;;;;-1:-1:-1;;;;;5517:29:26;;;;;:20;:29;;;;;:38;;:45;;-1:-1:-1;;5517:45:26;5558:4;5517:45;;;5375:194::o;4908:347::-;4993:23;;:::i;:::-;4965:17;4974:7;4965:8;:17::i;:::-;4964:18;4956:27;;;;;;5043:36;5071:7;5043:27;:36::i;:::-;5026:53;;5097:10;5026:14;:3;5108:14;5097:26;;;;;;;;;;;;;:30;:35;;5089:44;;;;;;5189:7;5198:4;5167:36;;:::i;:::-;-1:-1:-1;;;;;5167:36:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5143:60:26;;;:21;;;;:60;;;;5213:29;;;;;;;:20;:29;;;;;;5143:3;;;5213:35;;;;;;;;;;;;-1:-1:-1;;5213:35:26;-1:-1:-1;;;;;5213:35:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5213:35:26;;;;;;;;;;-1:-1:-1;;;4908:347:26:o;5691:197::-;-1:-1:-1;;;;;5777:29:26;;;5766:52;5777:29;;;:20;:29;;;;;;;;:40;5766:52;;:10;:52;;;;;:58;;;5752:10;:72;;5766:58;;5752:72;5744:81;;;;;;-1:-1:-1;;;;;5835:29:26;5876:5;5835:29;;;:20;:29;;;;;:38;;:46;;-1:-1:-1;;5835:46:26;;;5691:197::o;834:169:35:-;654:5;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:35;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:35;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:35;-1:-1:-1;;;;;982:16:35;;;;;;;;;;834:169::o;345:31:27:-;;;;:::o;584:110:33:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:33;;;584:110::o;138:173::-;196:7;;215:6;;211:35;;;238:1;231:8;;;;211:35;-1:-1:-1;263:5:33;;;267:1;263;:5;281;;;;;;;;:10;274:18;;;;305:1;298:8;;138:173;;;;;;:::o;704:191:27:-;783:7;829;-1:-1:-1;;;;;829:13:27;;:15;;;;;;;;;;;-1:-1:-1;;;829:15:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;809:56:27;;866:4;879:7;809:79;;;;;;;;-1:-1:-1;;;809:79:27;;;;;;-1:-1:-1;;;;;809:79:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:191;-1:-1:-1;;;704:191:27:o;1423:7156:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1423:7156:26;;;;;;-1:-1:-1;;;;;1423:7156:26;;;;;:::o;:::-;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"./UniversalScheme.sol\";\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"zeppelin-solidity/contracts/lifecycle/Destructible.sol\";\n\n\n/**\n * @title An avatar contract for ICO.\n * @dev Allow people to donate by simply sending ether to an address.\n */\ncontract MirrorContractICO is Destructible {\n    Avatar public organization; // The organization address (the avatar)\n    SimpleICO public simpleICO;  // The ICO contract address\n    /**\n    * @dev Constructor, setting the organization and ICO scheme.\n    * @param _organization The organization's avatar.\n    * @param _simpleICO The ICO Scheme.\n    */\n    function MirrorContractICO(Avatar _organization, SimpleICO _simpleICO) public {\n        organization = _organization;\n        simpleICO = _simpleICO;\n    }\n\n    /**\n    * @dev Fallback function, when ether is sent it will donate to the ICO.\n    * The ether will be returned if the donation is failed.\n    */\n    function () public payable {\n        // Not to waste gas, if no value.\n        require(msg.value != 0);\n\n        // Return ether if couldn't donate.\n        if (simpleICO.donate.value(msg.value)(organization, msg.sender) == 0) {\n            revert();\n        }\n    }\n}\n\n\n/**\n * @title SimpleICO scheme.\n * @dev A universal scheme to allow organizations to open a simple ICO and get donations.\n */\ncontract SimpleICO is UniversalScheme {\n    using SafeMath for uint;\n\n    // Struct holding the data for each organization\n    struct Organization {\n        bytes32 paramsHash; // Save the parameters approved by the org to open the ICO, so reuse of ICO will not change.\n        address avatarContractICO; // Avatar is a contract for users that want to send ether without calling a function.\n        uint totalEthRaised;\n        bool isHalted; // The admin of the ICO can halt the ICO at any time, and also resume it.\n    }\n\n    // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n    struct Parameters {\n        uint cap; // Cap in Eth\n        uint price; // Price represents Tokens per 1 Eth\n        uint startBlock;\n        uint endBlock;\n        address beneficiary; // all funds received will be transferred to this address.\n        address admin; // The admin can halt or resume ICO.\n    }\n\n    // A mapping from the organization (Avatar) address to the saved data of the organization:\n    mapping(address=>Organization) public organizationsICOInfo;\n\n    mapping(bytes32=>Parameters) public parameters;\n\n    event DonationReceived(address indexed organization, address indexed _beneficiary, uint _incomingEther, uint indexed _tokensAmount);\n\n    /**\n     * @dev Constructor\n     */\n    function SimpleICO() public {}\n\n    /**\n    * @dev Hash the parameters, save them if necessary, and return the hash value\n    * @param _cap the ico cap\n    * @param _price  represents Tokens per 1 Eth\n    * @param _startBlock  ico start block\n    * @param _endBlock ico end\n    * @param _beneficiary the ico ether beneficiary\n    * @param _admin the address of the ico admin which can hold and resume the ICO.\n    * @return bytes32 -the params hash\n    */\n    function setParameters(\n        uint _cap,\n        uint _price,\n        uint _startBlock,\n        uint _endBlock,\n        address _beneficiary,\n        address _admin\n    )\n        public\n        returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersHash(\n            _cap,\n            _price,\n            _startBlock,\n            _endBlock,\n            _beneficiary,\n            _admin\n        );\n        if (parameters[paramsHash].cap == 0) {\n            parameters[paramsHash] = Parameters({\n                cap: _cap,\n                price: _price,\n                startBlock: _startBlock,\n                endBlock:_endBlock,\n                beneficiary:_beneficiary,\n                admin:_admin\n            });\n        }\n        return paramsHash;\n    }\n\n    /**\n    * @dev Hash the parameters and return the hash value\n    * @param _cap the ico cap\n    * @param _price  represents Tokens per 1 Eth\n    * @param _startBlock  ico start block\n    * @param _endBlock ico end\n    * @param _beneficiary the ico ether beneficiary\n    * @param _admin the address of the ico admin which can hold and resume the ICO.\n    * @return bytes32 -the params hash\n    */\n    function getParametersHash(\n        uint _cap,\n        uint _price,\n        uint _startBlock,\n        uint _endBlock,\n        address _beneficiary,\n        address _admin\n    )\n        public\n        pure\n        returns(bytes32)\n   {\n        return (keccak256(\n            _cap,\n            _price,\n            _startBlock,\n            _endBlock,\n            _beneficiary,\n            _admin\n        ));\n    }\n\n    /**\n     * @dev start an ICO\n     * @param _avatar The Avatar's of the organization\n     */\n    function start(Avatar _avatar) public {\n        require(!isActive(_avatar));\n        Organization memory org;\n        org.paramsHash = getParametersFromController(_avatar);\n        require(parameters[org.paramsHash].cap != 0);\n        org.avatarContractICO = new MirrorContractICO(_avatar, this);\n        organizationsICOInfo[_avatar] = org;\n    }\n\n    /**\n     * @dev Allowing admin to halt an ICO.\n     * @param _avatar The Avatar's of the organization\n     */\n    function haltICO(address _avatar) public {\n        require(msg.sender == parameters[organizationsICOInfo[_avatar].paramsHash].admin);\n        organizationsICOInfo[_avatar].isHalted = true;\n    }\n\n    /**\n     * @dev Allowing admin to reopen an ICO.\n     * @param _avatar The Avatar's of the organization\n     */\n    function resumeICO(address _avatar) public {\n        require(msg.sender == parameters[organizationsICOInfo[_avatar].paramsHash].admin);\n        organizationsICOInfo[_avatar].isHalted = false;\n    }\n\n    /**\n     * @dev Check is an ICO is active (halted is still considered active). Active ICO:\n     * 1. The organization is registered.\n     * 2. The ICO didn't reach it's cap yet.\n     * 3. The current block isn't bigger than the \"endBlock\" & Smaller then the \"startBlock\"\n     * @param _avatar The Avatar's of the organization\n     * @return bool which represents a successful of the function\n     */\n    function isActive(address _avatar) public constant returns(bool) {\n        Organization memory org = organizationsICOInfo[_avatar];\n        Parameters memory params = parameters[org.paramsHash];\n\n        if (org.totalEthRaised >= params.cap) {\n            return false;\n        }\n        if (block.number >= params.endBlock) {\n            return false;\n        }\n        if (block.number <= params.startBlock) {\n            return false;\n        }\n        return true;\n    }\n\n    /**\n     * @dev Donating ethers to get tokens.\n     * If the donation is higher than the remaining ethers in the \"cap\",\n     * The donator will get the change in ethers.\n     * @param _avatar The Avatar's of the organization.\n     * @param _beneficiary The donator's address - which will receive the ICO's tokens.\n     * @return bool which represents a successful of the function\n     */\n    function donate(Avatar _avatar, address _beneficiary) public payable returns(uint) {\n        Organization memory org = organizationsICOInfo[_avatar];\n        Parameters memory params = parameters[org.paramsHash];\n\n        // Check ICO is active:\n        require(isActive(_avatar));\n\n        // Check ICO is not halted:\n        require(!org.isHalted);\n\n\n        uint incomingEther;\n        uint change;\n\n        // Compute how much tokens to buy:\n        if ( msg.value > (params.cap).sub(org.totalEthRaised) ) {\n            incomingEther = (params.cap).sub(org.totalEthRaised);\n            change = (msg.value).sub(incomingEther);\n        } else {\n            incomingEther = msg.value;\n        }\n        uint tokens = incomingEther.mul(params.price);\n        // Send ether to the defined address, mint, and send change to beneficiary:\n        params.beneficiary.transfer(incomingEther);\n\n        ControllerInterface controller = ControllerInterface(_avatar.owner());\n        if (!controller.mintTokens(tokens, _beneficiary,address(_avatar))) {\n            revert();\n        }\n        if (change != 0) {\n            _beneficiary.transfer(change);\n        }\n        // Update total raised, call event and return amount of tokens bought:\n        organizationsICOInfo[_avatar].totalEthRaised += incomingEther;\n        DonationReceived(_avatar, _beneficiary, incomingEther, tokens);\n        return tokens;\n    }\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/SimpleICO.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/SimpleICO.sol",
      "exportedSymbols": {
        "MirrorContractICO": [
          9110
        ],
        "SimpleICO": [
          9535
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 9055,
        "name": "PragmaDirective",
        "src": "0:24:26"
      },
      {
        "attributes": {
          "SourceUnit": 9586,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 9536,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9056,
        "name": "ImportDirective",
        "src": "26:31:26"
      },
      {
        "attributes": {
          "SourceUnit": 11446,
          "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "file": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "scope": 9536,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9057,
        "name": "ImportDirective",
        "src": "58:59:26"
      },
      {
        "attributes": {
          "SourceUnit": 11366,
          "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol",
          "file": "zeppelin-solidity/contracts/math/SafeMath.sol",
          "scope": 9536,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9058,
        "name": "ImportDirective",
        "src": "118:55:26"
      },
      {
        "attributes": {
          "SourceUnit": 11268,
          "absolutePath": "zeppelin-solidity/contracts/lifecycle/Destructible.sol",
          "file": "zeppelin-solidity/contracts/lifecycle/Destructible.sol",
          "scope": 9536,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9059,
        "name": "ImportDirective",
        "src": "174:64:26"
      },
      {
        "attributes": {
          "contractDependencies": [
            11267,
            11445
          ],
          "contractKind": "contract",
          "documentation": "@title An avatar contract for ICO.\n@dev Allow people to donate by simply sending ether to an address.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            9110,
            11267,
            11445
          ],
          "name": "MirrorContractICO",
          "scope": 9536
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Destructible",
                  "referencedDeclaration": 11267,
                  "type": "contract Destructible"
                },
                "id": 9060,
                "name": "UserDefinedTypeName",
                "src": "387:12:26"
              }
            ],
            "id": 9061,
            "name": "InheritanceSpecifier",
            "src": "387:12:26"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organization",
              "scope": 9110,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "contract Avatar",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Avatar",
                  "referencedDeclaration": 3873,
                  "type": "contract Avatar"
                },
                "id": 9062,
                "name": "UserDefinedTypeName",
                "src": "406:6:26"
              }
            ],
            "id": 9063,
            "name": "VariableDeclaration",
            "src": "406:26:26"
          },
          {
            "attributes": {
              "constant": false,
              "name": "simpleICO",
              "scope": 9110,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "contract SimpleICO",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SimpleICO",
                  "referencedDeclaration": 9535,
                  "type": "contract SimpleICO"
                },
                "id": 9064,
                "name": "UserDefinedTypeName",
                "src": "479:9:26"
              }
            ],
            "id": 9065,
            "name": "VariableDeclaration",
            "src": "479:26:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "MirrorContractICO",
              "payable": false,
              "scope": 9110,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_organization",
                      "scope": 9081,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 9066,
                        "name": "UserDefinedTypeName",
                        "src": "741:6:26"
                      }
                    ],
                    "id": 9067,
                    "name": "VariableDeclaration",
                    "src": "741:20:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_simpleICO",
                      "scope": 9081,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract SimpleICO",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "SimpleICO",
                          "referencedDeclaration": 9535,
                          "type": "contract SimpleICO"
                        },
                        "id": 9068,
                        "name": "UserDefinedTypeName",
                        "src": "763:9:26"
                      }
                    ],
                    "id": 9069,
                    "name": "VariableDeclaration",
                    "src": "763:20:26"
                  }
                ],
                "id": 9070,
                "name": "ParameterList",
                "src": "740:44:26"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9071,
                "name": "ParameterList",
                "src": "792:0:26"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract Avatar"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9063,
                              "type": "contract Avatar",
                              "value": "organization"
                            },
                            "id": 9072,
                            "name": "Identifier",
                            "src": "802:12:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9067,
                              "type": "contract Avatar",
                              "value": "_organization"
                            },
                            "id": 9073,
                            "name": "Identifier",
                            "src": "817:13:26"
                          }
                        ],
                        "id": 9074,
                        "name": "Assignment",
                        "src": "802:28:26"
                      }
                    ],
                    "id": 9075,
                    "name": "ExpressionStatement",
                    "src": "802:28:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract SimpleICO"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9065,
                              "type": "contract SimpleICO",
                              "value": "simpleICO"
                            },
                            "id": 9076,
                            "name": "Identifier",
                            "src": "840:9:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9069,
                              "type": "contract SimpleICO",
                              "value": "_simpleICO"
                            },
                            "id": 9077,
                            "name": "Identifier",
                            "src": "852:10:26"
                          }
                        ],
                        "id": 9078,
                        "name": "Assignment",
                        "src": "840:22:26"
                      }
                    ],
                    "id": 9079,
                    "name": "ExpressionStatement",
                    "src": "840:22:26"
                  }
                ],
                "id": 9080,
                "name": "Block",
                "src": "792:77:26"
              }
            ],
            "id": 9081,
            "name": "FunctionDefinition",
            "src": "714:155:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "",
              "payable": true,
              "scope": 9110,
              "stateMutability": "payable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9082,
                "name": "ParameterList",
                "src": "1035:2:26"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9083,
                "name": "ParameterList",
                "src": "1053:0:26"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9084,
                            "name": "Identifier",
                            "src": "1105:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "value",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12011,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 9085,
                                    "name": "Identifier",
                                    "src": "1113:3:26"
                                  }
                                ],
                                "id": 9086,
                                "name": "MemberAccess",
                                "src": "1113:9:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 9087,
                                "name": "Literal",
                                "src": "1126:1:26"
                              }
                            ],
                            "id": 9088,
                            "name": "BinaryOperation",
                            "src": "1113:14:26"
                          }
                        ],
                        "id": 9089,
                        "name": "FunctionCall",
                        "src": "1105:23:26"
                      }
                    ],
                    "id": 9090,
                    "name": "ExpressionStatement",
                    "src": "1105:23:26"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "function (contract Avatar,address) payable external returns (uint256)",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "value",
                                      "referencedDeclaration": null,
                                      "type": "function (uint256) returns (function (contract Avatar,address) payable external returns (uint256))"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "donate",
                                          "referencedDeclaration": 9534,
                                          "type": "function (contract Avatar,address) payable external returns (uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 9065,
                                              "type": "contract SimpleICO",
                                              "value": "simpleICO"
                                            },
                                            "id": 9091,
                                            "name": "Identifier",
                                            "src": "1187:9:26"
                                          }
                                        ],
                                        "id": 9092,
                                        "name": "MemberAccess",
                                        "src": "1187:16:26"
                                      }
                                    ],
                                    "id": 9093,
                                    "name": "MemberAccess",
                                    "src": "1187:22:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "value",
                                      "referencedDeclaration": null,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 12011,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 9094,
                                        "name": "Identifier",
                                        "src": "1210:3:26"
                                      }
                                    ],
                                    "id": 9095,
                                    "name": "MemberAccess",
                                    "src": "1210:9:26"
                                  }
                                ],
                                "id": 9096,
                                "name": "FunctionCall",
                                "src": "1187:33:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9063,
                                  "type": "contract Avatar",
                                  "value": "organization"
                                },
                                "id": 9097,
                                "name": "Identifier",
                                "src": "1221:12:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12011,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 9098,
                                    "name": "Identifier",
                                    "src": "1235:3:26"
                                  }
                                ],
                                "id": 9099,
                                "name": "MemberAccess",
                                "src": "1235:10:26"
                              }
                            ],
                            "id": 9100,
                            "name": "FunctionCall",
                            "src": "1187:59:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 9101,
                            "name": "Literal",
                            "src": "1250:1:26"
                          }
                        ],
                        "id": 9102,
                        "name": "BinaryOperation",
                        "src": "1187:64:26"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        null
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12015,
                                      "type": "function () pure",
                                      "value": "revert"
                                    },
                                    "id": 9103,
                                    "name": "Identifier",
                                    "src": "1267:6:26"
                                  }
                                ],
                                "id": 9104,
                                "name": "FunctionCall",
                                "src": "1267:8:26"
                              }
                            ],
                            "id": 9105,
                            "name": "ExpressionStatement",
                            "src": "1267:8:26"
                          }
                        ],
                        "id": 9106,
                        "name": "Block",
                        "src": "1253:33:26"
                      }
                    ],
                    "id": 9107,
                    "name": "IfStatement",
                    "src": "1183:103:26"
                  }
                ],
                "id": 9108,
                "name": "Block",
                "src": "1053:239:26"
              }
            ],
            "id": 9109,
            "name": "FunctionDefinition",
            "src": "1026:266:26"
          }
        ],
        "id": 9110,
        "name": "ContractDefinition",
        "src": "357:937:26"
      },
      {
        "attributes": {
          "contractDependencies": [
            9110,
            9585,
            9604,
            11445
          ],
          "contractKind": "contract",
          "documentation": "@title SimpleICO scheme.\n@dev A universal scheme to allow organizations to open a simple ICO and get donations.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            9535,
            9585,
            9604,
            11445
          ],
          "name": "SimpleICO",
          "scope": 9536
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 9585,
                  "type": "contract UniversalScheme"
                },
                "id": 9111,
                "name": "UserDefinedTypeName",
                "src": "1445:15:26"
              }
            ],
            "id": 9112,
            "name": "InheritanceSpecifier",
            "src": "1445:15:26"
          },
          {
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SafeMath",
                  "referencedDeclaration": 11365,
                  "type": "library SafeMath"
                },
                "id": 9113,
                "name": "UserDefinedTypeName",
                "src": "1473:8:26"
              },
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 9114,
                "name": "ElementaryTypeName",
                "src": "1486:4:26"
              }
            ],
            "id": 9115,
            "name": "UsingForDirective",
            "src": "1467:24:26"
          },
          {
            "attributes": {
              "canonicalName": "SimpleICO.Organization",
              "name": "Organization",
              "scope": 9535,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "paramsHash",
                  "scope": 9124,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 9116,
                    "name": "ElementaryTypeName",
                    "src": "1580:7:26"
                  }
                ],
                "id": 9117,
                "name": "VariableDeclaration",
                "src": "1580:18:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "avatarContractICO",
                  "scope": 9124,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 9118,
                    "name": "ElementaryTypeName",
                    "src": "1701:7:26"
                  }
                ],
                "id": 9119,
                "name": "VariableDeclaration",
                "src": "1701:25:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "totalEthRaised",
                  "scope": 9124,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 9120,
                    "name": "ElementaryTypeName",
                    "src": "1822:4:26"
                  }
                ],
                "id": 9121,
                "name": "VariableDeclaration",
                "src": "1822:19:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "isHalted",
                  "scope": 9124,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 9122,
                    "name": "ElementaryTypeName",
                    "src": "1851:4:26"
                  }
                ],
                "id": 9123,
                "name": "VariableDeclaration",
                "src": "1851:13:26"
              }
            ],
            "id": 9124,
            "name": "StructDefinition",
            "src": "1550:395:26"
          },
          {
            "attributes": {
              "canonicalName": "SimpleICO.Parameters",
              "name": "Parameters",
              "scope": 9535,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "cap",
                  "scope": 9137,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 9125,
                    "name": "ElementaryTypeName",
                    "src": "2082:4:26"
                  }
                ],
                "id": 9126,
                "name": "VariableDeclaration",
                "src": "2082:8:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "price",
                  "scope": 9137,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 9127,
                    "name": "ElementaryTypeName",
                    "src": "2114:4:26"
                  }
                ],
                "id": 9128,
                "name": "VariableDeclaration",
                "src": "2114:10:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "startBlock",
                  "scope": 9137,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 9129,
                    "name": "ElementaryTypeName",
                    "src": "2171:4:26"
                  }
                ],
                "id": 9130,
                "name": "VariableDeclaration",
                "src": "2171:15:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "endBlock",
                  "scope": 9137,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 9131,
                    "name": "ElementaryTypeName",
                    "src": "2196:4:26"
                  }
                ],
                "id": 9132,
                "name": "VariableDeclaration",
                "src": "2196:13:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "beneficiary",
                  "scope": 9137,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 9133,
                    "name": "ElementaryTypeName",
                    "src": "2219:7:26"
                  }
                ],
                "id": 9134,
                "name": "VariableDeclaration",
                "src": "2219:19:26"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "admin",
                  "scope": 9137,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 9135,
                    "name": "ElementaryTypeName",
                    "src": "2307:7:26"
                  }
                ],
                "id": 9136,
                "name": "VariableDeclaration",
                "src": "2307:13:26"
              }
            ],
            "id": 9137,
            "name": "StructDefinition",
            "src": "2054:310:26"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsICOInfo",
              "scope": 9535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => struct SimpleICO.Organization storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => struct SimpleICO.Organization storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 9138,
                    "name": "ElementaryTypeName",
                    "src": "2473:7:26"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Organization",
                      "referencedDeclaration": 9124,
                      "type": "struct SimpleICO.Organization storage pointer"
                    },
                    "id": 9139,
                    "name": "UserDefinedTypeName",
                    "src": "2482:12:26"
                  }
                ],
                "id": 9140,
                "name": "Mapping",
                "src": "2465:30:26"
              }
            ],
            "id": 9141,
            "name": "VariableDeclaration",
            "src": "2465:58:26"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 9535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 9142,
                    "name": "ElementaryTypeName",
                    "src": "2538:7:26"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 9137,
                      "type": "struct SimpleICO.Parameters storage pointer"
                    },
                    "id": 9143,
                    "name": "UserDefinedTypeName",
                    "src": "2547:10:26"
                  }
                ],
                "id": 9144,
                "name": "Mapping",
                "src": "2530:28:26"
              }
            ],
            "id": 9145,
            "name": "VariableDeclaration",
            "src": "2530:46:26"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "DonationReceived"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "organization",
                      "scope": 9155,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9146,
                        "name": "ElementaryTypeName",
                        "src": "2606:7:26"
                      }
                    ],
                    "id": 9147,
                    "name": "VariableDeclaration",
                    "src": "2606:28:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_beneficiary",
                      "scope": 9155,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9148,
                        "name": "ElementaryTypeName",
                        "src": "2636:7:26"
                      }
                    ],
                    "id": 9149,
                    "name": "VariableDeclaration",
                    "src": "2636:28:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_incomingEther",
                      "scope": 9155,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9150,
                        "name": "ElementaryTypeName",
                        "src": "2666:4:26"
                      }
                    ],
                    "id": 9151,
                    "name": "VariableDeclaration",
                    "src": "2666:19:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_tokensAmount",
                      "scope": 9155,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9152,
                        "name": "ElementaryTypeName",
                        "src": "2687:4:26"
                      }
                    ],
                    "id": 9153,
                    "name": "VariableDeclaration",
                    "src": "2687:26:26"
                  }
                ],
                "id": 9154,
                "name": "ParameterList",
                "src": "2605:109:26"
              }
            ],
            "id": 9155,
            "name": "EventDefinition",
            "src": "2583:132:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "SimpleICO",
              "payable": false,
              "scope": 9535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9156,
                "name": "ParameterList",
                "src": "2779:2:26"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9157,
                "name": "ParameterList",
                "src": "2789:0:26"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 9158,
                "name": "Block",
                "src": "2789:2:26"
              }
            ],
            "id": 9159,
            "name": "FunctionDefinition",
            "src": "2761:30:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 9535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_cap",
                      "scope": 9211,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9160,
                        "name": "ElementaryTypeName",
                        "src": "3253:4:26"
                      }
                    ],
                    "id": 9161,
                    "name": "VariableDeclaration",
                    "src": "3253:9:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_price",
                      "scope": 9211,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9162,
                        "name": "ElementaryTypeName",
                        "src": "3272:4:26"
                      }
                    ],
                    "id": 9163,
                    "name": "VariableDeclaration",
                    "src": "3272:11:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_startBlock",
                      "scope": 9211,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9164,
                        "name": "ElementaryTypeName",
                        "src": "3293:4:26"
                      }
                    ],
                    "id": 9165,
                    "name": "VariableDeclaration",
                    "src": "3293:16:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_endBlock",
                      "scope": 9211,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9166,
                        "name": "ElementaryTypeName",
                        "src": "3319:4:26"
                      }
                    ],
                    "id": 9167,
                    "name": "VariableDeclaration",
                    "src": "3319:14:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 9211,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9168,
                        "name": "ElementaryTypeName",
                        "src": "3343:7:26"
                      }
                    ],
                    "id": 9169,
                    "name": "VariableDeclaration",
                    "src": "3343:20:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_admin",
                      "scope": 9211,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9170,
                        "name": "ElementaryTypeName",
                        "src": "3373:7:26"
                      }
                    ],
                    "id": 9171,
                    "name": "VariableDeclaration",
                    "src": "3373:14:26"
                  }
                ],
                "id": 9172,
                "name": "ParameterList",
                "src": "3243:150:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9211,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9173,
                        "name": "ElementaryTypeName",
                        "src": "3425:7:26"
                      }
                    ],
                    "id": 9174,
                    "name": "VariableDeclaration",
                    "src": "3425:7:26"
                  }
                ],
                "id": 9175,
                "name": "ParameterList",
                "src": "3424:9:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        9177
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 9211,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 9176,
                            "name": "ElementaryTypeName",
                            "src": "3448:7:26"
                          }
                        ],
                        "id": 9177,
                        "name": "VariableDeclaration",
                        "src": "3448:18:26"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9239,
                              "type": "function (uint256,uint256,uint256,uint256,address,address) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 9178,
                            "name": "Identifier",
                            "src": "3469:17:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9161,
                              "type": "uint256",
                              "value": "_cap"
                            },
                            "id": 9179,
                            "name": "Identifier",
                            "src": "3500:4:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9163,
                              "type": "uint256",
                              "value": "_price"
                            },
                            "id": 9180,
                            "name": "Identifier",
                            "src": "3518:6:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9165,
                              "type": "uint256",
                              "value": "_startBlock"
                            },
                            "id": 9181,
                            "name": "Identifier",
                            "src": "3538:11:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9167,
                              "type": "uint256",
                              "value": "_endBlock"
                            },
                            "id": 9182,
                            "name": "Identifier",
                            "src": "3563:9:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9169,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 9183,
                            "name": "Identifier",
                            "src": "3586:12:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9171,
                              "type": "address",
                              "value": "_admin"
                            },
                            "id": 9184,
                            "name": "Identifier",
                            "src": "3612:6:26"
                          }
                        ],
                        "id": 9185,
                        "name": "FunctionCall",
                        "src": "3469:159:26"
                      }
                    ],
                    "id": 9186,
                    "name": "VariableDeclarationStatement",
                    "src": "3448:180:26"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "cap",
                              "referencedDeclaration": 9126,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SimpleICO.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9145,
                                      "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 9187,
                                    "name": "Identifier",
                                    "src": "3642:10:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9177,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 9188,
                                    "name": "Identifier",
                                    "src": "3653:10:26"
                                  }
                                ],
                                "id": 9189,
                                "name": "IndexAccess",
                                "src": "3642:22:26"
                              }
                            ],
                            "id": 9190,
                            "name": "MemberAccess",
                            "src": "3642:26:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 9191,
                            "name": "Literal",
                            "src": "3672:1:26"
                          }
                        ],
                        "id": 9192,
                        "name": "BinaryOperation",
                        "src": "3642:31:26"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "struct SimpleICO.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "struct SimpleICO.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9145,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 9193,
                                        "name": "Identifier",
                                        "src": "3689:10:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9177,
                                          "type": "bytes32",
                                          "value": "paramsHash"
                                        },
                                        "id": 9194,
                                        "name": "Identifier",
                                        "src": "3700:10:26"
                                      }
                                    ],
                                    "id": 9195,
                                    "name": "IndexAccess",
                                    "src": "3689:22:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": true,
                                      "lValueRequested": false,
                                      "names": [
                                        "cap",
                                        "price",
                                        "startBlock",
                                        "endBlock",
                                        "beneficiary",
                                        "admin"
                                      ],
                                      "type": "struct SimpleICO.Parameters memory",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9137,
                                          "type": "type(struct SimpleICO.Parameters storage pointer)",
                                          "value": "Parameters"
                                        },
                                        "id": 9196,
                                        "name": "Identifier",
                                        "src": "3714:10:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9161,
                                          "type": "uint256",
                                          "value": "_cap"
                                        },
                                        "id": 9197,
                                        "name": "Identifier",
                                        "src": "3748:4:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9163,
                                          "type": "uint256",
                                          "value": "_price"
                                        },
                                        "id": 9198,
                                        "name": "Identifier",
                                        "src": "3777:6:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9165,
                                          "type": "uint256",
                                          "value": "_startBlock"
                                        },
                                        "id": 9199,
                                        "name": "Identifier",
                                        "src": "3813:11:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9167,
                                          "type": "uint256",
                                          "value": "_endBlock"
                                        },
                                        "id": 9200,
                                        "name": "Identifier",
                                        "src": "3851:9:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9169,
                                          "type": "address",
                                          "value": "_beneficiary"
                                        },
                                        "id": 9201,
                                        "name": "Identifier",
                                        "src": "3890:12:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9171,
                                          "type": "address",
                                          "value": "_admin"
                                        },
                                        "id": 9202,
                                        "name": "Identifier",
                                        "src": "3926:6:26"
                                      }
                                    ],
                                    "id": 9203,
                                    "name": "FunctionCall",
                                    "src": "3714:233:26"
                                  }
                                ],
                                "id": 9204,
                                "name": "Assignment",
                                "src": "3689:258:26"
                              }
                            ],
                            "id": 9205,
                            "name": "ExpressionStatement",
                            "src": "3689:258:26"
                          }
                        ],
                        "id": 9206,
                        "name": "Block",
                        "src": "3675:283:26"
                      }
                    ],
                    "id": 9207,
                    "name": "IfStatement",
                    "src": "3638:320:26"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9175
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9177,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 9208,
                        "name": "Identifier",
                        "src": "3974:10:26"
                      }
                    ],
                    "id": 9209,
                    "name": "Return",
                    "src": "3967:17:26"
                  }
                ],
                "id": 9210,
                "name": "Block",
                "src": "3438:553:26"
              }
            ],
            "id": 9211,
            "name": "FunctionDefinition",
            "src": "3221:770:26"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 9535,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_cap",
                      "scope": 9239,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9212,
                        "name": "ElementaryTypeName",
                        "src": "4432:4:26"
                      }
                    ],
                    "id": 9213,
                    "name": "VariableDeclaration",
                    "src": "4432:9:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_price",
                      "scope": 9239,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9214,
                        "name": "ElementaryTypeName",
                        "src": "4451:4:26"
                      }
                    ],
                    "id": 9215,
                    "name": "VariableDeclaration",
                    "src": "4451:11:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_startBlock",
                      "scope": 9239,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9216,
                        "name": "ElementaryTypeName",
                        "src": "4472:4:26"
                      }
                    ],
                    "id": 9217,
                    "name": "VariableDeclaration",
                    "src": "4472:16:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_endBlock",
                      "scope": 9239,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9218,
                        "name": "ElementaryTypeName",
                        "src": "4498:4:26"
                      }
                    ],
                    "id": 9219,
                    "name": "VariableDeclaration",
                    "src": "4498:14:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 9239,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9220,
                        "name": "ElementaryTypeName",
                        "src": "4522:7:26"
                      }
                    ],
                    "id": 9221,
                    "name": "VariableDeclaration",
                    "src": "4522:20:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_admin",
                      "scope": 9239,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9222,
                        "name": "ElementaryTypeName",
                        "src": "4552:7:26"
                      }
                    ],
                    "id": 9223,
                    "name": "VariableDeclaration",
                    "src": "4552:14:26"
                  }
                ],
                "id": 9224,
                "name": "ParameterList",
                "src": "4422:150:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9239,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 9225,
                        "name": "ElementaryTypeName",
                        "src": "4617:7:26"
                      }
                    ],
                    "id": 9226,
                    "name": "VariableDeclaration",
                    "src": "4617:7:26"
                  }
                ],
                "id": 9227,
                "name": "ParameterList",
                "src": "4616:9:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 9227
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes32",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12005,
                                  "type": "function () pure returns (bytes32)",
                                  "value": "keccak256"
                                },
                                "id": 9228,
                                "name": "Identifier",
                                "src": "4647:9:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9213,
                                  "type": "uint256",
                                  "value": "_cap"
                                },
                                "id": 9229,
                                "name": "Identifier",
                                "src": "4670:4:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9215,
                                  "type": "uint256",
                                  "value": "_price"
                                },
                                "id": 9230,
                                "name": "Identifier",
                                "src": "4688:6:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9217,
                                  "type": "uint256",
                                  "value": "_startBlock"
                                },
                                "id": 9231,
                                "name": "Identifier",
                                "src": "4708:11:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9219,
                                  "type": "uint256",
                                  "value": "_endBlock"
                                },
                                "id": 9232,
                                "name": "Identifier",
                                "src": "4733:9:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9221,
                                  "type": "address",
                                  "value": "_beneficiary"
                                },
                                "id": 9233,
                                "name": "Identifier",
                                "src": "4756:12:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9223,
                                  "type": "address",
                                  "value": "_admin"
                                },
                                "id": 9234,
                                "name": "Identifier",
                                "src": "4782:6:26"
                              }
                            ],
                            "id": 9235,
                            "name": "FunctionCall",
                            "src": "4647:151:26"
                          }
                        ],
                        "id": 9236,
                        "name": "TupleExpression",
                        "src": "4646:153:26"
                      }
                    ],
                    "id": 9237,
                    "name": "Return",
                    "src": "4639:160:26"
                  }
                ],
                "id": 9238,
                "name": "Block",
                "src": "4629:177:26"
              }
            ],
            "id": 9239,
            "name": "FunctionDefinition",
            "src": "4396:410:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "start",
              "payable": false,
              "scope": 9535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9289,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 9240,
                        "name": "UserDefinedTypeName",
                        "src": "4923:6:26"
                      }
                    ],
                    "id": 9241,
                    "name": "VariableDeclaration",
                    "src": "4923:14:26"
                  }
                ],
                "id": 9242,
                "name": "ParameterList",
                "src": "4922:16:26"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9243,
                "name": "ParameterList",
                "src": "4946:0:26"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9244,
                            "name": "Identifier",
                            "src": "4956:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!",
                              "prefix": true,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bool",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_Avatar_$3873",
                                          "typeString": "contract Avatar"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9391,
                                      "type": "function (address) view returns (bool)",
                                      "value": "isActive"
                                    },
                                    "id": 9245,
                                    "name": "Identifier",
                                    "src": "4965:8:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9241,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 9246,
                                    "name": "Identifier",
                                    "src": "4974:7:26"
                                  }
                                ],
                                "id": 9247,
                                "name": "FunctionCall",
                                "src": "4965:17:26"
                              }
                            ],
                            "id": 9248,
                            "name": "UnaryOperation",
                            "src": "4964:18:26"
                          }
                        ],
                        "id": 9249,
                        "name": "FunctionCall",
                        "src": "4956:27:26"
                      }
                    ],
                    "id": 9250,
                    "name": "ExpressionStatement",
                    "src": "4956:27:26"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 9289,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Organization memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 9124,
                              "type": "struct SimpleICO.Organization storage pointer"
                            },
                            "id": 9251,
                            "name": "UserDefinedTypeName",
                            "src": "4993:12:26"
                          }
                        ],
                        "id": 9252,
                        "name": "VariableDeclaration",
                        "src": "4993:23:26"
                      }
                    ],
                    "id": 9253,
                    "name": "VariableDeclarationStatement",
                    "src": "4993:23:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 9117,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9252,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 9254,
                                "name": "Identifier",
                                "src": "5026:3:26"
                              }
                            ],
                            "id": 9256,
                            "name": "MemberAccess",
                            "src": "5026:14:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes32",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    9584
                                  ],
                                  "referencedDeclaration": 9584,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 9257,
                                "name": "Identifier",
                                "src": "5043:27:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9241,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 9258,
                                "name": "Identifier",
                                "src": "5071:7:26"
                              }
                            ],
                            "id": 9259,
                            "name": "FunctionCall",
                            "src": "5043:36:26"
                          }
                        ],
                        "id": 9260,
                        "name": "Assignment",
                        "src": "5026:53:26"
                      }
                    ],
                    "id": 9261,
                    "name": "ExpressionStatement",
                    "src": "5026:53:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9262,
                            "name": "Identifier",
                            "src": "5089:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "cap",
                                  "referencedDeclaration": 9126,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct SimpleICO.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9145,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 9263,
                                        "name": "Identifier",
                                        "src": "5097:10:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 9117,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 9252,
                                              "type": "struct SimpleICO.Organization memory",
                                              "value": "org"
                                            },
                                            "id": 9264,
                                            "name": "Identifier",
                                            "src": "5108:3:26"
                                          }
                                        ],
                                        "id": 9265,
                                        "name": "MemberAccess",
                                        "src": "5108:14:26"
                                      }
                                    ],
                                    "id": 9266,
                                    "name": "IndexAccess",
                                    "src": "5097:26:26"
                                  }
                                ],
                                "id": 9267,
                                "name": "MemberAccess",
                                "src": "5097:30:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 9268,
                                "name": "Literal",
                                "src": "5131:1:26"
                              }
                            ],
                            "id": 9269,
                            "name": "BinaryOperation",
                            "src": "5097:35:26"
                          }
                        ],
                        "id": 9270,
                        "name": "FunctionCall",
                        "src": "5089:44:26"
                      }
                    ],
                    "id": 9271,
                    "name": "ExpressionStatement",
                    "src": "5089:44:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "avatarContractICO",
                              "referencedDeclaration": 9119,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9252,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 9272,
                                "name": "Identifier",
                                "src": "5143:3:26"
                              }
                            ],
                            "id": 9274,
                            "name": "MemberAccess",
                            "src": "5143:21:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract MirrorContractICO",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    },
                                    {
                                      "typeIdentifier": "t_contract$_SimpleICO_$9535",
                                      "typeString": "contract SimpleICO"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "function (contract Avatar,contract SimpleICO) returns (contract MirrorContractICO)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "MirrorContractICO",
                                      "referencedDeclaration": 9110,
                                      "type": "contract MirrorContractICO"
                                    },
                                    "id": 9275,
                                    "name": "UserDefinedTypeName",
                                    "src": "5171:17:26"
                                  }
                                ],
                                "id": 9276,
                                "name": "NewExpression",
                                "src": "5167:21:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9241,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 9277,
                                "name": "Identifier",
                                "src": "5189:7:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12102,
                                  "type": "contract SimpleICO",
                                  "value": "this"
                                },
                                "id": 9278,
                                "name": "Identifier",
                                "src": "5198:4:26"
                              }
                            ],
                            "id": 9279,
                            "name": "FunctionCall",
                            "src": "5167:36:26"
                          }
                        ],
                        "id": 9280,
                        "name": "Assignment",
                        "src": "5143:60:26"
                      }
                    ],
                    "id": 9281,
                    "name": "ExpressionStatement",
                    "src": "5143:60:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct SimpleICO.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct SimpleICO.Organization storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9141,
                                  "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                  "value": "organizationsICOInfo"
                                },
                                "id": 9282,
                                "name": "Identifier",
                                "src": "5213:20:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9241,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 9283,
                                "name": "Identifier",
                                "src": "5234:7:26"
                              }
                            ],
                            "id": 9284,
                            "name": "IndexAccess",
                            "src": "5213:29:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9252,
                              "type": "struct SimpleICO.Organization memory",
                              "value": "org"
                            },
                            "id": 9285,
                            "name": "Identifier",
                            "src": "5245:3:26"
                          }
                        ],
                        "id": 9286,
                        "name": "Assignment",
                        "src": "5213:35:26"
                      }
                    ],
                    "id": 9287,
                    "name": "ExpressionStatement",
                    "src": "5213:35:26"
                  }
                ],
                "id": 9288,
                "name": "Block",
                "src": "4946:309:26"
              }
            ],
            "id": 9289,
            "name": "FunctionDefinition",
            "src": "4908:347:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "haltICO",
              "payable": false,
              "scope": 9535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9315,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9290,
                        "name": "ElementaryTypeName",
                        "src": "5392:7:26"
                      }
                    ],
                    "id": 9291,
                    "name": "VariableDeclaration",
                    "src": "5392:15:26"
                  }
                ],
                "id": 9292,
                "name": "ParameterList",
                "src": "5391:17:26"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9293,
                "name": "ParameterList",
                "src": "5416:0:26"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9294,
                            "name": "Identifier",
                            "src": "5426:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12011,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 9295,
                                    "name": "Identifier",
                                    "src": "5434:3:26"
                                  }
                                ],
                                "id": 9296,
                                "name": "MemberAccess",
                                "src": "5434:10:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "admin",
                                  "referencedDeclaration": 9136,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct SimpleICO.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9145,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 9297,
                                        "name": "Identifier",
                                        "src": "5448:10:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 9117,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "type": "struct SimpleICO.Organization storage ref"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 9141,
                                                  "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                                  "value": "organizationsICOInfo"
                                                },
                                                "id": 9298,
                                                "name": "Identifier",
                                                "src": "5459:20:26"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 9291,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 9299,
                                                "name": "Identifier",
                                                "src": "5480:7:26"
                                              }
                                            ],
                                            "id": 9300,
                                            "name": "IndexAccess",
                                            "src": "5459:29:26"
                                          }
                                        ],
                                        "id": 9301,
                                        "name": "MemberAccess",
                                        "src": "5459:40:26"
                                      }
                                    ],
                                    "id": 9302,
                                    "name": "IndexAccess",
                                    "src": "5448:52:26"
                                  }
                                ],
                                "id": 9303,
                                "name": "MemberAccess",
                                "src": "5448:58:26"
                              }
                            ],
                            "id": 9304,
                            "name": "BinaryOperation",
                            "src": "5434:72:26"
                          }
                        ],
                        "id": 9305,
                        "name": "FunctionCall",
                        "src": "5426:81:26"
                      }
                    ],
                    "id": 9306,
                    "name": "ExpressionStatement",
                    "src": "5426:81:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "isHalted",
                              "referencedDeclaration": 9123,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SimpleICO.Organization storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9141,
                                      "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                      "value": "organizationsICOInfo"
                                    },
                                    "id": 9307,
                                    "name": "Identifier",
                                    "src": "5517:20:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9291,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 9308,
                                    "name": "Identifier",
                                    "src": "5538:7:26"
                                  }
                                ],
                                "id": 9309,
                                "name": "IndexAccess",
                                "src": "5517:29:26"
                              }
                            ],
                            "id": 9310,
                            "name": "MemberAccess",
                            "src": "5517:38:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 9311,
                            "name": "Literal",
                            "src": "5558:4:26"
                          }
                        ],
                        "id": 9312,
                        "name": "Assignment",
                        "src": "5517:45:26"
                      }
                    ],
                    "id": 9313,
                    "name": "ExpressionStatement",
                    "src": "5517:45:26"
                  }
                ],
                "id": 9314,
                "name": "Block",
                "src": "5416:153:26"
              }
            ],
            "id": 9315,
            "name": "FunctionDefinition",
            "src": "5375:194:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "resumeICO",
              "payable": false,
              "scope": 9535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9341,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9316,
                        "name": "ElementaryTypeName",
                        "src": "5710:7:26"
                      }
                    ],
                    "id": 9317,
                    "name": "VariableDeclaration",
                    "src": "5710:15:26"
                  }
                ],
                "id": 9318,
                "name": "ParameterList",
                "src": "5709:17:26"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9319,
                "name": "ParameterList",
                "src": "5734:0:26"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9320,
                            "name": "Identifier",
                            "src": "5744:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12011,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 9321,
                                    "name": "Identifier",
                                    "src": "5752:3:26"
                                  }
                                ],
                                "id": 9322,
                                "name": "MemberAccess",
                                "src": "5752:10:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "admin",
                                  "referencedDeclaration": 9136,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct SimpleICO.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9145,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 9323,
                                        "name": "Identifier",
                                        "src": "5766:10:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 9117,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "type": "struct SimpleICO.Organization storage ref"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 9141,
                                                  "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                                  "value": "organizationsICOInfo"
                                                },
                                                "id": 9324,
                                                "name": "Identifier",
                                                "src": "5777:20:26"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 9317,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 9325,
                                                "name": "Identifier",
                                                "src": "5798:7:26"
                                              }
                                            ],
                                            "id": 9326,
                                            "name": "IndexAccess",
                                            "src": "5777:29:26"
                                          }
                                        ],
                                        "id": 9327,
                                        "name": "MemberAccess",
                                        "src": "5777:40:26"
                                      }
                                    ],
                                    "id": 9328,
                                    "name": "IndexAccess",
                                    "src": "5766:52:26"
                                  }
                                ],
                                "id": 9329,
                                "name": "MemberAccess",
                                "src": "5766:58:26"
                              }
                            ],
                            "id": 9330,
                            "name": "BinaryOperation",
                            "src": "5752:72:26"
                          }
                        ],
                        "id": 9331,
                        "name": "FunctionCall",
                        "src": "5744:81:26"
                      }
                    ],
                    "id": 9332,
                    "name": "ExpressionStatement",
                    "src": "5744:81:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "isHalted",
                              "referencedDeclaration": 9123,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SimpleICO.Organization storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9141,
                                      "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                      "value": "organizationsICOInfo"
                                    },
                                    "id": 9333,
                                    "name": "Identifier",
                                    "src": "5835:20:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9317,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 9334,
                                    "name": "Identifier",
                                    "src": "5856:7:26"
                                  }
                                ],
                                "id": 9335,
                                "name": "IndexAccess",
                                "src": "5835:29:26"
                              }
                            ],
                            "id": 9336,
                            "name": "MemberAccess",
                            "src": "5835:38:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 9337,
                            "name": "Literal",
                            "src": "5876:5:26"
                          }
                        ],
                        "id": 9338,
                        "name": "Assignment",
                        "src": "5835:46:26"
                      }
                    ],
                    "id": 9339,
                    "name": "ExpressionStatement",
                    "src": "5835:46:26"
                  }
                ],
                "id": 9340,
                "name": "Block",
                "src": "5734:154:26"
              }
            ],
            "id": 9341,
            "name": "FunctionDefinition",
            "src": "5691:197:26"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "isActive",
              "payable": false,
              "scope": 9535,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9391,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9342,
                        "name": "ElementaryTypeName",
                        "src": "6316:7:26"
                      }
                    ],
                    "id": 9343,
                    "name": "VariableDeclaration",
                    "src": "6316:15:26"
                  }
                ],
                "id": 9344,
                "name": "ParameterList",
                "src": "6315:17:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9391,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 9345,
                        "name": "ElementaryTypeName",
                        "src": "6357:4:26"
                      }
                    ],
                    "id": 9346,
                    "name": "VariableDeclaration",
                    "src": "6357:4:26"
                  }
                ],
                "id": 9347,
                "name": "ParameterList",
                "src": "6356:6:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        9349
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 9391,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Organization memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 9124,
                              "type": "struct SimpleICO.Organization storage pointer"
                            },
                            "id": 9348,
                            "name": "UserDefinedTypeName",
                            "src": "6373:12:26"
                          }
                        ],
                        "id": 9349,
                        "name": "VariableDeclaration",
                        "src": "6373:23:26"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9141,
                              "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                              "value": "organizationsICOInfo"
                            },
                            "id": 9350,
                            "name": "Identifier",
                            "src": "6399:20:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9343,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 9351,
                            "name": "Identifier",
                            "src": "6420:7:26"
                          }
                        ],
                        "id": 9352,
                        "name": "IndexAccess",
                        "src": "6399:29:26"
                      }
                    ],
                    "id": 9353,
                    "name": "VariableDeclarationStatement",
                    "src": "6373:55:26"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9355
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 9391,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 9137,
                              "type": "struct SimpleICO.Parameters storage pointer"
                            },
                            "id": 9354,
                            "name": "UserDefinedTypeName",
                            "src": "6438:10:26"
                          }
                        ],
                        "id": 9355,
                        "name": "VariableDeclaration",
                        "src": "6438:24:26"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9145,
                              "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 9356,
                            "name": "Identifier",
                            "src": "6465:10:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 9117,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9349,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 9357,
                                "name": "Identifier",
                                "src": "6476:3:26"
                              }
                            ],
                            "id": 9358,
                            "name": "MemberAccess",
                            "src": "6476:14:26"
                          }
                        ],
                        "id": 9359,
                        "name": "IndexAccess",
                        "src": "6465:26:26"
                      }
                    ],
                    "id": 9360,
                    "name": "VariableDeclarationStatement",
                    "src": "6438:53:26"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": ">=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "totalEthRaised",
                              "referencedDeclaration": 9121,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9349,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 9361,
                                "name": "Identifier",
                                "src": "6506:3:26"
                              }
                            ],
                            "id": 9362,
                            "name": "MemberAccess",
                            "src": "6506:18:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "cap",
                              "referencedDeclaration": 9126,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9355,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 9363,
                                "name": "Identifier",
                                "src": "6528:6:26"
                              }
                            ],
                            "id": 9364,
                            "name": "MemberAccess",
                            "src": "6528:10:26"
                          }
                        ],
                        "id": 9365,
                        "name": "BinaryOperation",
                        "src": "6506:32:26"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 9347
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 9366,
                                "name": "Literal",
                                "src": "6561:5:26"
                              }
                            ],
                            "id": 9367,
                            "name": "Return",
                            "src": "6554:12:26"
                          }
                        ],
                        "id": 9368,
                        "name": "Block",
                        "src": "6540:37:26"
                      }
                    ],
                    "id": 9369,
                    "name": "IfStatement",
                    "src": "6502:75:26"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": ">=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "number",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12003,
                                  "type": "block",
                                  "value": "block"
                                },
                                "id": 9370,
                                "name": "Identifier",
                                "src": "6590:5:26"
                              }
                            ],
                            "id": 9371,
                            "name": "MemberAccess",
                            "src": "6590:12:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "endBlock",
                              "referencedDeclaration": 9132,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9355,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 9372,
                                "name": "Identifier",
                                "src": "6606:6:26"
                              }
                            ],
                            "id": 9373,
                            "name": "MemberAccess",
                            "src": "6606:15:26"
                          }
                        ],
                        "id": 9374,
                        "name": "BinaryOperation",
                        "src": "6590:31:26"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 9347
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 9375,
                                "name": "Literal",
                                "src": "6644:5:26"
                              }
                            ],
                            "id": 9376,
                            "name": "Return",
                            "src": "6637:12:26"
                          }
                        ],
                        "id": 9377,
                        "name": "Block",
                        "src": "6623:37:26"
                      }
                    ],
                    "id": 9378,
                    "name": "IfStatement",
                    "src": "6586:74:26"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "<=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "number",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12003,
                                  "type": "block",
                                  "value": "block"
                                },
                                "id": 9379,
                                "name": "Identifier",
                                "src": "6673:5:26"
                              }
                            ],
                            "id": 9380,
                            "name": "MemberAccess",
                            "src": "6673:12:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "startBlock",
                              "referencedDeclaration": 9130,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9355,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 9381,
                                "name": "Identifier",
                                "src": "6689:6:26"
                              }
                            ],
                            "id": 9382,
                            "name": "MemberAccess",
                            "src": "6689:17:26"
                          }
                        ],
                        "id": 9383,
                        "name": "BinaryOperation",
                        "src": "6673:33:26"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 9347
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 9384,
                                "name": "Literal",
                                "src": "6729:5:26"
                              }
                            ],
                            "id": 9385,
                            "name": "Return",
                            "src": "6722:12:26"
                          }
                        ],
                        "id": 9386,
                        "name": "Block",
                        "src": "6708:37:26"
                      }
                    ],
                    "id": 9387,
                    "name": "IfStatement",
                    "src": "6669:76:26"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9347
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 9388,
                        "name": "Literal",
                        "src": "6761:4:26"
                      }
                    ],
                    "id": 9389,
                    "name": "Return",
                    "src": "6754:11:26"
                  }
                ],
                "id": 9390,
                "name": "Block",
                "src": "6363:409:26"
              }
            ],
            "id": 9391,
            "name": "FunctionDefinition",
            "src": "6298:474:26"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "donate",
              "payable": true,
              "scope": 9535,
              "stateMutability": "payable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 9534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 9392,
                        "name": "UserDefinedTypeName",
                        "src": "7186:6:26"
                      }
                    ],
                    "id": 9393,
                    "name": "VariableDeclaration",
                    "src": "7186:14:26"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 9534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9394,
                        "name": "ElementaryTypeName",
                        "src": "7202:7:26"
                      }
                    ],
                    "id": 9395,
                    "name": "VariableDeclaration",
                    "src": "7202:20:26"
                  }
                ],
                "id": 9396,
                "name": "ParameterList",
                "src": "7185:38:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 9534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 9397,
                        "name": "ElementaryTypeName",
                        "src": "7247:4:26"
                      }
                    ],
                    "id": 9398,
                    "name": "VariableDeclaration",
                    "src": "7247:4:26"
                  }
                ],
                "id": 9399,
                "name": "ParameterList",
                "src": "7246:6:26"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        9401
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 9534,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Organization memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 9124,
                              "type": "struct SimpleICO.Organization storage pointer"
                            },
                            "id": 9400,
                            "name": "UserDefinedTypeName",
                            "src": "7263:12:26"
                          }
                        ],
                        "id": 9401,
                        "name": "VariableDeclaration",
                        "src": "7263:23:26"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9141,
                              "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                              "value": "organizationsICOInfo"
                            },
                            "id": 9402,
                            "name": "Identifier",
                            "src": "7289:20:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9393,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 9403,
                            "name": "Identifier",
                            "src": "7310:7:26"
                          }
                        ],
                        "id": 9404,
                        "name": "IndexAccess",
                        "src": "7289:29:26"
                      }
                    ],
                    "id": 9405,
                    "name": "VariableDeclarationStatement",
                    "src": "7263:55:26"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9407
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 9534,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 9137,
                              "type": "struct SimpleICO.Parameters storage pointer"
                            },
                            "id": 9406,
                            "name": "UserDefinedTypeName",
                            "src": "7328:10:26"
                          }
                        ],
                        "id": 9407,
                        "name": "VariableDeclaration",
                        "src": "7328:24:26"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9145,
                              "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 9408,
                            "name": "Identifier",
                            "src": "7355:10:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 9117,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9401,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 9409,
                                "name": "Identifier",
                                "src": "7366:3:26"
                              }
                            ],
                            "id": 9410,
                            "name": "MemberAccess",
                            "src": "7366:14:26"
                          }
                        ],
                        "id": 9411,
                        "name": "IndexAccess",
                        "src": "7355:26:26"
                      }
                    ],
                    "id": 9412,
                    "name": "VariableDeclarationStatement",
                    "src": "7328:53:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9413,
                            "name": "Identifier",
                            "src": "7424:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bool",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9391,
                                  "type": "function (address) view returns (bool)",
                                  "value": "isActive"
                                },
                                "id": 9414,
                                "name": "Identifier",
                                "src": "7432:8:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9393,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 9415,
                                "name": "Identifier",
                                "src": "7441:7:26"
                              }
                            ],
                            "id": 9416,
                            "name": "FunctionCall",
                            "src": "7432:17:26"
                          }
                        ],
                        "id": 9417,
                        "name": "FunctionCall",
                        "src": "7424:26:26"
                      }
                    ],
                    "id": 9418,
                    "name": "ExpressionStatement",
                    "src": "7424:26:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 12014,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 9419,
                            "name": "Identifier",
                            "src": "7497:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!",
                              "prefix": true,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "isHalted",
                                  "referencedDeclaration": 9123,
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9401,
                                      "type": "struct SimpleICO.Organization memory",
                                      "value": "org"
                                    },
                                    "id": 9420,
                                    "name": "Identifier",
                                    "src": "7506:3:26"
                                  }
                                ],
                                "id": 9421,
                                "name": "MemberAccess",
                                "src": "7506:12:26"
                              }
                            ],
                            "id": 9422,
                            "name": "UnaryOperation",
                            "src": "7505:13:26"
                          }
                        ],
                        "id": 9423,
                        "name": "FunctionCall",
                        "src": "7497:22:26"
                      }
                    ],
                    "id": 9424,
                    "name": "ExpressionStatement",
                    "src": "7497:22:26"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "incomingEther",
                          "scope": 9534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 9425,
                            "name": "ElementaryTypeName",
                            "src": "7531:4:26"
                          }
                        ],
                        "id": 9426,
                        "name": "VariableDeclaration",
                        "src": "7531:18:26"
                      }
                    ],
                    "id": 9427,
                    "name": "VariableDeclarationStatement",
                    "src": "7531:18:26"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "change",
                          "scope": 9534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 9428,
                            "name": "ElementaryTypeName",
                            "src": "7559:4:26"
                          }
                        ],
                        "id": 9429,
                        "name": "VariableDeclaration",
                        "src": "7559:11:26"
                      }
                    ],
                    "id": 9430,
                    "name": "VariableDeclarationStatement",
                    "src": "7559:11:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": ">",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "value",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 9431,
                                "name": "Identifier",
                                "src": "7629:3:26"
                              }
                            ],
                            "id": 9432,
                            "name": "MemberAccess",
                            "src": "7629:9:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sub",
                                  "referencedDeclaration": 11340,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "cap",
                                          "referencedDeclaration": 9126,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 9407,
                                              "type": "struct SimpleICO.Parameters memory",
                                              "value": "params"
                                            },
                                            "id": 9433,
                                            "name": "Identifier",
                                            "src": "7642:6:26"
                                          }
                                        ],
                                        "id": 9434,
                                        "name": "MemberAccess",
                                        "src": "7642:10:26"
                                      }
                                    ],
                                    "id": 9435,
                                    "name": "TupleExpression",
                                    "src": "7641:12:26"
                                  }
                                ],
                                "id": 9436,
                                "name": "MemberAccess",
                                "src": "7641:16:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "totalEthRaised",
                                  "referencedDeclaration": 9121,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9401,
                                      "type": "struct SimpleICO.Organization memory",
                                      "value": "org"
                                    },
                                    "id": 9437,
                                    "name": "Identifier",
                                    "src": "7658:3:26"
                                  }
                                ],
                                "id": 9438,
                                "name": "MemberAccess",
                                "src": "7658:18:26"
                              }
                            ],
                            "id": 9439,
                            "name": "FunctionCall",
                            "src": "7641:36:26"
                          }
                        ],
                        "id": 9440,
                        "name": "BinaryOperation",
                        "src": "7629:48:26"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9426,
                                      "type": "uint256",
                                      "value": "incomingEther"
                                    },
                                    "id": 9441,
                                    "name": "Identifier",
                                    "src": "7694:13:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "uint256",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "sub",
                                          "referencedDeclaration": 11340,
                                          "type": "function (uint256,uint256) pure returns (uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isInlineArray": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "cap",
                                                  "referencedDeclaration": 9126,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 9407,
                                                      "type": "struct SimpleICO.Parameters memory",
                                                      "value": "params"
                                                    },
                                                    "id": 9442,
                                                    "name": "Identifier",
                                                    "src": "7711:6:26"
                                                  }
                                                ],
                                                "id": 9443,
                                                "name": "MemberAccess",
                                                "src": "7711:10:26"
                                              }
                                            ],
                                            "id": 9444,
                                            "name": "TupleExpression",
                                            "src": "7710:12:26"
                                          }
                                        ],
                                        "id": 9445,
                                        "name": "MemberAccess",
                                        "src": "7710:16:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "totalEthRaised",
                                          "referencedDeclaration": 9121,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 9401,
                                              "type": "struct SimpleICO.Organization memory",
                                              "value": "org"
                                            },
                                            "id": 9446,
                                            "name": "Identifier",
                                            "src": "7727:3:26"
                                          }
                                        ],
                                        "id": 9447,
                                        "name": "MemberAccess",
                                        "src": "7727:18:26"
                                      }
                                    ],
                                    "id": 9448,
                                    "name": "FunctionCall",
                                    "src": "7710:36:26"
                                  }
                                ],
                                "id": 9449,
                                "name": "Assignment",
                                "src": "7694:52:26"
                              }
                            ],
                            "id": 9450,
                            "name": "ExpressionStatement",
                            "src": "7694:52:26"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9429,
                                      "type": "uint256",
                                      "value": "change"
                                    },
                                    "id": 9451,
                                    "name": "Identifier",
                                    "src": "7760:6:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "uint256",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "sub",
                                          "referencedDeclaration": 11340,
                                          "type": "function (uint256,uint256) pure returns (uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isInlineArray": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "value",
                                                  "referencedDeclaration": null,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 12011,
                                                      "type": "msg",
                                                      "value": "msg"
                                                    },
                                                    "id": 9452,
                                                    "name": "Identifier",
                                                    "src": "7770:3:26"
                                                  }
                                                ],
                                                "id": 9453,
                                                "name": "MemberAccess",
                                                "src": "7770:9:26"
                                              }
                                            ],
                                            "id": 9454,
                                            "name": "TupleExpression",
                                            "src": "7769:11:26"
                                          }
                                        ],
                                        "id": 9455,
                                        "name": "MemberAccess",
                                        "src": "7769:15:26"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9426,
                                          "type": "uint256",
                                          "value": "incomingEther"
                                        },
                                        "id": 9456,
                                        "name": "Identifier",
                                        "src": "7785:13:26"
                                      }
                                    ],
                                    "id": 9457,
                                    "name": "FunctionCall",
                                    "src": "7769:30:26"
                                  }
                                ],
                                "id": 9458,
                                "name": "Assignment",
                                "src": "7760:39:26"
                              }
                            ],
                            "id": 9459,
                            "name": "ExpressionStatement",
                            "src": "7760:39:26"
                          }
                        ],
                        "id": 9460,
                        "name": "Block",
                        "src": "7680:130:26"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9426,
                                      "type": "uint256",
                                      "value": "incomingEther"
                                    },
                                    "id": 9461,
                                    "name": "Identifier",
                                    "src": "7830:13:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "value",
                                      "referencedDeclaration": null,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 12011,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 9462,
                                        "name": "Identifier",
                                        "src": "7846:3:26"
                                      }
                                    ],
                                    "id": 9463,
                                    "name": "MemberAccess",
                                    "src": "7846:9:26"
                                  }
                                ],
                                "id": 9464,
                                "name": "Assignment",
                                "src": "7830:25:26"
                              }
                            ],
                            "id": 9465,
                            "name": "ExpressionStatement",
                            "src": "7830:25:26"
                          }
                        ],
                        "id": 9466,
                        "name": "Block",
                        "src": "7816:50:26"
                      }
                    ],
                    "id": 9467,
                    "name": "IfStatement",
                    "src": "7624:242:26"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9469
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "tokens",
                          "scope": 9534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 9468,
                            "name": "ElementaryTypeName",
                            "src": "7875:4:26"
                          }
                        ],
                        "id": 9469,
                        "name": "VariableDeclaration",
                        "src": "7875:11:26"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "mul",
                              "referencedDeclaration": 11302,
                              "type": "function (uint256,uint256) pure returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9426,
                                  "type": "uint256",
                                  "value": "incomingEther"
                                },
                                "id": 9470,
                                "name": "Identifier",
                                "src": "7889:13:26"
                              }
                            ],
                            "id": 9471,
                            "name": "MemberAccess",
                            "src": "7889:17:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "price",
                              "referencedDeclaration": 9128,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9407,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 9472,
                                "name": "Identifier",
                                "src": "7907:6:26"
                              }
                            ],
                            "id": 9473,
                            "name": "MemberAccess",
                            "src": "7907:12:26"
                          }
                        ],
                        "id": 9474,
                        "name": "FunctionCall",
                        "src": "7889:31:26"
                      }
                    ],
                    "id": 9475,
                    "name": "VariableDeclarationStatement",
                    "src": "7875:45:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "transfer",
                              "referencedDeclaration": null,
                              "type": "function (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "beneficiary",
                                  "referencedDeclaration": 9134,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9407,
                                      "type": "struct SimpleICO.Parameters memory",
                                      "value": "params"
                                    },
                                    "id": 9476,
                                    "name": "Identifier",
                                    "src": "8014:6:26"
                                  }
                                ],
                                "id": 9479,
                                "name": "MemberAccess",
                                "src": "8014:18:26"
                              }
                            ],
                            "id": 9480,
                            "name": "MemberAccess",
                            "src": "8014:27:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9426,
                              "type": "uint256",
                              "value": "incomingEther"
                            },
                            "id": 9481,
                            "name": "Identifier",
                            "src": "8042:13:26"
                          }
                        ],
                        "id": 9482,
                        "name": "FunctionCall",
                        "src": "8014:42:26"
                      }
                    ],
                    "id": 9483,
                    "name": "ExpressionStatement",
                    "src": "8014:42:26"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        9485
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controller",
                          "scope": 9534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract ControllerInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "ControllerInterface",
                              "referencedDeclaration": 5172,
                              "type": "contract ControllerInterface"
                            },
                            "id": 9484,
                            "name": "UserDefinedTypeName",
                            "src": "8067:19:26"
                          }
                        ],
                        "id": 9485,
                        "name": "VariableDeclaration",
                        "src": "8067:30:26"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract ControllerInterface",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 5172,
                              "type": "type(contract ControllerInterface)",
                              "value": "ControllerInterface"
                            },
                            "id": 9486,
                            "name": "Identifier",
                            "src": "8100:19:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "arguments": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "owner",
                                  "referencedDeclaration": 11393,
                                  "type": "function () view external returns (address)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9393,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 9487,
                                    "name": "Identifier",
                                    "src": "8120:7:26"
                                  }
                                ],
                                "id": 9488,
                                "name": "MemberAccess",
                                "src": "8120:13:26"
                              }
                            ],
                            "id": 9489,
                            "name": "FunctionCall",
                            "src": "8120:15:26"
                          }
                        ],
                        "id": 9490,
                        "name": "FunctionCall",
                        "src": "8100:36:26"
                      }
                    ],
                    "id": 9491,
                    "name": "VariableDeclarationStatement",
                    "src": "8067:69:26"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!",
                          "prefix": true,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bool",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "mintTokens",
                                  "referencedDeclaration": 4995,
                                  "type": "function (uint256,address,address) external returns (bool)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9485,
                                      "type": "contract ControllerInterface",
                                      "value": "controller"
                                    },
                                    "id": 9492,
                                    "name": "Identifier",
                                    "src": "8151:10:26"
                                  }
                                ],
                                "id": 9493,
                                "name": "MemberAccess",
                                "src": "8151:21:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9469,
                                  "type": "uint256",
                                  "value": "tokens"
                                },
                                "id": 9494,
                                "name": "Identifier",
                                "src": "8173:6:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9395,
                                  "type": "address",
                                  "value": "_beneficiary"
                                },
                                "id": 9495,
                                "name": "Identifier",
                                "src": "8181:12:26"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_Avatar_$3873",
                                          "typeString": "contract Avatar"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 9496,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "8194:7:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9393,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 9497,
                                    "name": "Identifier",
                                    "src": "8202:7:26"
                                  }
                                ],
                                "id": 9498,
                                "name": "FunctionCall",
                                "src": "8194:16:26"
                              }
                            ],
                            "id": 9499,
                            "name": "FunctionCall",
                            "src": "8151:60:26"
                          }
                        ],
                        "id": 9500,
                        "name": "UnaryOperation",
                        "src": "8150:61:26"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        null
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12015,
                                      "type": "function () pure",
                                      "value": "revert"
                                    },
                                    "id": 9501,
                                    "name": "Identifier",
                                    "src": "8227:6:26"
                                  }
                                ],
                                "id": 9502,
                                "name": "FunctionCall",
                                "src": "8227:8:26"
                              }
                            ],
                            "id": 9503,
                            "name": "ExpressionStatement",
                            "src": "8227:8:26"
                          }
                        ],
                        "id": 9504,
                        "name": "Block",
                        "src": "8213:33:26"
                      }
                    ],
                    "id": 9505,
                    "name": "IfStatement",
                    "src": "8146:100:26"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9429,
                              "type": "uint256",
                              "value": "change"
                            },
                            "id": 9506,
                            "name": "Identifier",
                            "src": "8259:6:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 9507,
                            "name": "Literal",
                            "src": "8269:1:26"
                          }
                        ],
                        "id": 9508,
                        "name": "BinaryOperation",
                        "src": "8259:11:26"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "transfer",
                                      "referencedDeclaration": null,
                                      "type": "function (uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 9395,
                                          "type": "address",
                                          "value": "_beneficiary"
                                        },
                                        "id": 9509,
                                        "name": "Identifier",
                                        "src": "8286:12:26"
                                      }
                                    ],
                                    "id": 9511,
                                    "name": "MemberAccess",
                                    "src": "8286:21:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9429,
                                      "type": "uint256",
                                      "value": "change"
                                    },
                                    "id": 9512,
                                    "name": "Identifier",
                                    "src": "8308:6:26"
                                  }
                                ],
                                "id": 9513,
                                "name": "FunctionCall",
                                "src": "8286:29:26"
                              }
                            ],
                            "id": 9514,
                            "name": "ExpressionStatement",
                            "src": "8286:29:26"
                          }
                        ],
                        "id": 9515,
                        "name": "Block",
                        "src": "8272:54:26"
                      }
                    ],
                    "id": 9516,
                    "name": "IfStatement",
                    "src": "8255:71:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "+=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "totalEthRaised",
                              "referencedDeclaration": 9121,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SimpleICO.Organization storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9141,
                                      "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                      "value": "organizationsICOInfo"
                                    },
                                    "id": 9517,
                                    "name": "Identifier",
                                    "src": "8414:20:26"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9393,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 9518,
                                    "name": "Identifier",
                                    "src": "8435:7:26"
                                  }
                                ],
                                "id": 9519,
                                "name": "IndexAccess",
                                "src": "8414:29:26"
                              }
                            ],
                            "id": 9520,
                            "name": "MemberAccess",
                            "src": "8414:44:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9426,
                              "type": "uint256",
                              "value": "incomingEther"
                            },
                            "id": 9521,
                            "name": "Identifier",
                            "src": "8462:13:26"
                          }
                        ],
                        "id": 9522,
                        "name": "Assignment",
                        "src": "8414:61:26"
                      }
                    ],
                    "id": 9523,
                    "name": "ExpressionStatement",
                    "src": "8414:61:26"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3873",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9155,
                              "type": "function (address,address,uint256,uint256)",
                              "value": "DonationReceived"
                            },
                            "id": 9524,
                            "name": "Identifier",
                            "src": "8485:16:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9393,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 9525,
                            "name": "Identifier",
                            "src": "8502:7:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9395,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 9526,
                            "name": "Identifier",
                            "src": "8511:12:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9426,
                              "type": "uint256",
                              "value": "incomingEther"
                            },
                            "id": 9527,
                            "name": "Identifier",
                            "src": "8525:13:26"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9469,
                              "type": "uint256",
                              "value": "tokens"
                            },
                            "id": 9528,
                            "name": "Identifier",
                            "src": "8540:6:26"
                          }
                        ],
                        "id": 9529,
                        "name": "FunctionCall",
                        "src": "8485:62:26"
                      }
                    ],
                    "id": 9530,
                    "name": "ExpressionStatement",
                    "src": "8485:62:26"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 9399
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 9469,
                          "type": "uint256",
                          "value": "tokens"
                        },
                        "id": 9531,
                        "name": "Identifier",
                        "src": "8564:6:26"
                      }
                    ],
                    "id": 9532,
                    "name": "Return",
                    "src": "8557:13:26"
                  }
                ],
                "id": 9533,
                "name": "Block",
                "src": "7253:1324:26"
              }
            ],
            "id": 9534,
            "name": "FunctionDefinition",
            "src": "7170:1407:26"
          }
        ],
        "id": 9535,
        "name": "ContractDefinition",
        "src": "1423:7156:26"
      }
    ],
    "id": 9536,
    "name": "SourceUnit",
    "src": "0:8580:26"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.065Z"
}