{
  "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": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a031990911617905561111e8061003b6000396000f3006060604052600436106100ab5763ffffffff60e060020a6000350416630250680481146100b05780630d6099391461010a57806321bea7cc1461014d5780632ac2af53146101675780634b9f69b81461017f5780634eb09bf4146101d25780638da5cb5b146102035780639f8a13d714610232578063bdbb829d14610265578063dd0b281e14610284578063e270bc81146102a3578063f2fde38b146102c2578063f98e87ba146102e1575b600080fd5b34156100bb57600080fd5b6100c66004356102f4565b60405195865260208601949094526040808601939093526060850191909152600160a060020a03908116608085015290911660a083015260c0909101905180910390f35b341561011557600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a43516610338565b60405190815260200160405180910390f35b61013b600160a060020a0360043581169060243516610440565b341561017257600080fd5b61017d600435610766565b005b341561018a57600080fd5b61019e600160a060020a0360043516610786565b604051938452600160a060020a03909216602084015260408084019190915290151560608301526080909101905180910390f35b34156101dd57600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a435166107bb565b341561020e57600080fd5b610216610824565b604051600160a060020a03909116815260200160405180910390f35b341561023d57600080fd5b610251600160a060020a0360043516610833565b604051901515815260200160405180910390f35b341561027057600080fd5b61017d600160a060020a0360043516610950565b341561028f57600080fd5b61017d600160a060020a03600435166109b0565b34156102ae57600080fd5b61017d600160a060020a0360043516610ab8565b34156102cd57600080fd5b61017d600160a060020a0360043516610b15565b34156102ec57600080fd5b61013b610bb0565b60036020819052600091825260409091208054600182015460028301549383015460048401546005909401549294919391929091600160a060020a03908116911686565b6000806103498888888888886107bb565b60008181526003602052604090205490915015156104355760c0604051908101604090815289825260208083018a905281830189905260608301889052600160a060020a038088166080850152861660a0840152600084815260039091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151600591909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b979650505050505050565b600061044a610cdf565b610452610d06565b600160a060020a038516600090815260026020526040808220829182918291608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529650600087518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a0820152945061052189610833565b151561052c57600080fd5b85606001511561053b57600080fd5b610551866040015186519063ffffffff610bb616565b3411156105875761056e866040015186519063ffffffff610bb616565b9350610580348563ffffffff610bb616565b925061058b565b3493505b6105a08560200151859063ffffffff610bc816565b91508460800151600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156105d757600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061d57600080fd5b6102c65a03f1151561062e57600080fd5b5050506040518051915050600160a060020a038116636407e432838a8c60006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156106a057600080fd5b6102c65a03f115156106b157600080fd5b5050506040518051905015156106c657600080fd5b82156106fd57600160a060020a03881683156108fc0284604051600060405180830381858888f1935050505015156106fd57600080fd5b600160a060020a03808a166000818152600260208190526040918290200180548801905584928b1691907fce9409ee3dc10e35de83dda0f830e4a13935452188fe71a956b850ecb839425f9088905190815260200160405180910390a450979650505050505050565b60005433600160a060020a0390811691161461078157600080fd5b600155565b600260208190526000918252604090912080546001820154928201546003909201549092600160a060020a0316919060ff1684565b6000868686868686604051958652602086019490945260408086019390935260608501919091526c01000000000000000000000000600160a060020a03918216810260808601529216909102609483015260a89091019051809103902090509695505050505050565b600054600160a060020a031681565b600061083d610cdf565b610845610d06565b600160a060020a0384166000908152600260205260409081902090608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529250600083518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a08201529050805182604001511061091c5760009250610949565b806060015143106109305760009250610949565b806040015143116109445760009250610949565b600192505b5050919050565b600160a060020a038082166000908152600260209081526040808320548352600390915290206005015433821691161461098957600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19166001179055565b6109b8610cdf565b6109c182610833565b156109cb57600080fd5b6109d482610bfe565b8152600360008251815260208101919091526040016000205415156109f857600080fd5b8130610a02610d4f565b600160a060020a0392831681529116602082015260409081019051809103906000f0801515610a3057600080fd5b600160a060020a039081166020808401919091529083166000908152600290915260409020819081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600391909101805460ff1916911515919091179055505050565b600160a060020a0380821660009081526002602090815260408083205483526003909152902060050154338216911614610af157600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19169055565b60005433600160a060020a03908116911614610b3057600080fd5b600160a060020a0381161515610b4557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600082821115610bc257fe5b50900390565b600080831515610bdb5760009150610bf7565b50828202828482811515610beb57fe5b0414610bf357fe5b8091505b5092915050565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c4657600080fd5b6102c65a03f11515610c5757600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610cbf57600080fd5b6102c65a03f11515610cd057600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b60c060405190810160405280600081526020016000815260200160008152602001600081526020016000600160a060020a031681526020016000600160a060020a031681525090565b60405161039380610d608339019056006060604052341561000f57600080fd5b604051604080610393833981016040528080519190602001805160008054600160a060020a03338116600160a060020a0319928316179092556001805496831696821696909617909555600280549190921694169390931790925550506103188061007b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a723058204fc03b3630a868c2788392a243077d6b2e5461a6ec1f1b359270eb5c7e43dfc40029a165627a7a72305820b02d6607d7d2f6dc9f193fb9eb48ab9346382b99515455dec8fe54fe1a8f50d10029",
  "deployedBytecode": "0x6060604052600436106100ab5763ffffffff60e060020a6000350416630250680481146100b05780630d6099391461010a57806321bea7cc1461014d5780632ac2af53146101675780634b9f69b81461017f5780634eb09bf4146101d25780638da5cb5b146102035780639f8a13d714610232578063bdbb829d14610265578063dd0b281e14610284578063e270bc81146102a3578063f2fde38b146102c2578063f98e87ba146102e1575b600080fd5b34156100bb57600080fd5b6100c66004356102f4565b60405195865260208601949094526040808601939093526060850191909152600160a060020a03908116608085015290911660a083015260c0909101905180910390f35b341561011557600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a43516610338565b60405190815260200160405180910390f35b61013b600160a060020a0360043581169060243516610440565b341561017257600080fd5b61017d600435610766565b005b341561018a57600080fd5b61019e600160a060020a0360043516610786565b604051938452600160a060020a03909216602084015260408084019190915290151560608301526080909101905180910390f35b34156101dd57600080fd5b61013b600435602435604435606435600160a060020a0360843581169060a435166107bb565b341561020e57600080fd5b610216610824565b604051600160a060020a03909116815260200160405180910390f35b341561023d57600080fd5b610251600160a060020a0360043516610833565b604051901515815260200160405180910390f35b341561027057600080fd5b61017d600160a060020a0360043516610950565b341561028f57600080fd5b61017d600160a060020a03600435166109b0565b34156102ae57600080fd5b61017d600160a060020a0360043516610ab8565b34156102cd57600080fd5b61017d600160a060020a0360043516610b15565b34156102ec57600080fd5b61013b610bb0565b60036020819052600091825260409091208054600182015460028301549383015460048401546005909401549294919391929091600160a060020a03908116911686565b6000806103498888888888886107bb565b60008181526003602052604090205490915015156104355760c0604051908101604090815289825260208083018a905281830189905260608301889052600160a060020a038088166080850152861660a0840152600084815260039091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151600591909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b979650505050505050565b600061044a610cdf565b610452610d06565b600160a060020a038516600090815260026020526040808220829182918291608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529650600087518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a0820152945061052189610833565b151561052c57600080fd5b85606001511561053b57600080fd5b610551866040015186519063ffffffff610bb616565b3411156105875761056e866040015186519063ffffffff610bb616565b9350610580348563ffffffff610bb616565b925061058b565b3493505b6105a08560200151859063ffffffff610bc816565b91508460800151600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156105d757600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061d57600080fd5b6102c65a03f1151561062e57600080fd5b5050506040518051915050600160a060020a038116636407e432838a8c60006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156106a057600080fd5b6102c65a03f115156106b157600080fd5b5050506040518051905015156106c657600080fd5b82156106fd57600160a060020a03881683156108fc0284604051600060405180830381858888f1935050505015156106fd57600080fd5b600160a060020a03808a166000818152600260208190526040918290200180548801905584928b1691907fce9409ee3dc10e35de83dda0f830e4a13935452188fe71a956b850ecb839425f9088905190815260200160405180910390a450979650505050505050565b60005433600160a060020a0390811691161461078157600080fd5b600155565b600260208190526000918252604090912080546001820154928201546003909201549092600160a060020a0316919060ff1684565b6000868686868686604051958652602086019490945260408086019390935260608501919091526c01000000000000000000000000600160a060020a03918216810260808601529216909102609483015260a89091019051809103902090509695505050505050565b600054600160a060020a031681565b600061083d610cdf565b610845610d06565b600160a060020a0384166000908152600260205260409081902090608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039182015460ff16151560608201529250600083518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a08201529050805182604001511061091c5760009250610949565b806060015143106109305760009250610949565b806040015143116109445760009250610949565b600192505b5050919050565b600160a060020a038082166000908152600260209081526040808320548352600390915290206005015433821691161461098957600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19166001179055565b6109b8610cdf565b6109c182610833565b156109cb57600080fd5b6109d482610bfe565b8152600360008251815260208101919091526040016000205415156109f857600080fd5b8130610a02610d4f565b600160a060020a0392831681529116602082015260409081019051809103906000f0801515610a3057600080fd5b600160a060020a039081166020808401919091529083166000908152600290915260409020819081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600391909101805460ff1916911515919091179055505050565b600160a060020a0380821660009081526002602090815260408083205483526003909152902060050154338216911614610af157600080fd5b600160a060020a03166000908152600260205260409020600301805460ff19169055565b60005433600160a060020a03908116911614610b3057600080fd5b600160a060020a0381161515610b4557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600082821115610bc257fe5b50900390565b600080831515610bdb5760009150610bf7565b50828202828482811515610beb57fe5b0414610bf357fe5b8091505b5092915050565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c4657600080fd5b6102c65a03f11515610c5757600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610cbf57600080fd5b6102c65a03f11515610cd057600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b60c060405190810160405280600081526020016000815260200160008152602001600081526020016000600160a060020a031681526020016000600160a060020a031681525090565b60405161039380610d608339019056006060604052341561000f57600080fd5b604051604080610393833981016040528080519190602001805160008054600160a060020a03338116600160a060020a0319928316179092556001805496831696821696909617909555600280549190921694169390931790925550506103188061007b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a723058204fc03b3630a868c2788392a243077d6b2e5461a6ec1f1b359270eb5c7e43dfc40029a165627a7a72305820b02d6607d7d2f6dc9f193fb9eb48ab9346382b99515455dec8fe54fe1a8f50d10029",
  "sourceMap": "1423:7156:24:-;;;2761:30;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;1423:7156:24;;;;;;",
  "deployedSourceMap": "1423:7156:24:-;;;;;;;;;-1:-1:-1;;;1423:7156:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2530:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2530:46:24;;;;;;;;;;;;;;;;;;;;;;;;;3221:770;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3221:770:24;;;;;;;;;;;;;;;;;;;;;;;;;7170:1407;;-1:-1:-1;;;;;7170:1407:24;;;;;;;;;;455:157:25;;;;;;;;;;;;;;;;2465:58:24;;;;;;;;;;-1:-1:-1;;;;;2465:58:24;;;;;;;;;;;-1:-1:-1;;;;;2465:58:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4396:410;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4396:410:24;;;;;;;;;;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;6298:474:24;;;;;;;;;;-1:-1:-1;;;;;6298:474:24;;;;;;;;;;;;;;;;;;;;;;5375:194;;;;;;;;;;-1:-1:-1;;;;;5375:194:24;;;;;4908:347;;;;;;;;;;-1:-1:-1;;;;;4908:347:24;;;;;5691:197;;;;;;;;;;-1:-1:-1;;;;;5691:197:24;;;;;834:169:33;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;2530:46:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2530:46:24;;;;;;:::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:24;3638:320;;;3714:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3714:233:24;;;;;;;;;;;;;-1:-1:-1;3689:22:24;;;:10;:22;;;;3714:233;3689:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3689:258:24;-1:-1:-1;;;;;3689:258:24;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3689:258:24;-1:-1:-1;;;;;3689:258:24;;;;;;;;;-1:-1:-1;3638:320:24;3974:10;3221:770;-1:-1:-1;;;;;;;3221:770:24:o;7170:1407::-;7247:4;7263:23;;:::i;:::-;7328:24;;:::i;:::-;-1:-1:-1;;;;;7289:29:24;;7531:18;7289:29;;;:20;:29;;;;;;7531:18;;;;;;7263:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7263:55:24;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7263:55:24;;7366:14;7355:26;;;;;;;;;;;;;;;;7328:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7328:53:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7432:17:24;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:24;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:24;:42;;;;8042:13;8014:42;;;;;;;;;;;;;;;;;;;;;;;;;;8120:7;-1:-1:-1;;;;;8120:13:24;;:15;;;;;;;;;;;-1:-1:-1;;;8120:15:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;8151:21:24;;;8173:6;8181:12;8202:7;8151:60;;;;;;;;-1:-1:-1;;;8151:60:24;;;;;;;;;;;;;-1:-1:-1;;;;;8151:60:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8150:61;8146:100;;;8227:8;;;8146:100;8259:11;;8255:71;;-1:-1:-1;;;;;8286:21:24;;:29;;;;8308:6;8286:29;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8414:29:24;;;;;;;:20;:29;;;;;;;;;:44;:61;;;;;;8540:6;;8485:62;;;8414:29;8485:62;;8462:13;;8485:62;;;;;;;;;;;;;-1:-1:-1;8564:6:24;7170:1407;-1:-1:-1;;;;;;;7170:1407:24:o;455:157:25:-;654:5:33;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;569:16:25;:36;455:157::o;2465:58:24:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2465:58:24;;;;;;:::o;4396:410::-;4617:7;4670:4;4688:6;4708:11;4733:9;4756:12;4782:6;4647:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4647:151:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4639:160;;4396:410;;;;;;;;:::o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;6298:474:24:-;6357:4;6373:23;;:::i;:::-;6438:24;;:::i;:::-;-1:-1:-1;;;;;6399:29:24;;;;;;:20;:29;;;;;;;;6373:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6373:55:24;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6373:55:24;;6476:14;6465:26;;;;;;;;;;;;;;;;6438:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6438:53:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6438:53:24;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:24;;;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:24;;;;;:20;:29;;;;;:38;;:45;;-1:-1:-1;;5517:45:24;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:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5143:60:24;;;:21;;;;:60;;;;5213:29;;;;;;;:20;:29;;;;;;5143:3;;;5213:35;;;;;;;;;;;;-1:-1:-1;;5213:35:24;-1:-1:-1;;;;;5213:35:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5213:35:24;;;;;;;;;;-1:-1:-1;;;4908:347:24:o;5691:197::-;-1:-1:-1;;;;;5777:29:24;;;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:24;5876:5;5835:29;;;:20;:29;;;;;:38;;:46;;-1:-1:-1;;5835:46:24;;;5691:197::o;834:169:33:-;654:5;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:33;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:33;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:33;-1:-1:-1;;;;;982:16:33;;;;;;;;;;834:169::o;345:31:25:-;;;;:::o;584:110:31:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:31;;;584:110::o;138:173::-;196:7;;215:6;;211:35;;;238:1;231:8;;;;211:35;-1:-1:-1;263:5:31;;;267:1;263;:5;281;;;;;;;;:10;274:18;;;;305:1;298:8;;138:173;;;;;;:::o;707:191:25:-;786:7;832;-1:-1:-1;;;;;832:13:25;;:15;;;;;;;;;;;-1:-1:-1;;;832:15:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;812:56:25;;869:4;882:7;812:79;;;;;;;;-1:-1:-1;;;812:79:25;;;;;;-1:-1:-1;;;;;812:79:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;707:191;-1:-1:-1;;;707:191:25:o;1423:7156:24:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1423:7156:24;;;;;;-1:-1:-1;;;;;1423:7156:24;;;;;:::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": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/SimpleICO.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/SimpleICO.sol",
      "exportedSymbols": {
        "MirrorContractICO": [
          7990
        ],
        "SimpleICO": [
          8415
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 7935,
        "name": "PragmaDirective",
        "src": "0:24:24"
      },
      {
        "attributes": {
          "SourceUnit": 8466,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 8416,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7936,
        "name": "ImportDirective",
        "src": "26:31:24"
      },
      {
        "attributes": {
          "SourceUnit": 10302,
          "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "file": "zeppelin-solidity/contracts/ownership/Ownable.sol",
          "scope": 8416,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7937,
        "name": "ImportDirective",
        "src": "58:59:24"
      },
      {
        "attributes": {
          "SourceUnit": 10222,
          "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol",
          "file": "zeppelin-solidity/contracts/math/SafeMath.sol",
          "scope": 8416,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7938,
        "name": "ImportDirective",
        "src": "118:55:24"
      },
      {
        "attributes": {
          "SourceUnit": 10124,
          "absolutePath": "zeppelin-solidity/contracts/lifecycle/Destructible.sol",
          "file": "zeppelin-solidity/contracts/lifecycle/Destructible.sol",
          "scope": 8416,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7939,
        "name": "ImportDirective",
        "src": "174:64:24"
      },
      {
        "attributes": {
          "contractDependencies": [
            10123,
            10301
          ],
          "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": [
            7990,
            10123,
            10301
          ],
          "name": "MirrorContractICO",
          "scope": 8416
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Destructible",
                  "referencedDeclaration": 10123,
                  "type": "contract Destructible"
                },
                "id": 7940,
                "name": "UserDefinedTypeName",
                "src": "387:12:24"
              }
            ],
            "id": 7941,
            "name": "InheritanceSpecifier",
            "src": "387:12:24"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organization",
              "scope": 7990,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "contract Avatar",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "Avatar",
                  "referencedDeclaration": 3065,
                  "type": "contract Avatar"
                },
                "id": 7942,
                "name": "UserDefinedTypeName",
                "src": "406:6:24"
              }
            ],
            "id": 7943,
            "name": "VariableDeclaration",
            "src": "406:26:24"
          },
          {
            "attributes": {
              "constant": false,
              "name": "simpleICO",
              "scope": 7990,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "contract SimpleICO",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SimpleICO",
                  "referencedDeclaration": 8415,
                  "type": "contract SimpleICO"
                },
                "id": 7944,
                "name": "UserDefinedTypeName",
                "src": "479:9:24"
              }
            ],
            "id": 7945,
            "name": "VariableDeclaration",
            "src": "479:26:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "MirrorContractICO",
              "payable": false,
              "scope": 7990,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_organization",
                      "scope": 7961,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 7946,
                        "name": "UserDefinedTypeName",
                        "src": "741:6:24"
                      }
                    ],
                    "id": 7947,
                    "name": "VariableDeclaration",
                    "src": "741:20:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_simpleICO",
                      "scope": 7961,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract SimpleICO",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "SimpleICO",
                          "referencedDeclaration": 8415,
                          "type": "contract SimpleICO"
                        },
                        "id": 7948,
                        "name": "UserDefinedTypeName",
                        "src": "763:9:24"
                      }
                    ],
                    "id": 7949,
                    "name": "VariableDeclaration",
                    "src": "763:20:24"
                  }
                ],
                "id": 7950,
                "name": "ParameterList",
                "src": "740:44:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7951,
                "name": "ParameterList",
                "src": "792:0:24"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract Avatar"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7943,
                              "type": "contract Avatar",
                              "value": "organization"
                            },
                            "id": 7952,
                            "name": "Identifier",
                            "src": "802:12:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7947,
                              "type": "contract Avatar",
                              "value": "_organization"
                            },
                            "id": 7953,
                            "name": "Identifier",
                            "src": "817:13:24"
                          }
                        ],
                        "id": 7954,
                        "name": "Assignment",
                        "src": "802:28:24"
                      }
                    ],
                    "id": 7955,
                    "name": "ExpressionStatement",
                    "src": "802:28:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract SimpleICO"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7945,
                              "type": "contract SimpleICO",
                              "value": "simpleICO"
                            },
                            "id": 7956,
                            "name": "Identifier",
                            "src": "840:9:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7949,
                              "type": "contract SimpleICO",
                              "value": "_simpleICO"
                            },
                            "id": 7957,
                            "name": "Identifier",
                            "src": "852:10:24"
                          }
                        ],
                        "id": 7958,
                        "name": "Assignment",
                        "src": "840:22:24"
                      }
                    ],
                    "id": 7959,
                    "name": "ExpressionStatement",
                    "src": "840:22:24"
                  }
                ],
                "id": 7960,
                "name": "Block",
                "src": "792:77:24"
              }
            ],
            "id": 7961,
            "name": "FunctionDefinition",
            "src": "714:155:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "",
              "payable": true,
              "scope": 7990,
              "stateMutability": "payable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7962,
                "name": "ParameterList",
                "src": "1035:2:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7963,
                "name": "ParameterList",
                "src": "1053:0:24"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 7964,
                            "name": "Identifier",
                            "src": "1105:7:24"
                          },
                          {
                            "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": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 7965,
                                    "name": "Identifier",
                                    "src": "1113:3:24"
                                  }
                                ],
                                "id": 7966,
                                "name": "MemberAccess",
                                "src": "1113:9:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 7967,
                                "name": "Literal",
                                "src": "1126:1:24"
                              }
                            ],
                            "id": 7968,
                            "name": "BinaryOperation",
                            "src": "1113:14:24"
                          }
                        ],
                        "id": 7969,
                        "name": "FunctionCall",
                        "src": "1105:23:24"
                      }
                    ],
                    "id": 7970,
                    "name": "ExpressionStatement",
                    "src": "1105:23:24"
                  },
                  {
                    "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_$3065",
                                      "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": 8414,
                                          "type": "function (contract Avatar,address) payable external returns (uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7945,
                                              "type": "contract SimpleICO",
                                              "value": "simpleICO"
                                            },
                                            "id": 7971,
                                            "name": "Identifier",
                                            "src": "1187:9:24"
                                          }
                                        ],
                                        "id": 7972,
                                        "name": "MemberAccess",
                                        "src": "1187:16:24"
                                      }
                                    ],
                                    "id": 7973,
                                    "name": "MemberAccess",
                                    "src": "1187:22:24"
                                  },
                                  {
                                    "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": 10867,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 7974,
                                        "name": "Identifier",
                                        "src": "1210:3:24"
                                      }
                                    ],
                                    "id": 7975,
                                    "name": "MemberAccess",
                                    "src": "1210:9:24"
                                  }
                                ],
                                "id": 7976,
                                "name": "FunctionCall",
                                "src": "1187:33:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7943,
                                  "type": "contract Avatar",
                                  "value": "organization"
                                },
                                "id": 7977,
                                "name": "Identifier",
                                "src": "1221:12:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 7978,
                                    "name": "Identifier",
                                    "src": "1235:3:24"
                                  }
                                ],
                                "id": 7979,
                                "name": "MemberAccess",
                                "src": "1235:10:24"
                              }
                            ],
                            "id": 7980,
                            "name": "FunctionCall",
                            "src": "1187:59:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 7981,
                            "name": "Literal",
                            "src": "1250:1:24"
                          }
                        ],
                        "id": 7982,
                        "name": "BinaryOperation",
                        "src": "1187:64:24"
                      },
                      {
                        "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": 10871,
                                      "type": "function () pure",
                                      "value": "revert"
                                    },
                                    "id": 7983,
                                    "name": "Identifier",
                                    "src": "1267:6:24"
                                  }
                                ],
                                "id": 7984,
                                "name": "FunctionCall",
                                "src": "1267:8:24"
                              }
                            ],
                            "id": 7985,
                            "name": "ExpressionStatement",
                            "src": "1267:8:24"
                          }
                        ],
                        "id": 7986,
                        "name": "Block",
                        "src": "1253:33:24"
                      }
                    ],
                    "id": 7987,
                    "name": "IfStatement",
                    "src": "1183:103:24"
                  }
                ],
                "id": 7988,
                "name": "Block",
                "src": "1053:239:24"
              }
            ],
            "id": 7989,
            "name": "FunctionDefinition",
            "src": "1026:266:24"
          }
        ],
        "id": 7990,
        "name": "ContractDefinition",
        "src": "357:937:24"
      },
      {
        "attributes": {
          "contractDependencies": [
            7990,
            8465,
            8484,
            10301
          ],
          "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": [
            8415,
            8465,
            8484,
            10301
          ],
          "name": "SimpleICO",
          "scope": 8416
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8465,
                  "type": "contract UniversalScheme"
                },
                "id": 7991,
                "name": "UserDefinedTypeName",
                "src": "1445:15:24"
              }
            ],
            "id": 7992,
            "name": "InheritanceSpecifier",
            "src": "1445:15:24"
          },
          {
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SafeMath",
                  "referencedDeclaration": 10221,
                  "type": "library SafeMath"
                },
                "id": 7993,
                "name": "UserDefinedTypeName",
                "src": "1473:8:24"
              },
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 7994,
                "name": "ElementaryTypeName",
                "src": "1486:4:24"
              }
            ],
            "id": 7995,
            "name": "UsingForDirective",
            "src": "1467:24:24"
          },
          {
            "attributes": {
              "canonicalName": "SimpleICO.Organization",
              "name": "Organization",
              "scope": 8415,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "paramsHash",
                  "scope": 8004,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 7996,
                    "name": "ElementaryTypeName",
                    "src": "1580:7:24"
                  }
                ],
                "id": 7997,
                "name": "VariableDeclaration",
                "src": "1580:18:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "avatarContractICO",
                  "scope": 8004,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 7998,
                    "name": "ElementaryTypeName",
                    "src": "1701:7:24"
                  }
                ],
                "id": 7999,
                "name": "VariableDeclaration",
                "src": "1701:25:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "totalEthRaised",
                  "scope": 8004,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 8000,
                    "name": "ElementaryTypeName",
                    "src": "1822:4:24"
                  }
                ],
                "id": 8001,
                "name": "VariableDeclaration",
                "src": "1822:19:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "isHalted",
                  "scope": 8004,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 8002,
                    "name": "ElementaryTypeName",
                    "src": "1851:4:24"
                  }
                ],
                "id": 8003,
                "name": "VariableDeclaration",
                "src": "1851:13:24"
              }
            ],
            "id": 8004,
            "name": "StructDefinition",
            "src": "1550:395:24"
          },
          {
            "attributes": {
              "canonicalName": "SimpleICO.Parameters",
              "name": "Parameters",
              "scope": 8415,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "cap",
                  "scope": 8017,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 8005,
                    "name": "ElementaryTypeName",
                    "src": "2082:4:24"
                  }
                ],
                "id": 8006,
                "name": "VariableDeclaration",
                "src": "2082:8:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "price",
                  "scope": 8017,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 8007,
                    "name": "ElementaryTypeName",
                    "src": "2114:4:24"
                  }
                ],
                "id": 8008,
                "name": "VariableDeclaration",
                "src": "2114:10:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "startBlock",
                  "scope": 8017,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 8009,
                    "name": "ElementaryTypeName",
                    "src": "2171:4:24"
                  }
                ],
                "id": 8010,
                "name": "VariableDeclaration",
                "src": "2171:15:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "endBlock",
                  "scope": 8017,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 8011,
                    "name": "ElementaryTypeName",
                    "src": "2196:4:24"
                  }
                ],
                "id": 8012,
                "name": "VariableDeclaration",
                "src": "2196:13:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "beneficiary",
                  "scope": 8017,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 8013,
                    "name": "ElementaryTypeName",
                    "src": "2219:7:24"
                  }
                ],
                "id": 8014,
                "name": "VariableDeclaration",
                "src": "2219:19:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "admin",
                  "scope": 8017,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 8015,
                    "name": "ElementaryTypeName",
                    "src": "2307:7:24"
                  }
                ],
                "id": 8016,
                "name": "VariableDeclaration",
                "src": "2307:13:24"
              }
            ],
            "id": 8017,
            "name": "StructDefinition",
            "src": "2054:310:24"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsICOInfo",
              "scope": 8415,
              "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": 8018,
                    "name": "ElementaryTypeName",
                    "src": "2473:7:24"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Organization",
                      "referencedDeclaration": 8004,
                      "type": "struct SimpleICO.Organization storage pointer"
                    },
                    "id": 8019,
                    "name": "UserDefinedTypeName",
                    "src": "2482:12:24"
                  }
                ],
                "id": 8020,
                "name": "Mapping",
                "src": "2465:30:24"
              }
            ],
            "id": 8021,
            "name": "VariableDeclaration",
            "src": "2465:58:24"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 8415,
              "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": 8022,
                    "name": "ElementaryTypeName",
                    "src": "2538:7:24"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 8017,
                      "type": "struct SimpleICO.Parameters storage pointer"
                    },
                    "id": 8023,
                    "name": "UserDefinedTypeName",
                    "src": "2547:10:24"
                  }
                ],
                "id": 8024,
                "name": "Mapping",
                "src": "2530:28:24"
              }
            ],
            "id": 8025,
            "name": "VariableDeclaration",
            "src": "2530:46:24"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "DonationReceived"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "organization",
                      "scope": 8035,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8026,
                        "name": "ElementaryTypeName",
                        "src": "2606:7:24"
                      }
                    ],
                    "id": 8027,
                    "name": "VariableDeclaration",
                    "src": "2606:28:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_beneficiary",
                      "scope": 8035,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8028,
                        "name": "ElementaryTypeName",
                        "src": "2636:7:24"
                      }
                    ],
                    "id": 8029,
                    "name": "VariableDeclaration",
                    "src": "2636:28:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_incomingEther",
                      "scope": 8035,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8030,
                        "name": "ElementaryTypeName",
                        "src": "2666:4:24"
                      }
                    ],
                    "id": 8031,
                    "name": "VariableDeclaration",
                    "src": "2666:19:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_tokensAmount",
                      "scope": 8035,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8032,
                        "name": "ElementaryTypeName",
                        "src": "2687:4:24"
                      }
                    ],
                    "id": 8033,
                    "name": "VariableDeclaration",
                    "src": "2687:26:24"
                  }
                ],
                "id": 8034,
                "name": "ParameterList",
                "src": "2605:109:24"
              }
            ],
            "id": 8035,
            "name": "EventDefinition",
            "src": "2583:132:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "SimpleICO",
              "payable": false,
              "scope": 8415,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8036,
                "name": "ParameterList",
                "src": "2779:2:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8037,
                "name": "ParameterList",
                "src": "2789:0:24"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 8038,
                "name": "Block",
                "src": "2789:2:24"
              }
            ],
            "id": 8039,
            "name": "FunctionDefinition",
            "src": "2761:30:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 8415,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_cap",
                      "scope": 8091,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8040,
                        "name": "ElementaryTypeName",
                        "src": "3253:4:24"
                      }
                    ],
                    "id": 8041,
                    "name": "VariableDeclaration",
                    "src": "3253:9:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_price",
                      "scope": 8091,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8042,
                        "name": "ElementaryTypeName",
                        "src": "3272:4:24"
                      }
                    ],
                    "id": 8043,
                    "name": "VariableDeclaration",
                    "src": "3272:11:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_startBlock",
                      "scope": 8091,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8044,
                        "name": "ElementaryTypeName",
                        "src": "3293:4:24"
                      }
                    ],
                    "id": 8045,
                    "name": "VariableDeclaration",
                    "src": "3293:16:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_endBlock",
                      "scope": 8091,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8046,
                        "name": "ElementaryTypeName",
                        "src": "3319:4:24"
                      }
                    ],
                    "id": 8047,
                    "name": "VariableDeclaration",
                    "src": "3319:14:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 8091,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8048,
                        "name": "ElementaryTypeName",
                        "src": "3343:7:24"
                      }
                    ],
                    "id": 8049,
                    "name": "VariableDeclaration",
                    "src": "3343:20:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_admin",
                      "scope": 8091,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8050,
                        "name": "ElementaryTypeName",
                        "src": "3373:7:24"
                      }
                    ],
                    "id": 8051,
                    "name": "VariableDeclaration",
                    "src": "3373:14:24"
                  }
                ],
                "id": 8052,
                "name": "ParameterList",
                "src": "3243:150:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8091,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8053,
                        "name": "ElementaryTypeName",
                        "src": "3425:7:24"
                      }
                    ],
                    "id": 8054,
                    "name": "VariableDeclaration",
                    "src": "3425:7:24"
                  }
                ],
                "id": 8055,
                "name": "ParameterList",
                "src": "3424:9:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8057
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 8091,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 8056,
                            "name": "ElementaryTypeName",
                            "src": "3448:7:24"
                          }
                        ],
                        "id": 8057,
                        "name": "VariableDeclaration",
                        "src": "3448:18:24"
                      },
                      {
                        "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": 8119,
                              "type": "function (uint256,uint256,uint256,uint256,address,address) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 8058,
                            "name": "Identifier",
                            "src": "3469:17:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8041,
                              "type": "uint256",
                              "value": "_cap"
                            },
                            "id": 8059,
                            "name": "Identifier",
                            "src": "3500:4:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8043,
                              "type": "uint256",
                              "value": "_price"
                            },
                            "id": 8060,
                            "name": "Identifier",
                            "src": "3518:6:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8045,
                              "type": "uint256",
                              "value": "_startBlock"
                            },
                            "id": 8061,
                            "name": "Identifier",
                            "src": "3538:11:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8047,
                              "type": "uint256",
                              "value": "_endBlock"
                            },
                            "id": 8062,
                            "name": "Identifier",
                            "src": "3563:9:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8049,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 8063,
                            "name": "Identifier",
                            "src": "3586:12:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8051,
                              "type": "address",
                              "value": "_admin"
                            },
                            "id": 8064,
                            "name": "Identifier",
                            "src": "3612:6:24"
                          }
                        ],
                        "id": 8065,
                        "name": "FunctionCall",
                        "src": "3469:159:24"
                      }
                    ],
                    "id": 8066,
                    "name": "VariableDeclarationStatement",
                    "src": "3448:180:24"
                  },
                  {
                    "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": 8006,
                              "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": 8025,
                                      "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 8067,
                                    "name": "Identifier",
                                    "src": "3642:10:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8057,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 8068,
                                    "name": "Identifier",
                                    "src": "3653:10:24"
                                  }
                                ],
                                "id": 8069,
                                "name": "IndexAccess",
                                "src": "3642:22:24"
                              }
                            ],
                            "id": 8070,
                            "name": "MemberAccess",
                            "src": "3642:26:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 8071,
                            "name": "Literal",
                            "src": "3672:1:24"
                          }
                        ],
                        "id": 8072,
                        "name": "BinaryOperation",
                        "src": "3642:31:24"
                      },
                      {
                        "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": 8025,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 8073,
                                        "name": "Identifier",
                                        "src": "3689:10:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8057,
                                          "type": "bytes32",
                                          "value": "paramsHash"
                                        },
                                        "id": 8074,
                                        "name": "Identifier",
                                        "src": "3700:10:24"
                                      }
                                    ],
                                    "id": 8075,
                                    "name": "IndexAccess",
                                    "src": "3689:22:24"
                                  },
                                  {
                                    "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": 8017,
                                          "type": "type(struct SimpleICO.Parameters storage pointer)",
                                          "value": "Parameters"
                                        },
                                        "id": 8076,
                                        "name": "Identifier",
                                        "src": "3714:10:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8041,
                                          "type": "uint256",
                                          "value": "_cap"
                                        },
                                        "id": 8077,
                                        "name": "Identifier",
                                        "src": "3748:4:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8043,
                                          "type": "uint256",
                                          "value": "_price"
                                        },
                                        "id": 8078,
                                        "name": "Identifier",
                                        "src": "3777:6:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8045,
                                          "type": "uint256",
                                          "value": "_startBlock"
                                        },
                                        "id": 8079,
                                        "name": "Identifier",
                                        "src": "3813:11:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8047,
                                          "type": "uint256",
                                          "value": "_endBlock"
                                        },
                                        "id": 8080,
                                        "name": "Identifier",
                                        "src": "3851:9:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8049,
                                          "type": "address",
                                          "value": "_beneficiary"
                                        },
                                        "id": 8081,
                                        "name": "Identifier",
                                        "src": "3890:12:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8051,
                                          "type": "address",
                                          "value": "_admin"
                                        },
                                        "id": 8082,
                                        "name": "Identifier",
                                        "src": "3926:6:24"
                                      }
                                    ],
                                    "id": 8083,
                                    "name": "FunctionCall",
                                    "src": "3714:233:24"
                                  }
                                ],
                                "id": 8084,
                                "name": "Assignment",
                                "src": "3689:258:24"
                              }
                            ],
                            "id": 8085,
                            "name": "ExpressionStatement",
                            "src": "3689:258:24"
                          }
                        ],
                        "id": 8086,
                        "name": "Block",
                        "src": "3675:283:24"
                      }
                    ],
                    "id": 8087,
                    "name": "IfStatement",
                    "src": "3638:320:24"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8055
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 8057,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 8088,
                        "name": "Identifier",
                        "src": "3974:10:24"
                      }
                    ],
                    "id": 8089,
                    "name": "Return",
                    "src": "3967:17:24"
                  }
                ],
                "id": 8090,
                "name": "Block",
                "src": "3438:553:24"
              }
            ],
            "id": 8091,
            "name": "FunctionDefinition",
            "src": "3221:770:24"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 8415,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_cap",
                      "scope": 8119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8092,
                        "name": "ElementaryTypeName",
                        "src": "4432:4:24"
                      }
                    ],
                    "id": 8093,
                    "name": "VariableDeclaration",
                    "src": "4432:9:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_price",
                      "scope": 8119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8094,
                        "name": "ElementaryTypeName",
                        "src": "4451:4:24"
                      }
                    ],
                    "id": 8095,
                    "name": "VariableDeclaration",
                    "src": "4451:11:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_startBlock",
                      "scope": 8119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8096,
                        "name": "ElementaryTypeName",
                        "src": "4472:4:24"
                      }
                    ],
                    "id": 8097,
                    "name": "VariableDeclaration",
                    "src": "4472:16:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_endBlock",
                      "scope": 8119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8098,
                        "name": "ElementaryTypeName",
                        "src": "4498:4:24"
                      }
                    ],
                    "id": 8099,
                    "name": "VariableDeclaration",
                    "src": "4498:14:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 8119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8100,
                        "name": "ElementaryTypeName",
                        "src": "4522:7:24"
                      }
                    ],
                    "id": 8101,
                    "name": "VariableDeclaration",
                    "src": "4522:20:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_admin",
                      "scope": 8119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8102,
                        "name": "ElementaryTypeName",
                        "src": "4552:7:24"
                      }
                    ],
                    "id": 8103,
                    "name": "VariableDeclaration",
                    "src": "4552:14:24"
                  }
                ],
                "id": 8104,
                "name": "ParameterList",
                "src": "4422:150:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8119,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8105,
                        "name": "ElementaryTypeName",
                        "src": "4617:7:24"
                      }
                    ],
                    "id": 8106,
                    "name": "VariableDeclaration",
                    "src": "4617:7:24"
                  }
                ],
                "id": 8107,
                "name": "ParameterList",
                "src": "4616:9:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 8107
                    },
                    "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": 10861,
                                  "type": "function () pure returns (bytes32)",
                                  "value": "keccak256"
                                },
                                "id": 8108,
                                "name": "Identifier",
                                "src": "4647:9:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8093,
                                  "type": "uint256",
                                  "value": "_cap"
                                },
                                "id": 8109,
                                "name": "Identifier",
                                "src": "4670:4:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8095,
                                  "type": "uint256",
                                  "value": "_price"
                                },
                                "id": 8110,
                                "name": "Identifier",
                                "src": "4688:6:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8097,
                                  "type": "uint256",
                                  "value": "_startBlock"
                                },
                                "id": 8111,
                                "name": "Identifier",
                                "src": "4708:11:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8099,
                                  "type": "uint256",
                                  "value": "_endBlock"
                                },
                                "id": 8112,
                                "name": "Identifier",
                                "src": "4733:9:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8101,
                                  "type": "address",
                                  "value": "_beneficiary"
                                },
                                "id": 8113,
                                "name": "Identifier",
                                "src": "4756:12:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8103,
                                  "type": "address",
                                  "value": "_admin"
                                },
                                "id": 8114,
                                "name": "Identifier",
                                "src": "4782:6:24"
                              }
                            ],
                            "id": 8115,
                            "name": "FunctionCall",
                            "src": "4647:151:24"
                          }
                        ],
                        "id": 8116,
                        "name": "TupleExpression",
                        "src": "4646:153:24"
                      }
                    ],
                    "id": 8117,
                    "name": "Return",
                    "src": "4639:160:24"
                  }
                ],
                "id": 8118,
                "name": "Block",
                "src": "4629:177:24"
              }
            ],
            "id": 8119,
            "name": "FunctionDefinition",
            "src": "4396:410:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "start",
              "payable": false,
              "scope": 8415,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8169,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 8120,
                        "name": "UserDefinedTypeName",
                        "src": "4923:6:24"
                      }
                    ],
                    "id": 8121,
                    "name": "VariableDeclaration",
                    "src": "4923:14:24"
                  }
                ],
                "id": 8122,
                "name": "ParameterList",
                "src": "4922:16:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8123,
                "name": "ParameterList",
                "src": "4946:0:24"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 8124,
                            "name": "Identifier",
                            "src": "4956:7:24"
                          },
                          {
                            "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_$3065",
                                          "typeString": "contract Avatar"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8271,
                                      "type": "function (address) view returns (bool)",
                                      "value": "isActive"
                                    },
                                    "id": 8125,
                                    "name": "Identifier",
                                    "src": "4965:8:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8121,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 8126,
                                    "name": "Identifier",
                                    "src": "4974:7:24"
                                  }
                                ],
                                "id": 8127,
                                "name": "FunctionCall",
                                "src": "4965:17:24"
                              }
                            ],
                            "id": 8128,
                            "name": "UnaryOperation",
                            "src": "4964:18:24"
                          }
                        ],
                        "id": 8129,
                        "name": "FunctionCall",
                        "src": "4956:27:24"
                      }
                    ],
                    "id": 8130,
                    "name": "ExpressionStatement",
                    "src": "4956:27:24"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 8169,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Organization memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 8004,
                              "type": "struct SimpleICO.Organization storage pointer"
                            },
                            "id": 8131,
                            "name": "UserDefinedTypeName",
                            "src": "4993:12:24"
                          }
                        ],
                        "id": 8132,
                        "name": "VariableDeclaration",
                        "src": "4993:23:24"
                      }
                    ],
                    "id": 8133,
                    "name": "VariableDeclarationStatement",
                    "src": "4993:23:24"
                  },
                  {
                    "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": 7997,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8132,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 8134,
                                "name": "Identifier",
                                "src": "5026:3:24"
                              }
                            ],
                            "id": 8136,
                            "name": "MemberAccess",
                            "src": "5026:14:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes32",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3065",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    8464
                                  ],
                                  "referencedDeclaration": 8464,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 8137,
                                "name": "Identifier",
                                "src": "5043:27:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8121,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8138,
                                "name": "Identifier",
                                "src": "5071:7:24"
                              }
                            ],
                            "id": 8139,
                            "name": "FunctionCall",
                            "src": "5043:36:24"
                          }
                        ],
                        "id": 8140,
                        "name": "Assignment",
                        "src": "5026:53:24"
                      }
                    ],
                    "id": 8141,
                    "name": "ExpressionStatement",
                    "src": "5026:53:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 8142,
                            "name": "Identifier",
                            "src": "5089:7:24"
                          },
                          {
                            "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": 8006,
                                  "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": 8025,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 8143,
                                        "name": "Identifier",
                                        "src": "5097:10:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 7997,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8132,
                                              "type": "struct SimpleICO.Organization memory",
                                              "value": "org"
                                            },
                                            "id": 8144,
                                            "name": "Identifier",
                                            "src": "5108:3:24"
                                          }
                                        ],
                                        "id": 8145,
                                        "name": "MemberAccess",
                                        "src": "5108:14:24"
                                      }
                                    ],
                                    "id": 8146,
                                    "name": "IndexAccess",
                                    "src": "5097:26:24"
                                  }
                                ],
                                "id": 8147,
                                "name": "MemberAccess",
                                "src": "5097:30:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 8148,
                                "name": "Literal",
                                "src": "5131:1:24"
                              }
                            ],
                            "id": 8149,
                            "name": "BinaryOperation",
                            "src": "5097:35:24"
                          }
                        ],
                        "id": 8150,
                        "name": "FunctionCall",
                        "src": "5089:44:24"
                      }
                    ],
                    "id": 8151,
                    "name": "ExpressionStatement",
                    "src": "5089:44:24"
                  },
                  {
                    "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": 7999,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8132,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 8152,
                                "name": "Identifier",
                                "src": "5143:3:24"
                              }
                            ],
                            "id": 8154,
                            "name": "MemberAccess",
                            "src": "5143:21:24"
                          },
                          {
                            "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_$3065",
                                      "typeString": "contract Avatar"
                                    },
                                    {
                                      "typeIdentifier": "t_contract$_SimpleICO_$8415",
                                      "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": 7990,
                                      "type": "contract MirrorContractICO"
                                    },
                                    "id": 8155,
                                    "name": "UserDefinedTypeName",
                                    "src": "5171:17:24"
                                  }
                                ],
                                "id": 8156,
                                "name": "NewExpression",
                                "src": "5167:21:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8121,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8157,
                                "name": "Identifier",
                                "src": "5189:7:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10954,
                                  "type": "contract SimpleICO",
                                  "value": "this"
                                },
                                "id": 8158,
                                "name": "Identifier",
                                "src": "5198:4:24"
                              }
                            ],
                            "id": 8159,
                            "name": "FunctionCall",
                            "src": "5167:36:24"
                          }
                        ],
                        "id": 8160,
                        "name": "Assignment",
                        "src": "5143:60:24"
                      }
                    ],
                    "id": 8161,
                    "name": "ExpressionStatement",
                    "src": "5143:60:24"
                  },
                  {
                    "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": 8021,
                                  "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                  "value": "organizationsICOInfo"
                                },
                                "id": 8162,
                                "name": "Identifier",
                                "src": "5213:20:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8121,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8163,
                                "name": "Identifier",
                                "src": "5234:7:24"
                              }
                            ],
                            "id": 8164,
                            "name": "IndexAccess",
                            "src": "5213:29:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8132,
                              "type": "struct SimpleICO.Organization memory",
                              "value": "org"
                            },
                            "id": 8165,
                            "name": "Identifier",
                            "src": "5245:3:24"
                          }
                        ],
                        "id": 8166,
                        "name": "Assignment",
                        "src": "5213:35:24"
                      }
                    ],
                    "id": 8167,
                    "name": "ExpressionStatement",
                    "src": "5213:35:24"
                  }
                ],
                "id": 8168,
                "name": "Block",
                "src": "4946:309:24"
              }
            ],
            "id": 8169,
            "name": "FunctionDefinition",
            "src": "4908:347:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "haltICO",
              "payable": false,
              "scope": 8415,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8195,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8170,
                        "name": "ElementaryTypeName",
                        "src": "5392:7:24"
                      }
                    ],
                    "id": 8171,
                    "name": "VariableDeclaration",
                    "src": "5392:15:24"
                  }
                ],
                "id": 8172,
                "name": "ParameterList",
                "src": "5391:17:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8173,
                "name": "ParameterList",
                "src": "5416:0:24"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 8174,
                            "name": "Identifier",
                            "src": "5426:7:24"
                          },
                          {
                            "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": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 8175,
                                    "name": "Identifier",
                                    "src": "5434:3:24"
                                  }
                                ],
                                "id": 8176,
                                "name": "MemberAccess",
                                "src": "5434:10:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "admin",
                                  "referencedDeclaration": 8016,
                                  "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": 8025,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 8177,
                                        "name": "Identifier",
                                        "src": "5448:10:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 7997,
                                          "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": 8021,
                                                  "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                                  "value": "organizationsICOInfo"
                                                },
                                                "id": 8178,
                                                "name": "Identifier",
                                                "src": "5459:20:24"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 8171,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 8179,
                                                "name": "Identifier",
                                                "src": "5480:7:24"
                                              }
                                            ],
                                            "id": 8180,
                                            "name": "IndexAccess",
                                            "src": "5459:29:24"
                                          }
                                        ],
                                        "id": 8181,
                                        "name": "MemberAccess",
                                        "src": "5459:40:24"
                                      }
                                    ],
                                    "id": 8182,
                                    "name": "IndexAccess",
                                    "src": "5448:52:24"
                                  }
                                ],
                                "id": 8183,
                                "name": "MemberAccess",
                                "src": "5448:58:24"
                              }
                            ],
                            "id": 8184,
                            "name": "BinaryOperation",
                            "src": "5434:72:24"
                          }
                        ],
                        "id": 8185,
                        "name": "FunctionCall",
                        "src": "5426:81:24"
                      }
                    ],
                    "id": 8186,
                    "name": "ExpressionStatement",
                    "src": "5426:81:24"
                  },
                  {
                    "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": 8003,
                              "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": 8021,
                                      "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                      "value": "organizationsICOInfo"
                                    },
                                    "id": 8187,
                                    "name": "Identifier",
                                    "src": "5517:20:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8171,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 8188,
                                    "name": "Identifier",
                                    "src": "5538:7:24"
                                  }
                                ],
                                "id": 8189,
                                "name": "IndexAccess",
                                "src": "5517:29:24"
                              }
                            ],
                            "id": 8190,
                            "name": "MemberAccess",
                            "src": "5517:38:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 8191,
                            "name": "Literal",
                            "src": "5558:4:24"
                          }
                        ],
                        "id": 8192,
                        "name": "Assignment",
                        "src": "5517:45:24"
                      }
                    ],
                    "id": 8193,
                    "name": "ExpressionStatement",
                    "src": "5517:45:24"
                  }
                ],
                "id": 8194,
                "name": "Block",
                "src": "5416:153:24"
              }
            ],
            "id": 8195,
            "name": "FunctionDefinition",
            "src": "5375:194:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "resumeICO",
              "payable": false,
              "scope": 8415,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8221,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8196,
                        "name": "ElementaryTypeName",
                        "src": "5710:7:24"
                      }
                    ],
                    "id": 8197,
                    "name": "VariableDeclaration",
                    "src": "5710:15:24"
                  }
                ],
                "id": 8198,
                "name": "ParameterList",
                "src": "5709:17:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8199,
                "name": "ParameterList",
                "src": "5734:0:24"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 8200,
                            "name": "Identifier",
                            "src": "5744:7:24"
                          },
                          {
                            "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": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 8201,
                                    "name": "Identifier",
                                    "src": "5752:3:24"
                                  }
                                ],
                                "id": 8202,
                                "name": "MemberAccess",
                                "src": "5752:10:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "admin",
                                  "referencedDeclaration": 8016,
                                  "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": 8025,
                                          "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 8203,
                                        "name": "Identifier",
                                        "src": "5766:10:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 7997,
                                          "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": 8021,
                                                  "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                                  "value": "organizationsICOInfo"
                                                },
                                                "id": 8204,
                                                "name": "Identifier",
                                                "src": "5777:20:24"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 8197,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 8205,
                                                "name": "Identifier",
                                                "src": "5798:7:24"
                                              }
                                            ],
                                            "id": 8206,
                                            "name": "IndexAccess",
                                            "src": "5777:29:24"
                                          }
                                        ],
                                        "id": 8207,
                                        "name": "MemberAccess",
                                        "src": "5777:40:24"
                                      }
                                    ],
                                    "id": 8208,
                                    "name": "IndexAccess",
                                    "src": "5766:52:24"
                                  }
                                ],
                                "id": 8209,
                                "name": "MemberAccess",
                                "src": "5766:58:24"
                              }
                            ],
                            "id": 8210,
                            "name": "BinaryOperation",
                            "src": "5752:72:24"
                          }
                        ],
                        "id": 8211,
                        "name": "FunctionCall",
                        "src": "5744:81:24"
                      }
                    ],
                    "id": 8212,
                    "name": "ExpressionStatement",
                    "src": "5744:81:24"
                  },
                  {
                    "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": 8003,
                              "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": 8021,
                                      "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                      "value": "organizationsICOInfo"
                                    },
                                    "id": 8213,
                                    "name": "Identifier",
                                    "src": "5835:20:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8197,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 8214,
                                    "name": "Identifier",
                                    "src": "5856:7:24"
                                  }
                                ],
                                "id": 8215,
                                "name": "IndexAccess",
                                "src": "5835:29:24"
                              }
                            ],
                            "id": 8216,
                            "name": "MemberAccess",
                            "src": "5835:38:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 8217,
                            "name": "Literal",
                            "src": "5876:5:24"
                          }
                        ],
                        "id": 8218,
                        "name": "Assignment",
                        "src": "5835:46:24"
                      }
                    ],
                    "id": 8219,
                    "name": "ExpressionStatement",
                    "src": "5835:46:24"
                  }
                ],
                "id": 8220,
                "name": "Block",
                "src": "5734:154:24"
              }
            ],
            "id": 8221,
            "name": "FunctionDefinition",
            "src": "5691:197:24"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "isActive",
              "payable": false,
              "scope": 8415,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8271,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8222,
                        "name": "ElementaryTypeName",
                        "src": "6316:7:24"
                      }
                    ],
                    "id": 8223,
                    "name": "VariableDeclaration",
                    "src": "6316:15:24"
                  }
                ],
                "id": 8224,
                "name": "ParameterList",
                "src": "6315:17:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8271,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 8225,
                        "name": "ElementaryTypeName",
                        "src": "6357:4:24"
                      }
                    ],
                    "id": 8226,
                    "name": "VariableDeclaration",
                    "src": "6357:4:24"
                  }
                ],
                "id": 8227,
                "name": "ParameterList",
                "src": "6356:6:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8229
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 8271,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Organization memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 8004,
                              "type": "struct SimpleICO.Organization storage pointer"
                            },
                            "id": 8228,
                            "name": "UserDefinedTypeName",
                            "src": "6373:12:24"
                          }
                        ],
                        "id": 8229,
                        "name": "VariableDeclaration",
                        "src": "6373:23:24"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8021,
                              "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                              "value": "organizationsICOInfo"
                            },
                            "id": 8230,
                            "name": "Identifier",
                            "src": "6399:20:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8223,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 8231,
                            "name": "Identifier",
                            "src": "6420:7:24"
                          }
                        ],
                        "id": 8232,
                        "name": "IndexAccess",
                        "src": "6399:29:24"
                      }
                    ],
                    "id": 8233,
                    "name": "VariableDeclarationStatement",
                    "src": "6373:55:24"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8235
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 8271,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 8017,
                              "type": "struct SimpleICO.Parameters storage pointer"
                            },
                            "id": 8234,
                            "name": "UserDefinedTypeName",
                            "src": "6438:10:24"
                          }
                        ],
                        "id": 8235,
                        "name": "VariableDeclaration",
                        "src": "6438:24:24"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8025,
                              "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 8236,
                            "name": "Identifier",
                            "src": "6465:10:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 7997,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8229,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 8237,
                                "name": "Identifier",
                                "src": "6476:3:24"
                              }
                            ],
                            "id": 8238,
                            "name": "MemberAccess",
                            "src": "6476:14:24"
                          }
                        ],
                        "id": 8239,
                        "name": "IndexAccess",
                        "src": "6465:26:24"
                      }
                    ],
                    "id": 8240,
                    "name": "VariableDeclarationStatement",
                    "src": "6438:53:24"
                  },
                  {
                    "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": 8001,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8229,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 8241,
                                "name": "Identifier",
                                "src": "6506:3:24"
                              }
                            ],
                            "id": 8242,
                            "name": "MemberAccess",
                            "src": "6506:18:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "cap",
                              "referencedDeclaration": 8006,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8235,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 8243,
                                "name": "Identifier",
                                "src": "6528:6:24"
                              }
                            ],
                            "id": 8244,
                            "name": "MemberAccess",
                            "src": "6528:10:24"
                          }
                        ],
                        "id": 8245,
                        "name": "BinaryOperation",
                        "src": "6506:32:24"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 8227
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 8246,
                                "name": "Literal",
                                "src": "6561:5:24"
                              }
                            ],
                            "id": 8247,
                            "name": "Return",
                            "src": "6554:12:24"
                          }
                        ],
                        "id": 8248,
                        "name": "Block",
                        "src": "6540:37:24"
                      }
                    ],
                    "id": 8249,
                    "name": "IfStatement",
                    "src": "6502:75:24"
                  },
                  {
                    "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": 10859,
                                  "type": "block",
                                  "value": "block"
                                },
                                "id": 8250,
                                "name": "Identifier",
                                "src": "6590:5:24"
                              }
                            ],
                            "id": 8251,
                            "name": "MemberAccess",
                            "src": "6590:12:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "endBlock",
                              "referencedDeclaration": 8012,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8235,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 8252,
                                "name": "Identifier",
                                "src": "6606:6:24"
                              }
                            ],
                            "id": 8253,
                            "name": "MemberAccess",
                            "src": "6606:15:24"
                          }
                        ],
                        "id": 8254,
                        "name": "BinaryOperation",
                        "src": "6590:31:24"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 8227
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 8255,
                                "name": "Literal",
                                "src": "6644:5:24"
                              }
                            ],
                            "id": 8256,
                            "name": "Return",
                            "src": "6637:12:24"
                          }
                        ],
                        "id": 8257,
                        "name": "Block",
                        "src": "6623:37:24"
                      }
                    ],
                    "id": 8258,
                    "name": "IfStatement",
                    "src": "6586:74:24"
                  },
                  {
                    "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": 10859,
                                  "type": "block",
                                  "value": "block"
                                },
                                "id": 8259,
                                "name": "Identifier",
                                "src": "6673:5:24"
                              }
                            ],
                            "id": 8260,
                            "name": "MemberAccess",
                            "src": "6673:12:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "startBlock",
                              "referencedDeclaration": 8010,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8235,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 8261,
                                "name": "Identifier",
                                "src": "6689:6:24"
                              }
                            ],
                            "id": 8262,
                            "name": "MemberAccess",
                            "src": "6689:17:24"
                          }
                        ],
                        "id": 8263,
                        "name": "BinaryOperation",
                        "src": "6673:33:24"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 8227
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 8264,
                                "name": "Literal",
                                "src": "6729:5:24"
                              }
                            ],
                            "id": 8265,
                            "name": "Return",
                            "src": "6722:12:24"
                          }
                        ],
                        "id": 8266,
                        "name": "Block",
                        "src": "6708:37:24"
                      }
                    ],
                    "id": 8267,
                    "name": "IfStatement",
                    "src": "6669:76:24"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8227
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 8268,
                        "name": "Literal",
                        "src": "6761:4:24"
                      }
                    ],
                    "id": 8269,
                    "name": "Return",
                    "src": "6754:11:24"
                  }
                ],
                "id": 8270,
                "name": "Block",
                "src": "6363:409:24"
              }
            ],
            "id": 8271,
            "name": "FunctionDefinition",
            "src": "6298:474:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "donate",
              "payable": true,
              "scope": 8415,
              "stateMutability": "payable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8414,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 8272,
                        "name": "UserDefinedTypeName",
                        "src": "7186:6:24"
                      }
                    ],
                    "id": 8273,
                    "name": "VariableDeclaration",
                    "src": "7186:14:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 8414,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8274,
                        "name": "ElementaryTypeName",
                        "src": "7202:7:24"
                      }
                    ],
                    "id": 8275,
                    "name": "VariableDeclaration",
                    "src": "7202:20:24"
                  }
                ],
                "id": 8276,
                "name": "ParameterList",
                "src": "7185:38:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8414,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8277,
                        "name": "ElementaryTypeName",
                        "src": "7247:4:24"
                      }
                    ],
                    "id": 8278,
                    "name": "VariableDeclaration",
                    "src": "7247:4:24"
                  }
                ],
                "id": 8279,
                "name": "ParameterList",
                "src": "7246:6:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8281
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 8414,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Organization memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 8004,
                              "type": "struct SimpleICO.Organization storage pointer"
                            },
                            "id": 8280,
                            "name": "UserDefinedTypeName",
                            "src": "7263:12:24"
                          }
                        ],
                        "id": 8281,
                        "name": "VariableDeclaration",
                        "src": "7263:23:24"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8021,
                              "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                              "value": "organizationsICOInfo"
                            },
                            "id": 8282,
                            "name": "Identifier",
                            "src": "7289:20:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8273,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 8283,
                            "name": "Identifier",
                            "src": "7310:7:24"
                          }
                        ],
                        "id": 8284,
                        "name": "IndexAccess",
                        "src": "7289:29:24"
                      }
                    ],
                    "id": 8285,
                    "name": "VariableDeclarationStatement",
                    "src": "7263:55:24"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8287
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 8414,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SimpleICO.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 8017,
                              "type": "struct SimpleICO.Parameters storage pointer"
                            },
                            "id": 8286,
                            "name": "UserDefinedTypeName",
                            "src": "7328:10:24"
                          }
                        ],
                        "id": 8287,
                        "name": "VariableDeclaration",
                        "src": "7328:24:24"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SimpleICO.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8025,
                              "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 8288,
                            "name": "Identifier",
                            "src": "7355:10:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 7997,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8281,
                                  "type": "struct SimpleICO.Organization memory",
                                  "value": "org"
                                },
                                "id": 8289,
                                "name": "Identifier",
                                "src": "7366:3:24"
                              }
                            ],
                            "id": 8290,
                            "name": "MemberAccess",
                            "src": "7366:14:24"
                          }
                        ],
                        "id": 8291,
                        "name": "IndexAccess",
                        "src": "7355:26:24"
                      }
                    ],
                    "id": 8292,
                    "name": "VariableDeclarationStatement",
                    "src": "7328:53:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 8293,
                            "name": "Identifier",
                            "src": "7424:7:24"
                          },
                          {
                            "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_$3065",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8271,
                                  "type": "function (address) view returns (bool)",
                                  "value": "isActive"
                                },
                                "id": 8294,
                                "name": "Identifier",
                                "src": "7432:8:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8273,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8295,
                                "name": "Identifier",
                                "src": "7441:7:24"
                              }
                            ],
                            "id": 8296,
                            "name": "FunctionCall",
                            "src": "7432:17:24"
                          }
                        ],
                        "id": 8297,
                        "name": "FunctionCall",
                        "src": "7424:26:24"
                      }
                    ],
                    "id": 8298,
                    "name": "ExpressionStatement",
                    "src": "7424:26:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 8299,
                            "name": "Identifier",
                            "src": "7497:7:24"
                          },
                          {
                            "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": 8003,
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8281,
                                      "type": "struct SimpleICO.Organization memory",
                                      "value": "org"
                                    },
                                    "id": 8300,
                                    "name": "Identifier",
                                    "src": "7506:3:24"
                                  }
                                ],
                                "id": 8301,
                                "name": "MemberAccess",
                                "src": "7506:12:24"
                              }
                            ],
                            "id": 8302,
                            "name": "UnaryOperation",
                            "src": "7505:13:24"
                          }
                        ],
                        "id": 8303,
                        "name": "FunctionCall",
                        "src": "7497:22:24"
                      }
                    ],
                    "id": 8304,
                    "name": "ExpressionStatement",
                    "src": "7497:22:24"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "incomingEther",
                          "scope": 8414,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 8305,
                            "name": "ElementaryTypeName",
                            "src": "7531:4:24"
                          }
                        ],
                        "id": 8306,
                        "name": "VariableDeclaration",
                        "src": "7531:18:24"
                      }
                    ],
                    "id": 8307,
                    "name": "VariableDeclarationStatement",
                    "src": "7531:18:24"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "change",
                          "scope": 8414,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 8308,
                            "name": "ElementaryTypeName",
                            "src": "7559:4:24"
                          }
                        ],
                        "id": 8309,
                        "name": "VariableDeclaration",
                        "src": "7559:11:24"
                      }
                    ],
                    "id": 8310,
                    "name": "VariableDeclarationStatement",
                    "src": "7559:11:24"
                  },
                  {
                    "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 8311,
                                "name": "Identifier",
                                "src": "7629:3:24"
                              }
                            ],
                            "id": 8312,
                            "name": "MemberAccess",
                            "src": "7629:9:24"
                          },
                          {
                            "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": 10196,
                                  "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": 8006,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8287,
                                              "type": "struct SimpleICO.Parameters memory",
                                              "value": "params"
                                            },
                                            "id": 8313,
                                            "name": "Identifier",
                                            "src": "7642:6:24"
                                          }
                                        ],
                                        "id": 8314,
                                        "name": "MemberAccess",
                                        "src": "7642:10:24"
                                      }
                                    ],
                                    "id": 8315,
                                    "name": "TupleExpression",
                                    "src": "7641:12:24"
                                  }
                                ],
                                "id": 8316,
                                "name": "MemberAccess",
                                "src": "7641:16:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "totalEthRaised",
                                  "referencedDeclaration": 8001,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8281,
                                      "type": "struct SimpleICO.Organization memory",
                                      "value": "org"
                                    },
                                    "id": 8317,
                                    "name": "Identifier",
                                    "src": "7658:3:24"
                                  }
                                ],
                                "id": 8318,
                                "name": "MemberAccess",
                                "src": "7658:18:24"
                              }
                            ],
                            "id": 8319,
                            "name": "FunctionCall",
                            "src": "7641:36:24"
                          }
                        ],
                        "id": 8320,
                        "name": "BinaryOperation",
                        "src": "7629:48:24"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8306,
                                      "type": "uint256",
                                      "value": "incomingEther"
                                    },
                                    "id": 8321,
                                    "name": "Identifier",
                                    "src": "7694:13:24"
                                  },
                                  {
                                    "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": 10196,
                                          "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": 8006,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 8287,
                                                      "type": "struct SimpleICO.Parameters memory",
                                                      "value": "params"
                                                    },
                                                    "id": 8322,
                                                    "name": "Identifier",
                                                    "src": "7711:6:24"
                                                  }
                                                ],
                                                "id": 8323,
                                                "name": "MemberAccess",
                                                "src": "7711:10:24"
                                              }
                                            ],
                                            "id": 8324,
                                            "name": "TupleExpression",
                                            "src": "7710:12:24"
                                          }
                                        ],
                                        "id": 8325,
                                        "name": "MemberAccess",
                                        "src": "7710:16:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "totalEthRaised",
                                          "referencedDeclaration": 8001,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8281,
                                              "type": "struct SimpleICO.Organization memory",
                                              "value": "org"
                                            },
                                            "id": 8326,
                                            "name": "Identifier",
                                            "src": "7727:3:24"
                                          }
                                        ],
                                        "id": 8327,
                                        "name": "MemberAccess",
                                        "src": "7727:18:24"
                                      }
                                    ],
                                    "id": 8328,
                                    "name": "FunctionCall",
                                    "src": "7710:36:24"
                                  }
                                ],
                                "id": 8329,
                                "name": "Assignment",
                                "src": "7694:52:24"
                              }
                            ],
                            "id": 8330,
                            "name": "ExpressionStatement",
                            "src": "7694:52:24"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8309,
                                      "type": "uint256",
                                      "value": "change"
                                    },
                                    "id": 8331,
                                    "name": "Identifier",
                                    "src": "7760:6:24"
                                  },
                                  {
                                    "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": 10196,
                                          "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": 10867,
                                                      "type": "msg",
                                                      "value": "msg"
                                                    },
                                                    "id": 8332,
                                                    "name": "Identifier",
                                                    "src": "7770:3:24"
                                                  }
                                                ],
                                                "id": 8333,
                                                "name": "MemberAccess",
                                                "src": "7770:9:24"
                                              }
                                            ],
                                            "id": 8334,
                                            "name": "TupleExpression",
                                            "src": "7769:11:24"
                                          }
                                        ],
                                        "id": 8335,
                                        "name": "MemberAccess",
                                        "src": "7769:15:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8306,
                                          "type": "uint256",
                                          "value": "incomingEther"
                                        },
                                        "id": 8336,
                                        "name": "Identifier",
                                        "src": "7785:13:24"
                                      }
                                    ],
                                    "id": 8337,
                                    "name": "FunctionCall",
                                    "src": "7769:30:24"
                                  }
                                ],
                                "id": 8338,
                                "name": "Assignment",
                                "src": "7760:39:24"
                              }
                            ],
                            "id": 8339,
                            "name": "ExpressionStatement",
                            "src": "7760:39:24"
                          }
                        ],
                        "id": 8340,
                        "name": "Block",
                        "src": "7680:130:24"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8306,
                                      "type": "uint256",
                                      "value": "incomingEther"
                                    },
                                    "id": 8341,
                                    "name": "Identifier",
                                    "src": "7830:13:24"
                                  },
                                  {
                                    "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": 10867,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 8342,
                                        "name": "Identifier",
                                        "src": "7846:3:24"
                                      }
                                    ],
                                    "id": 8343,
                                    "name": "MemberAccess",
                                    "src": "7846:9:24"
                                  }
                                ],
                                "id": 8344,
                                "name": "Assignment",
                                "src": "7830:25:24"
                              }
                            ],
                            "id": 8345,
                            "name": "ExpressionStatement",
                            "src": "7830:25:24"
                          }
                        ],
                        "id": 8346,
                        "name": "Block",
                        "src": "7816:50:24"
                      }
                    ],
                    "id": 8347,
                    "name": "IfStatement",
                    "src": "7624:242:24"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8349
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "tokens",
                          "scope": 8414,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 8348,
                            "name": "ElementaryTypeName",
                            "src": "7875:4:24"
                          }
                        ],
                        "id": 8349,
                        "name": "VariableDeclaration",
                        "src": "7875:11:24"
                      },
                      {
                        "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": 10158,
                              "type": "function (uint256,uint256) pure returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8306,
                                  "type": "uint256",
                                  "value": "incomingEther"
                                },
                                "id": 8350,
                                "name": "Identifier",
                                "src": "7889:13:24"
                              }
                            ],
                            "id": 8351,
                            "name": "MemberAccess",
                            "src": "7889:17:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "price",
                              "referencedDeclaration": 8008,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8287,
                                  "type": "struct SimpleICO.Parameters memory",
                                  "value": "params"
                                },
                                "id": 8352,
                                "name": "Identifier",
                                "src": "7907:6:24"
                              }
                            ],
                            "id": 8353,
                            "name": "MemberAccess",
                            "src": "7907:12:24"
                          }
                        ],
                        "id": 8354,
                        "name": "FunctionCall",
                        "src": "7889:31:24"
                      }
                    ],
                    "id": 8355,
                    "name": "VariableDeclarationStatement",
                    "src": "7875:45:24"
                  },
                  {
                    "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": 8014,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8287,
                                      "type": "struct SimpleICO.Parameters memory",
                                      "value": "params"
                                    },
                                    "id": 8356,
                                    "name": "Identifier",
                                    "src": "8014:6:24"
                                  }
                                ],
                                "id": 8359,
                                "name": "MemberAccess",
                                "src": "8014:18:24"
                              }
                            ],
                            "id": 8360,
                            "name": "MemberAccess",
                            "src": "8014:27:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8306,
                              "type": "uint256",
                              "value": "incomingEther"
                            },
                            "id": 8361,
                            "name": "Identifier",
                            "src": "8042:13:24"
                          }
                        ],
                        "id": 8362,
                        "name": "FunctionCall",
                        "src": "8014:42:24"
                      }
                    ],
                    "id": 8363,
                    "name": "ExpressionStatement",
                    "src": "8014:42:24"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        8365
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controller",
                          "scope": 8414,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract ControllerInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "ControllerInterface",
                              "referencedDeclaration": 4364,
                              "type": "contract ControllerInterface"
                            },
                            "id": 8364,
                            "name": "UserDefinedTypeName",
                            "src": "8067:19:24"
                          }
                        ],
                        "id": 8365,
                        "name": "VariableDeclaration",
                        "src": "8067:30:24"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract ControllerInterface",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4364,
                              "type": "type(contract ControllerInterface)",
                              "value": "ControllerInterface"
                            },
                            "id": 8366,
                            "name": "Identifier",
                            "src": "8100:19:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "arguments": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "owner",
                                  "referencedDeclaration": 10249,
                                  "type": "function () view external returns (address)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8273,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 8367,
                                    "name": "Identifier",
                                    "src": "8120:7:24"
                                  }
                                ],
                                "id": 8368,
                                "name": "MemberAccess",
                                "src": "8120:13:24"
                              }
                            ],
                            "id": 8369,
                            "name": "FunctionCall",
                            "src": "8120:15:24"
                          }
                        ],
                        "id": 8370,
                        "name": "FunctionCall",
                        "src": "8100:36:24"
                      }
                    ],
                    "id": 8371,
                    "name": "VariableDeclarationStatement",
                    "src": "8067:69:24"
                  },
                  {
                    "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": 4187,
                                  "type": "function (uint256,address,address) external returns (bool)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8365,
                                      "type": "contract ControllerInterface",
                                      "value": "controller"
                                    },
                                    "id": 8372,
                                    "name": "Identifier",
                                    "src": "8151:10:24"
                                  }
                                ],
                                "id": 8373,
                                "name": "MemberAccess",
                                "src": "8151:21:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8349,
                                  "type": "uint256",
                                  "value": "tokens"
                                },
                                "id": 8374,
                                "name": "Identifier",
                                "src": "8173:6:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8275,
                                  "type": "address",
                                  "value": "_beneficiary"
                                },
                                "id": 8375,
                                "name": "Identifier",
                                "src": "8181:12:24"
                              },
                              {
                                "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_$3065",
                                          "typeString": "contract Avatar"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 8376,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "8194:7:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8273,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 8377,
                                    "name": "Identifier",
                                    "src": "8202:7:24"
                                  }
                                ],
                                "id": 8378,
                                "name": "FunctionCall",
                                "src": "8194:16:24"
                              }
                            ],
                            "id": 8379,
                            "name": "FunctionCall",
                            "src": "8151:60:24"
                          }
                        ],
                        "id": 8380,
                        "name": "UnaryOperation",
                        "src": "8150:61:24"
                      },
                      {
                        "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": 10871,
                                      "type": "function () pure",
                                      "value": "revert"
                                    },
                                    "id": 8381,
                                    "name": "Identifier",
                                    "src": "8227:6:24"
                                  }
                                ],
                                "id": 8382,
                                "name": "FunctionCall",
                                "src": "8227:8:24"
                              }
                            ],
                            "id": 8383,
                            "name": "ExpressionStatement",
                            "src": "8227:8:24"
                          }
                        ],
                        "id": 8384,
                        "name": "Block",
                        "src": "8213:33:24"
                      }
                    ],
                    "id": 8385,
                    "name": "IfStatement",
                    "src": "8146:100:24"
                  },
                  {
                    "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": 8309,
                              "type": "uint256",
                              "value": "change"
                            },
                            "id": 8386,
                            "name": "Identifier",
                            "src": "8259:6:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 8387,
                            "name": "Literal",
                            "src": "8269:1:24"
                          }
                        ],
                        "id": 8388,
                        "name": "BinaryOperation",
                        "src": "8259:11:24"
                      },
                      {
                        "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": 8275,
                                          "type": "address",
                                          "value": "_beneficiary"
                                        },
                                        "id": 8389,
                                        "name": "Identifier",
                                        "src": "8286:12:24"
                                      }
                                    ],
                                    "id": 8391,
                                    "name": "MemberAccess",
                                    "src": "8286:21:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8309,
                                      "type": "uint256",
                                      "value": "change"
                                    },
                                    "id": 8392,
                                    "name": "Identifier",
                                    "src": "8308:6:24"
                                  }
                                ],
                                "id": 8393,
                                "name": "FunctionCall",
                                "src": "8286:29:24"
                              }
                            ],
                            "id": 8394,
                            "name": "ExpressionStatement",
                            "src": "8286:29:24"
                          }
                        ],
                        "id": 8395,
                        "name": "Block",
                        "src": "8272:54:24"
                      }
                    ],
                    "id": 8396,
                    "name": "IfStatement",
                    "src": "8255:71:24"
                  },
                  {
                    "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": 8001,
                              "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": 8021,
                                      "type": "mapping(address => struct SimpleICO.Organization storage ref)",
                                      "value": "organizationsICOInfo"
                                    },
                                    "id": 8397,
                                    "name": "Identifier",
                                    "src": "8414:20:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8273,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 8398,
                                    "name": "Identifier",
                                    "src": "8435:7:24"
                                  }
                                ],
                                "id": 8399,
                                "name": "IndexAccess",
                                "src": "8414:29:24"
                              }
                            ],
                            "id": 8400,
                            "name": "MemberAccess",
                            "src": "8414:44:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8306,
                              "type": "uint256",
                              "value": "incomingEther"
                            },
                            "id": 8401,
                            "name": "Identifier",
                            "src": "8462:13:24"
                          }
                        ],
                        "id": 8402,
                        "name": "Assignment",
                        "src": "8414:61:24"
                      }
                    ],
                    "id": 8403,
                    "name": "ExpressionStatement",
                    "src": "8414:61:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8035,
                              "type": "function (address,address,uint256,uint256)",
                              "value": "DonationReceived"
                            },
                            "id": 8404,
                            "name": "Identifier",
                            "src": "8485:16:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8273,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 8405,
                            "name": "Identifier",
                            "src": "8502:7:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8275,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 8406,
                            "name": "Identifier",
                            "src": "8511:12:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8306,
                              "type": "uint256",
                              "value": "incomingEther"
                            },
                            "id": 8407,
                            "name": "Identifier",
                            "src": "8525:13:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8349,
                              "type": "uint256",
                              "value": "tokens"
                            },
                            "id": 8408,
                            "name": "Identifier",
                            "src": "8540:6:24"
                          }
                        ],
                        "id": 8409,
                        "name": "FunctionCall",
                        "src": "8485:62:24"
                      }
                    ],
                    "id": 8410,
                    "name": "ExpressionStatement",
                    "src": "8485:62:24"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8279
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 8349,
                          "type": "uint256",
                          "value": "tokens"
                        },
                        "id": 8411,
                        "name": "Identifier",
                        "src": "8564:6:24"
                      }
                    ],
                    "id": 8412,
                    "name": "Return",
                    "src": "8557:13:24"
                  }
                ],
                "id": 8413,
                "name": "Block",
                "src": "7253:1324:24"
              }
            ],
            "id": 8414,
            "name": "FunctionDefinition",
            "src": "7170:1407:24"
          }
        ],
        "id": 8415,
        "name": "ContractDefinition",
        "src": "1423:7156:24"
      }
    ],
    "id": 8416,
    "name": "SourceUnit",
    "src": "0:8580:24"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1516886047983": {
      "events": {},
      "links": {},
      "address": "0x7f263d85d93120e235f9d6ca90a397acedb30d17"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:15:04.370Z"
}