{
  "contractName": "ERC223Token",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "mintingFinished",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_operator",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "string"
        }
      ],
      "name": "checkRole",
      "outputs": [],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_Token",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "activated",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_ERC165",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "maxMintable",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_operator",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "string"
        }
      ],
      "name": "hasRole",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_minter",
          "type": "address"
        }
      ],
      "name": "removeMinter",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "pausable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "initialSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "unpause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "mintable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "paused",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseApproval",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "template",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "finishMinting",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ROLE_MINTER",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_minter",
          "type": "address"
        }
      ],
      "name": "addMinter",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "burnable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseApproval",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_ERC223Token",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_Contract",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_symbol",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "role",
          "type": "string"
        }
      ],
      "name": "RoleAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "role",
          "type": "string"
        }
      ],
      "name": "RoleRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Mint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "MintFinished",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "burner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Burn",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Pause",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Unpause",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipRenounced",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_symbol",
          "type": "string"
        },
        {
          "name": "_decimals",
          "type": "uint8"
        },
        {
          "name": "_initialSupply",
          "type": "uint256"
        },
        {
          "name": "_mintable",
          "type": "bool"
        },
        {
          "name": "_burnable",
          "type": "bool"
        },
        {
          "name": "_pausable",
          "type": "bool"
        }
      ],
      "name": "update",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_maxMintable",
          "type": "uint256"
        }
      ],
      "name": "setMaxMintable",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "activate",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        },
        {
          "name": "_data",
          "type": "bytes"
        },
        {
          "name": "_custom_fallback",
          "type": "string"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        },
        {
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_from",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "burn",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "pause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526008805461ffff19169055600a805460ff191660121790553480156200002957600080fd5b50604051620025d8380380620025d8833981016040908152815160208301519183015160038054600160a060020a0319163317905590929182019101828282826200009d7f01ffc9a700000000000000000000000000000000000000000000000000000000640100000000620001b3810204565b600160a060020a0381161515620000b357600080fd5b6005805433600160a060020a03199182161790915560038054909116600160a060020a038316179055620001107f6125ede500000000000000000000000000000000000000000000000000000000640100000000620001b3810204565b5081516200012690600690602085019062000220565b5080516200013c90600790602084019062000220565b50620001717ffd155c6700000000000000000000000000000000000000000000000000000000640100000000620001b3810204565b50620001aa91507fd0c381c9000000000000000000000000000000000000000000000000000000009050640100000000620001b3810204565b505050620002c5565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620001e357600080fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152600460205260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026357805160ff191683800117855562000293565b8280016001018555821562000293579182015b828111156200029357825182559160200191906001019062000276565b50620002a1929150620002a5565b5090565b620002c291905b80821115620002a15760008155600101620002ac565b90565b61230380620002d56000396000f3006080604052600436106101f55763ffffffff60e060020a60003504166301ffc9a781146101fa57806305d2035b1461024557806306fdde031461025a578063095ea7b3146102e45780630988ca8c146103085780630f15f4c014610371578063172d02bd1461038657806318160ddd146103cd578063186601ca146103f457806319fa8f50146104095780632154dc391461041e578063217fe6c61461043357806323b872dd1461049a57806325d387b5146104c45780633092afd5146104dc578063313ce567146104fd5780633677584714610528578063378dc3dc1461053d5780633f4ba83a1461055257806340c10f191461056757806342966c681461058b5780634bf365df146105a35780635c975abb146105b857806366188463146105cd5780636f2ddd93146105f157806370a0823114610622578063715018a6146106435780637d64bcb4146106585780638456cb591461066d5780638da5cb5b1461068257806392afc33a1461069757806395d89b41146106ac578063983b2d56146106c1578063a07c7ce4146106e2578063a9059cbb146106f7578063be45fd621461071b578063d73dd62314610784578063dd62ed3e146107a8578063f2226de6146107cf578063f2fde38b14610886578063f6368f8a146108a7578063fb499abc1461094e578063fbf964eb14610963575b600080fd5b34801561020657600080fd5b506102317bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1960043516610978565b604080519115158252519081900360200190f35b34801561025157600080fd5b506102316109ac565b34801561026657600080fd5b5061026f6109ba565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a9578181015183820152602001610291565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f057600080fd5b50610231600160a060020a0360043516602435610a48565b34801561031457600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261036f958335600160a060020a0316953695604494919390910191908190840183828082843750949750610a749650505050505050565b005b34801561037d57600080fd5b50610231610ae2565b34801561039257600080fd5b5061039b610b2d565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b3480156103d957600080fd5b506103e2610b51565b60408051918252519081900360200190f35b34801561040057600080fd5b50610231610b57565b34801561041557600080fd5b5061039b610b67565b34801561042a57600080fd5b506103e2610b8b565b34801561043f57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610231958335600160a060020a0316953695604494919390910191908190840183828082843750949750610b919650505050505050565b3480156104a657600080fd5b50610231600160a060020a0360043581169060243516604435610bfd565b3480156104d057600080fd5b5061036f600435610c2b565b3480156104e857600080fd5b5061036f600160a060020a0360043516610c5e565b34801561050957600080fd5b50610512610ca5565b6040805160ff9092168252519081900360200190f35b34801561053457600080fd5b50610231610cae565b34801561054957600080fd5b506103e2610cbc565b34801561055e57600080fd5b5061036f610cc2565b34801561057357600080fd5b50610231600160a060020a0360043516602435610d1f565b34801561059757600080fd5b5061036f600435610d81565b3480156105af57600080fd5b50610231610db3565b3480156105c457600080fd5b50610231610dbc565b3480156105d957600080fd5b50610231600160a060020a0360043516602435610dc5565b3480156105fd57600080fd5b50610606610de2565b60408051600160a060020a039092168252519081900360200190f35b34801561062e57600080fd5b506103e2600160a060020a0360043516610df1565b34801561064f57600080fd5b5061036f610e0c565b34801561066457600080fd5b50610231610e7a565b34801561067957600080fd5b5061036f610ee7565b34801561068e57600080fd5b50610606610f1f565b3480156106a357600080fd5b5061026f610f2e565b3480156106b857600080fd5b5061026f610f53565b3480156106cd57600080fd5b5061036f600160a060020a0360043516610fae565b3480156106ee57600080fd5b50610231610ff2565b34801561070357600080fd5b50610231600160a060020a0360043516602435610ffb565b34801561072757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610231948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110209650505050505050565b34801561079057600080fd5b50610231600160a060020a0360043516602435611046565b3480156107b457600080fd5b506103e2600160a060020a0360043581169060243516611063565b3480156107db57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261036f94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505060ff8535169550505060208301359260408101351515925060608101351515915060800135151561108e565b34801561089257600080fd5b5061036f600160a060020a0360043516611131565b3480156108b357600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610231948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506111519650505050505050565b34801561095a57600080fd5b5061039b611181565b34801561096f57600080fd5b5061039b6111a5565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191660009081526004602052604090205460ff1690565b600854610100900460ff1681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a405780601f10610a1557610100808354040283529160200191610a40565b820191906000526020600020905b815481529060010190602001808311610a2357829003601f168201915b505050505081565b60055460009060a060020a900460ff161515610a6357600080fd5b610a6d83836111c9565b9392505050565b610ade826009836040518082805190602001908083835b60208310610aaa5780518252601f199092019160209182019101610a8b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929150506111e6565b5050565b60055460009060a060020a900460ff1615610afc57600080fd5b600b546001819055600354600160a060020a0316600090815260208190526040902055610b276111fb565b90505b90565b7ffd155c670000000000000000000000000000000000000000000000000000000081565b60015490565b60055460a060020a900460ff1681565b7f01ffc9a70000000000000000000000000000000000000000000000000000000081565b600d5481565b6000610a6d836009846040518082805190602001908083835b60208310610bc95780518252601f199092019160209182019101610baa565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092209291505061121d565b60055460009060a060020a900460ff161515610c1857600080fd5b610c2384848461123c565b949350505050565b600354600160a060020a03163314610c4257600080fd5b60055460a060020a900460ff1615610c5957600080fd5b600d55565b600354600160a060020a03163314610c7557600080fd5b610ca2816040805190810160405280600681526020016000805160206122b883398151915281525061125a565b50565b600a5460ff1681565b600e54610100900460ff1681565b600b5481565b600354600160a060020a03163314610cd957600080fd5b60085460ff161515610cea57600080fd5b6008805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600c5460009060ff161515610d3357600080fd5b60055460a060020a900460ff161515610d4b57600080fd5b6000600d541115610d7757600d54600154610d6c908463ffffffff61136b16565b1115610d7757600080fd5b610a6d838361137e565b600e5460ff161515610d9257600080fd5b60055460a060020a900460ff161515610daa57600080fd5b610ca28161149b565b600c5460ff1681565b60085460ff1681565b60085460009060ff1615610dd857600080fd5b610a6d83836114a5565b600554600160a060020a031681565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a03163314610e2357600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a03163314610e9457600080fd5b600854610100900460ff1615610ea957600080fd5b6008805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600e54610100900460ff161515610efd57600080fd5b60055460a060020a900460ff161515610f1557600080fd5b610f1d611596565b565b600354600160a060020a031681565b60408051808201909152600681526000805160206122b8833981519152602082015281565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a405780601f10610a1557610100808354040283529160200191610a40565b600354600160a060020a03163314610fc557600080fd5b610ca2816040805190810160405280600681526020016000805160206122b88339815191528152506115f5565b600e5460ff1681565b60055460009060a060020a900460ff16151561101657600080fd5b610a6d83836116c7565b60055460009060a060020a900460ff16151561103b57600080fd5b610c238484846116e4565b60085460009060ff161561105957600080fd5b610a6d8383611702565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a031633146110a557600080fd5b60055460a060020a900460ff16156110bc57600080fd5b86516110cf9060069060208a019061221f565b5085516110e390600790602089019061221f565b50600a805460ff1990811660ff97909716969096179055600b93909355600c8054851692151592909217909155600e80549093169015151761ff001916610100911515919091021790555050565b600354600160a060020a0316331461114857600080fd5b610ca28161179b565b60055460009060a060020a900460ff16151561116c57600080fd5b61117885858585611819565b95945050505050565b7fd0c381c90000000000000000000000000000000000000000000000000000000081565b7f6125ede50000000000000000000000000000000000000000000000000000000081565b60085460009060ff16156111dc57600080fd5b610a6d8383611838565b6111f0828261121d565b1515610ade57600080fd5b600354600090600160a060020a0316331461121557600080fd5b610b2761189e565b600160a060020a03166000908152602091909152604090205460ff1690565b60085460009060ff161561124f57600080fd5b610c238484846118c7565b6112c4826009836040518082805190602001908083835b602083106112905780518252601f199092019160209182019101611271565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611a3c565b81600160a060020a03167fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561132d578181015183820152602001611315565b50505050905090810190601f16801561135a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b8181018281101561137857fe5b92915050565b60006113ad336040805190810160405280600681526020016000805160206122b8833981519152815250610a74565b600854610100900460ff16156113c257600080fd5b6001546113d5908363ffffffff61136b16565b600155600160a060020a038316600090815260208190526040902054611401908363ffffffff61136b16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b610ca23382611a5e565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106114f957336000908152600260209081526040808320600160a060020a038816845290915281205561152e565b611509818463ffffffff611b5f16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600354600160a060020a031633146115ad57600080fd5b60085460ff16156115bd57600080fd5b6008805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b61165f826009836040518082805190602001908083835b6020831061162b5780518252601f19909201916020918201910161160c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611b71565b81600160a060020a03167fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b700489826040518080602001828103825283818151815260200191508051906020019080838360008381101561132d578181015183820152602001611315565b60085460009060ff16156116da57600080fd5b610a6d8383611b96565b60085460009060ff16156116f757600080fd5b610c23848484611bb3565b336000908152600260209081526040808320600160a060020a0386168452909152812054611736908363ffffffff61136b16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156117b057600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460009060ff161561182c57600080fd5b61117885858585611be0565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6005805474ff0000000000000000000000000000000000000000191660a060020a179055600190565b600160a060020a0383166000908152602081905260408120548211156118ec57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561191c57600080fd5b600160a060020a038316151561193157600080fd5b600160a060020a03841660009081526020819052604090205461195a908363ffffffff611b5f16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461198f908363ffffffff61136b16565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546119d1908363ffffffff611b5f16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a038216600090815260208190526040902054811115611a8357600080fd5b600160a060020a038216600090815260208190526040902054611aac908263ffffffff611b5f16565b600160a060020a038316600090815260208190526040902055600154611ad8908263ffffffff611b5f16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600082821115611b6b57fe5b50900390565b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b60085460009060ff1615611ba957600080fd5b610a6d8383611ebe565b6000611bbe84611eed565b15611bd557611bce848484611ef5565b9050610a6d565b611bce8484846120f8565b6000611beb85611eed565b15611eac5783611bfa33610df1565b11611c0457600080fd5b611c1d84611c1133610df1565b9063ffffffff611b5f16565b33600090815260208190526040902055611c4684611c3a87610df1565b9063ffffffff61136b16565b60008087600160a060020a0316600160a060020a031681526020019081526020016000208190555084600160a060020a03166000836040516020018082805190602001908083835b60208310611cad5780518252601f199092019160209182019101611c8e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611d105780518252601f199092019160209182019101611cf1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611da2578181015183820152602001611d8a565b50505050905090810190601f168015611dcf5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af193505050501515611def57fe5b84600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e69578181015183820152602001611e51565b50505050905090810190601f168015611e965780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001610c23565b611eb78585856120f8565b9050610c23565b60006060611ecb84611eed565b15611ee257611edb848483611ef5565b915061158f565b611edb8484836120f8565b6000903b1190565b60008083611f0233610df1565b11611f0c57600080fd5b611f1984611c1133610df1565b33600090815260208190526040902055611f3684611c3a87610df1565b600160a060020a0386166000818152602081815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b83811015611fd2578181015183820152602001611fba565b50505050905090810190601f168015611fff5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561202057600080fd5b505af1158015612034573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156120b257818101518382015260200161209a565b50505050905090810190601f1680156120df5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60008261210433610df1565b1161210e57600080fd5b61211b83611c1133610df1565b3360009081526020819052604090205561213883611c3a86610df1565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156121da5781810151838201526020016121c2565b50505050905090810190601f1680156122075780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061226057805160ff191683800117855561228d565b8280016001018555821561228d579182015b8281111561228d578251825591602001919060010190612272565b5061229992915061229d565b5090565b610b2a91905b8082111561229957600081556001016122a356006d696e7465720000000000000000000000000000000000000000000000000000a165627a7a723058206a066305611f26c6a625029a49005943daf5c288b32b72525e09ce2fbd9a11830029",
  "deployedBytecode": "0x6080604052600436106101f55763ffffffff60e060020a60003504166301ffc9a781146101fa57806305d2035b1461024557806306fdde031461025a578063095ea7b3146102e45780630988ca8c146103085780630f15f4c014610371578063172d02bd1461038657806318160ddd146103cd578063186601ca146103f457806319fa8f50146104095780632154dc391461041e578063217fe6c61461043357806323b872dd1461049a57806325d387b5146104c45780633092afd5146104dc578063313ce567146104fd5780633677584714610528578063378dc3dc1461053d5780633f4ba83a1461055257806340c10f191461056757806342966c681461058b5780634bf365df146105a35780635c975abb146105b857806366188463146105cd5780636f2ddd93146105f157806370a0823114610622578063715018a6146106435780637d64bcb4146106585780638456cb591461066d5780638da5cb5b1461068257806392afc33a1461069757806395d89b41146106ac578063983b2d56146106c1578063a07c7ce4146106e2578063a9059cbb146106f7578063be45fd621461071b578063d73dd62314610784578063dd62ed3e146107a8578063f2226de6146107cf578063f2fde38b14610886578063f6368f8a146108a7578063fb499abc1461094e578063fbf964eb14610963575b600080fd5b34801561020657600080fd5b506102317bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1960043516610978565b604080519115158252519081900360200190f35b34801561025157600080fd5b506102316109ac565b34801561026657600080fd5b5061026f6109ba565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a9578181015183820152602001610291565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f057600080fd5b50610231600160a060020a0360043516602435610a48565b34801561031457600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261036f958335600160a060020a0316953695604494919390910191908190840183828082843750949750610a749650505050505050565b005b34801561037d57600080fd5b50610231610ae2565b34801561039257600080fd5b5061039b610b2d565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b3480156103d957600080fd5b506103e2610b51565b60408051918252519081900360200190f35b34801561040057600080fd5b50610231610b57565b34801561041557600080fd5b5061039b610b67565b34801561042a57600080fd5b506103e2610b8b565b34801561043f57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610231958335600160a060020a0316953695604494919390910191908190840183828082843750949750610b919650505050505050565b3480156104a657600080fd5b50610231600160a060020a0360043581169060243516604435610bfd565b3480156104d057600080fd5b5061036f600435610c2b565b3480156104e857600080fd5b5061036f600160a060020a0360043516610c5e565b34801561050957600080fd5b50610512610ca5565b6040805160ff9092168252519081900360200190f35b34801561053457600080fd5b50610231610cae565b34801561054957600080fd5b506103e2610cbc565b34801561055e57600080fd5b5061036f610cc2565b34801561057357600080fd5b50610231600160a060020a0360043516602435610d1f565b34801561059757600080fd5b5061036f600435610d81565b3480156105af57600080fd5b50610231610db3565b3480156105c457600080fd5b50610231610dbc565b3480156105d957600080fd5b50610231600160a060020a0360043516602435610dc5565b3480156105fd57600080fd5b50610606610de2565b60408051600160a060020a039092168252519081900360200190f35b34801561062e57600080fd5b506103e2600160a060020a0360043516610df1565b34801561064f57600080fd5b5061036f610e0c565b34801561066457600080fd5b50610231610e7a565b34801561067957600080fd5b5061036f610ee7565b34801561068e57600080fd5b50610606610f1f565b3480156106a357600080fd5b5061026f610f2e565b3480156106b857600080fd5b5061026f610f53565b3480156106cd57600080fd5b5061036f600160a060020a0360043516610fae565b3480156106ee57600080fd5b50610231610ff2565b34801561070357600080fd5b50610231600160a060020a0360043516602435610ffb565b34801561072757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610231948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110209650505050505050565b34801561079057600080fd5b50610231600160a060020a0360043516602435611046565b3480156107b457600080fd5b506103e2600160a060020a0360043581169060243516611063565b3480156107db57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261036f94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505060ff8535169550505060208301359260408101351515925060608101351515915060800135151561108e565b34801561089257600080fd5b5061036f600160a060020a0360043516611131565b3480156108b357600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610231948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506111519650505050505050565b34801561095a57600080fd5b5061039b611181565b34801561096f57600080fd5b5061039b6111a5565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191660009081526004602052604090205460ff1690565b600854610100900460ff1681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a405780601f10610a1557610100808354040283529160200191610a40565b820191906000526020600020905b815481529060010190602001808311610a2357829003601f168201915b505050505081565b60055460009060a060020a900460ff161515610a6357600080fd5b610a6d83836111c9565b9392505050565b610ade826009836040518082805190602001908083835b60208310610aaa5780518252601f199092019160209182019101610a8b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929150506111e6565b5050565b60055460009060a060020a900460ff1615610afc57600080fd5b600b546001819055600354600160a060020a0316600090815260208190526040902055610b276111fb565b90505b90565b7ffd155c670000000000000000000000000000000000000000000000000000000081565b60015490565b60055460a060020a900460ff1681565b7f01ffc9a70000000000000000000000000000000000000000000000000000000081565b600d5481565b6000610a6d836009846040518082805190602001908083835b60208310610bc95780518252601f199092019160209182019101610baa565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092209291505061121d565b60055460009060a060020a900460ff161515610c1857600080fd5b610c2384848461123c565b949350505050565b600354600160a060020a03163314610c4257600080fd5b60055460a060020a900460ff1615610c5957600080fd5b600d55565b600354600160a060020a03163314610c7557600080fd5b610ca2816040805190810160405280600681526020016000805160206122b883398151915281525061125a565b50565b600a5460ff1681565b600e54610100900460ff1681565b600b5481565b600354600160a060020a03163314610cd957600080fd5b60085460ff161515610cea57600080fd5b6008805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600c5460009060ff161515610d3357600080fd5b60055460a060020a900460ff161515610d4b57600080fd5b6000600d541115610d7757600d54600154610d6c908463ffffffff61136b16565b1115610d7757600080fd5b610a6d838361137e565b600e5460ff161515610d9257600080fd5b60055460a060020a900460ff161515610daa57600080fd5b610ca28161149b565b600c5460ff1681565b60085460ff1681565b60085460009060ff1615610dd857600080fd5b610a6d83836114a5565b600554600160a060020a031681565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a03163314610e2357600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a03163314610e9457600080fd5b600854610100900460ff1615610ea957600080fd5b6008805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600e54610100900460ff161515610efd57600080fd5b60055460a060020a900460ff161515610f1557600080fd5b610f1d611596565b565b600354600160a060020a031681565b60408051808201909152600681526000805160206122b8833981519152602082015281565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a405780601f10610a1557610100808354040283529160200191610a40565b600354600160a060020a03163314610fc557600080fd5b610ca2816040805190810160405280600681526020016000805160206122b88339815191528152506115f5565b600e5460ff1681565b60055460009060a060020a900460ff16151561101657600080fd5b610a6d83836116c7565b60055460009060a060020a900460ff16151561103b57600080fd5b610c238484846116e4565b60085460009060ff161561105957600080fd5b610a6d8383611702565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a031633146110a557600080fd5b60055460a060020a900460ff16156110bc57600080fd5b86516110cf9060069060208a019061221f565b5085516110e390600790602089019061221f565b50600a805460ff1990811660ff97909716969096179055600b93909355600c8054851692151592909217909155600e80549093169015151761ff001916610100911515919091021790555050565b600354600160a060020a0316331461114857600080fd5b610ca28161179b565b60055460009060a060020a900460ff16151561116c57600080fd5b61117885858585611819565b95945050505050565b7fd0c381c90000000000000000000000000000000000000000000000000000000081565b7f6125ede50000000000000000000000000000000000000000000000000000000081565b60085460009060ff16156111dc57600080fd5b610a6d8383611838565b6111f0828261121d565b1515610ade57600080fd5b600354600090600160a060020a0316331461121557600080fd5b610b2761189e565b600160a060020a03166000908152602091909152604090205460ff1690565b60085460009060ff161561124f57600080fd5b610c238484846118c7565b6112c4826009836040518082805190602001908083835b602083106112905780518252601f199092019160209182019101611271565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611a3c565b81600160a060020a03167fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561132d578181015183820152602001611315565b50505050905090810190601f16801561135a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b8181018281101561137857fe5b92915050565b60006113ad336040805190810160405280600681526020016000805160206122b8833981519152815250610a74565b600854610100900460ff16156113c257600080fd5b6001546113d5908363ffffffff61136b16565b600155600160a060020a038316600090815260208190526040902054611401908363ffffffff61136b16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b610ca23382611a5e565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106114f957336000908152600260209081526040808320600160a060020a038816845290915281205561152e565b611509818463ffffffff611b5f16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600354600160a060020a031633146115ad57600080fd5b60085460ff16156115bd57600080fd5b6008805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b61165f826009836040518082805190602001908083835b6020831061162b5780518252601f19909201916020918201910161160c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611b71565b81600160a060020a03167fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b700489826040518080602001828103825283818151815260200191508051906020019080838360008381101561132d578181015183820152602001611315565b60085460009060ff16156116da57600080fd5b610a6d8383611b96565b60085460009060ff16156116f757600080fd5b610c23848484611bb3565b336000908152600260209081526040808320600160a060020a0386168452909152812054611736908363ffffffff61136b16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156117b057600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460009060ff161561182c57600080fd5b61117885858585611be0565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6005805474ff0000000000000000000000000000000000000000191660a060020a179055600190565b600160a060020a0383166000908152602081905260408120548211156118ec57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561191c57600080fd5b600160a060020a038316151561193157600080fd5b600160a060020a03841660009081526020819052604090205461195a908363ffffffff611b5f16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461198f908363ffffffff61136b16565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546119d1908363ffffffff611b5f16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a038216600090815260208190526040902054811115611a8357600080fd5b600160a060020a038216600090815260208190526040902054611aac908263ffffffff611b5f16565b600160a060020a038316600090815260208190526040902055600154611ad8908263ffffffff611b5f16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600082821115611b6b57fe5b50900390565b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b60085460009060ff1615611ba957600080fd5b610a6d8383611ebe565b6000611bbe84611eed565b15611bd557611bce848484611ef5565b9050610a6d565b611bce8484846120f8565b6000611beb85611eed565b15611eac5783611bfa33610df1565b11611c0457600080fd5b611c1d84611c1133610df1565b9063ffffffff611b5f16565b33600090815260208190526040902055611c4684611c3a87610df1565b9063ffffffff61136b16565b60008087600160a060020a0316600160a060020a031681526020019081526020016000208190555084600160a060020a03166000836040516020018082805190602001908083835b60208310611cad5780518252601f199092019160209182019101611c8e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611d105780518252601f199092019160209182019101611cf1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611da2578181015183820152602001611d8a565b50505050905090810190601f168015611dcf5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af193505050501515611def57fe5b84600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e69578181015183820152602001611e51565b50505050905090810190601f168015611e965780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001610c23565b611eb78585856120f8565b9050610c23565b60006060611ecb84611eed565b15611ee257611edb848483611ef5565b915061158f565b611edb8484836120f8565b6000903b1190565b60008083611f0233610df1565b11611f0c57600080fd5b611f1984611c1133610df1565b33600090815260208190526040902055611f3684611c3a87610df1565b600160a060020a0386166000818152602081815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b83811015611fd2578181015183820152602001611fba565b50505050905090810190601f168015611fff5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561202057600080fd5b505af1158015612034573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156120b257818101518382015260200161209a565b50505050905090810190601f1680156120df5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60008261210433610df1565b1161210e57600080fd5b61211b83611c1133610df1565b3360009081526020819052604090205561213883611c3a86610df1565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156121da5781810151838201526020016121c2565b50505050905090810190601f1680156122075780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061226057805160ff191683800117855561228d565b8280016001018555821561228d579182015b8281111561228d578251825591602001919060010190612272565b5061229992915061229d565b5090565b610b2a91905b8082111561229957600081556001016122a356006d696e7465720000000000000000000000000000000000000000000000000000a165627a7a723058206a066305611f26c6a625029a49005943daf5c288b32b72525e09ce2fbd9a11830029",
  "sourceMap": "259:3920:7:-;;;247:26:41;;;-1:-1:-1;;436:35:48;;;1524:26:7;;;-1:-1:-1;;1524:26:7;1548:2;1524:26;;;1926:186;5:2:-1;;;;30:1;27;20:12;5:2;1926:186:7;;;;;;;;;;;;;;;;;;;;;;;;;;567:5:43;:18;;-1:-1:-1;;;;;;567:18:43;575:10;567:18;;;1926:186:7;;;;;;;;;;;649:38:40;668:18;649;;;;:38;:::i;:::-;-1:-1:-1;;;;;568:20:22;;;;560:29;;;;;;600:8;:31;;620:10;-1:-1:-1;;;;;;600:31:22;;;;;;;641:5;:14;;;;;-1:-1:-1;;;;;641:14:22;;;;;666:40;685:20;666:18;;;;:40;:::i;:::-;-1:-1:-1;591:12:25;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;613:16:25;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;640:37:25;659:17;640:18;;;;:37;:::i;:::-;-1:-1:-1;2061:43:7;;-1:-1:-1;2080:23:7;;-1:-1:-1;2061:18:7;;;;:43;:::i;:::-;1926:186;;;259:3920;;987:156:40;1065:26;;;;;;1057:35;;;;;;1098:33;;;;;;:19;:33;;;;;:40;;-1:-1:-1;;1098:40:40;1134:4;1098:40;;;987:156::o;259:3920:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;259:3920:7;;;-1:-1:-1;259:3920:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "259:3920:7:-;;;;;;;;;-1:-1:-1;;;259:3920:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:142:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;775:142:40;-1:-1:-1;;775:142:40;;;;;;;;;;;;;;;;;;;;;;;436:35:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;436:35:48;;;;418:18:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;418:18:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;418:18:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3596:138:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3596:138:7;-1:-1:-1;;;;;3596:138:7;;;;;;;837:114:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;837:114:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;837:114:37;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:114:37;;-1:-1:-1;837:114:37;;-1:-1:-1;;;;;;;837:114:37;;;2695:177:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2695:177:7;;;;358:53:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;358:53:25;;;;;;;;-1:-1:-1;;358:53:25;;;;;;;;;;;;;;389:83:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:44;;;;;;;;;;;;;;;;;;;;53:21:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53:21:21;;;;230:54:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;230:54:40;;;;1616:26:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1616:26:7;;;;1091:136:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1091:136:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1091:136:37;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1091:136:37;;-1:-1:-1;1091:136:37;;-1:-1:-1;;;;;;;1091:136:37;3396:194:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3396:194:7;-1:-1:-1;;;;;3396:194:7;;;;;;;;;;;;2569:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2569:120:7;;;;;830:99:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;830:99:50;-1:-1:-1;;;;;830:99:50;;;;;1524:26:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1524:26:7;;;;;;;;;;;;;;;;;;;;;;;1674:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1674:20:7;;;;1556:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1556:28:7;;;;838:92:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:92:41;;;;3740:245:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3740:245:7;-1:-1:-1;;;;;3740:245:7;;;;;;;3991:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3991:99:7;;;;;1590:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1590:20:7;;;;247:26:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;247:26:41;;;;957:205:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;957:205:49;-1:-1:-1;;;;;957:205:49;;;;;;;484:24:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;484:24:22;;;;;;;;-1:-1:-1;;;;;484:24:22;;;;;;;;;;;;;;1149:99:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1149:99:44;-1:-1:-1;;;;;1149:99:44;;;;;1001:111:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:43;;;;1280:140:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1280:140:48;;;;4096:81:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4096:81:7;;;;238:20:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:43;;;;346:45:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;346:45:50;;;;442:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;442:20:25;;;;646:93:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;646:93:50;-1:-1:-1;;;;;646:93:50;;;;;1648:20:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1648:20:7;;;;3251:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3251:139:7;-1:-1:-1;;;;;3251:139:7;;;;;;;3086:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3086:159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3086:159:7;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3086:159:7;;-1:-1:-1;3086:159:7;;-1:-1:-1;;;;;;;3086:159:7;758:195:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;758:195:49;-1:-1:-1;;;;;758:195:49;;;;;;;2321:153:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2321:153:51;-1:-1:-1;;;;;2321:153:51;;;;;;;;;;2118:445:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2118:445:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2118:445:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2118:445:7;;;;-1:-1:-1;2118:445:7;-1:-1:-1;2118:445:7;;-1:-1:-1;2118:445:7;;;;;;;;-1:-1:-1;2118:445:7;;-1:-1:-1;;2118:445:7;;;;;-1:-1:-1;;;2118:445:7;;;;;;;;;;;;-1:-1:-1;2118:445:7;;;;;;;-1:-1:-1;2118:445:7;;;;;;;1274:103:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:43;-1:-1:-1;;;;;1274:103:43;;;;;2878:202:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2878:202:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:202:7;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2878:202:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2878:202:7;;;;-1:-1:-1;2878:202:7;-1:-1:-1;2878:202:7;;-1:-1:-1;2878:202:7;;;;;;;;-1:-1:-1;2878:202:7;;-1:-1:-1;2878:202:7;;-1:-1:-1;;;;;;;2878:202:7;1458:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1458:59:7;;;;421:56:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;421:56:22;;;;775:142:40;-1:-1:-1;;879:33:40;858:4;879:33;;;:19;:33;;;;;;;;;775:142::o;436:35:48:-;;;;;;;;;:::o;418:18:25:-;;;;;;;;;;;;;;;-1:-1:-1;;418:18:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3596:138:7:-;122:9:21;;3675:4:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3698:29:7;3712:7;3721:5;3698:13;:29::i;:::-;3691:36;3596:138;-1:-1:-1;;;3596:138:7:o;837:114:37:-;917:29;936:9;917:5;923;917:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;917:12:37;;;;;-1:-1:-1;917:12:37;;;;;;;;;;;;-1:-1:-1;;917:18:37;:29::i;:::-;837:114;;:::o;2695:177:7:-;201:9:21;;2748:4:7;;-1:-1:-1;;;201:9:21;;;;200:10;192:19;;;;;;2779:13:7;;2764:12;:28;;;2811:5;;-1:-1:-1;;;;;2811:5:7;-1:-1:-1;2802:15:7;;;;;;;;;;:30;2849:16;:14;:16::i;:::-;2842:23;;221:1:21;2695:177:7;:::o;358:53:25:-;;;:::o;389:83:44:-;455:12;;389:83;:::o;53:21:21:-;;;-1:-1:-1;;;53:21:21;;;;;:::o;230:54:40:-;;;:::o;1616:26:7:-;;;;:::o;1091:136:37:-;1174:4;1195:27;1212:9;1195:5;1201;1195:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1195:12:37;;;;;-1:-1:-1;1195:12:37;;;;;;;;;;;;-1:-1:-1;;1195:16:37;:27::i;3396:194:7:-;122:9:21;;3522:4:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3545:38:7;3564:5;3571:3;3576:6;3545:18;:38::i;:::-;3538:45;3396:194;-1:-1:-1;;;;3396:194:7:o;2569:120::-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;201:9:21;;-1:-1:-1;;;201:9:21;;;;200:10;192:19;;;;;;2656:11:7;:26;2569:120::o;830:99:50:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;892:32:50;903:7;912:11;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;912:11:50;;;892:10;:32::i;:::-;830:99;:::o;1524:26:7:-;;;;;;:::o;1674:20::-;;;;;;;;;:::o;1556:28::-;;;;:::o;838:92:41:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;568:6:41;;;;560:15;;;;;;;;891:6;:14;;-1:-1:-1;;891:14:41;;;916:9;;;;900:5;;916:9;838:92::o;3740:245:7:-;1818:8;;3827:4;;1818:8;;1810:17;;;;;;;;122:9:21;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3861:1:7;3847:11;;:15;3843:95;;;3915:11;;3886:12;;:25;;3903:7;3886:25;:16;:25;:::i;:::-;:40;;3878:49;;;;;;3954:24;3965:3;3970:7;3954:10;:24::i;3991:99::-;1743:8;;;;1735:17;;;;;;;;122:9:21;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;4065::7;4076:6;4065:10;:18::i;1590:20::-;;;;;;:::o;247:26:41:-;;;;;;:::o;957:205:49:-;416:6:41;;1078:12:49;;416:6:41;;415:7;407:16;;;;;;1107:50:49;1130:8;1140:16;1107:22;:50::i;484:24:22:-;;;-1:-1:-1;;;;;484:24:22;;:::o;1149:99:44:-;-1:-1:-1;;;;;1227:16:44;1205:7;1227:16;;;;;;;;;;;;1149:99::o;1001:111:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1077:5;;1058:25;;-1:-1:-1;;;;;1077:5:43;;;;1058:25;;1077:5;;1058:25;1089:5;:18;;-1:-1:-1;;1089:18:43;;;1001:111::o;1280:140:48:-;719:5:43;;1339:4:48;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;511:15:48;;;;;;;510:16;502:25;;;;;;1351:15;:22;;-1:-1:-1;;1351:22:48;;;;;1384:14;;;;1351:22;;1384:14;-1:-1:-1;1411:4:48;1280:140;:::o;4096:81:7:-;1893:8;;;;;;;1885:17;;;;;;;;122:9:21;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;4157:13:7;:11;:13::i;:::-;4096:81::o;238:20:43:-;;;-1:-1:-1;;;;;238:20:43;;:::o;346:45:50:-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;346:45:50;;;;;:::o;442:20:25:-;;;;;;;;;;;;;;;-1:-1:-1;;442:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;646:93:50;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;705:29:50;713:7;722:11;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;722:11:50;;;705:7;:29::i;1648:20:7:-;;;;;;:::o;3251:139::-;122:9:21;;3325:12:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3356:27:7;3371:3;3376:6;3356:14;:27::i;3086:159::-;122:9:21;;3173:12:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3204:34:7;3219:3;3224:6;3232:5;3204:14;:34::i;758:195:49:-;416:6:41;;874:12:49;;416:6:41;;415:7;407:16;;;;;;903:45:49;926:8;936:11;903:22;:45::i;2321:153:51:-;-1:-1:-1;;;;;2444:15:51;;;2420:7;2444:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2321:153::o;2118:445:7:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;201:9:21;;-1:-1:-1;;;201:9:21;;;;200:10;192:19;;;;;;2358:12:7;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;2380:16:7;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;2406:8:7;:20;;-1:-1:-1;;2406:20:7;;;;;;;;;;;;;;2436:13;:30;;;;2476:8;:20;;;;;;;;;;;;;;2506:8;:20;;;;;;;;;-1:-1:-1;;2536:20:7;2406;2536;;;;;;;;;;-1:-1:-1;;2118:445:7:o;1274:103:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;2878:202:7:-;122:9:21;;2990:12:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3021:52:7;3036:3;3041:6;3049:5;3056:16;3021:14;:52::i;:::-;3014:59;2878:202;-1:-1:-1;;;;;2878:202:7:o;1458:59::-;;;:::o;421:56:22:-;;;:::o;592:162:49:-;416:6:41;;697:4:49;;416:6:41;;415:7;407:16;;;;;;718:31:49;732:8;742:6;718:13;:31::i;666:111:38:-;754:17;758:5;765;754:3;:17::i;:::-;746:26;;;;;;;690:92:25;719:5:43;;736:4:25;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;759:16:25;:14;:16::i;855:128:38:-;-1:-1:-1;;;;;959:19:38;938:4;959:19;;;;;;;;;;;;;;;855:128::o;400:188:49:-;416:6:41;;524:4:49;;416:6:41;;415:7;407:16;;;;;;545:38:49;564:5;571:3;576:6;545:18;:38::i;1613:149:37:-;1687:30;1707:9;1687:5;1693;1687:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1687:12:37;;;;;-1:-1:-1;1687:12:37;;;;;;;;;;;;-1:-1:-1;;1687:19:37;:30::i;:::-;1740:9;-1:-1:-1;;;;;1728:29:37;;1751:5;1728:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1728:29:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1613:149;;:::o;1238:128:42:-;1319:7;;;1339;;;;1332:15;;;;1238:128;;;;:::o;854:312:48:-;968:4;514:34:50;524:10;536:11;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;536:11:50;;;514:9;:34::i;:::-;511:15:48;;;;;;;510:16;502:25;;;;;;997:12;;:25;;1014:7;997:25;:16;:25;:::i;:::-;982:12;:40;-1:-1:-1;;;;;1044:13:48;;:8;:13;;;;;;;;;;;:26;;1062:7;1044:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;1028:13:48;;:8;:13;;;;;;;;;;;;:42;;;;1081:18;;;;;;;1028:13;;1081:18;;;;;;;;;1110:34;;;;;;;;-1:-1:-1;;;;;1110:34:48;;;1127:1;;1110:34;;;;;;;;;-1:-1:-1;1157:4:48;854:312;;;;:::o;353:73:45:-;396:25;402:10;414:6;396:5;:25::i;3679:432:51:-;3826:10;3785:4;3818:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3818:29:51;;;;;;;;;;3857:28;;;3853:165;;3903:10;3927:1;3895:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3895:29:51;;;;;;;;;:33;3853:165;;;3981:30;:8;3994:16;3981:30;:12;:30;:::i;:::-;3957:10;3949:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3949:29:51;;;;;;;;;:62;3853:165;4037:10;4059:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4028:61:51;;4059:29;;;;;;;;;;;4028:61;;;;;;;;;4037:10;4028:61;;;;;;;;;;;4102:4;4095:11;;3679:432;;;;;;:::o;666:90:41:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;416:6:41;;;;415:7;407:16;;;;;;720:6;:13;;-1:-1:-1;;720:13:41;729:4;720:13;;;744:7;;;;720:6;;744:7;666:90::o;1347:141:37:-;1418:27;1435:9;1418:5;1424;1418:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1418:12:37;;;;;-1:-1:-1;1418:12:37;;;;;;;;;;;;-1:-1:-1;;1418:16:37;:27::i;:::-;1466:9;-1:-1:-1;;;;;1456:27:37;;1477:5;1456:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;578:139:4;416:6:41;;652:12:4;;416:6:41;;415:7;407:16;;;;;;683:27:4;698:3;703:6;683:14;:27::i;413:159::-;416:6:41;;500:12:4;;416:6:41;;415:7;407:16;;;;;;531:34:4;546:3;551:6;559:5;531:14;:34::i;2926:296:51:-;3089:10;3027:4;3081:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3081:29:51;;;;;;;;;;:46;;3115:11;3081:46;:33;:46;:::i;:::-;3049:10;3041:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3041:29:51;;;;;;;;;;;;:87;;;3139:61;;;;;;3041:29;;3139:61;;;;;;;;;;;-1:-1:-1;3213:4:51;2926:296;;;;:::o;1512:171:43:-;-1:-1:-1;;;;;1582:23:43;;;;1574:32;;;;;;1638:5;;1617:38;;-1:-1:-1;;;;;1617:38:43;;;;1638:5;;1617:38;;1638:5;;1617:38;1661:5;:17;;-1:-1:-1;;1661:17:43;-1:-1:-1;;;;;1661:17:43;;;;;;;;;;1512:171::o;205:202:4:-;416:6:41;;317:12:4;;416:6:41;;415:7;407:16;;;;;;348:52:4;363:3;368:6;376:5;383:16;348:14;:52::i;1814:188:51:-;1901:10;1881:4;1893:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;1893:29:51;;;;;;;;;;;:38;;;1942;;;;;;;1881:4;;1893:29;;1901:10;;1942:38;;;;;;;;-1:-1:-1;1993:4:51;1814:188;;;;:::o;235:96:21:-;287:9;:16;;-1:-1:-1;;287:16:21;-1:-1:-1;;;287:16:21;;;299:4;235:96;:::o;726:470:51:-;-1:-1:-1;;;;;864:15:51;;832:4;864:15;;;;;;;;;;;854:25;;;846:34;;;;;;-1:-1:-1;;;;;904:14:51;;;;;;:7;:14;;;;;;;;919:10;904:26;;;;;;;;894:36;;;886:45;;;;;;-1:-1:-1;;;;;945:17:51;;;;937:26;;;;;;-1:-1:-1;;;;;988:15:51;;:8;:15;;;;;;;;;;;:27;;1008:6;988:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;970:15:51;;;:8;:15;;;;;;;;;;;:45;;;;1037:13;;;;;;;:25;;1055:6;1037:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1021:13:51;;;:8;:13;;;;;;;;;;;:41;;;;1097:14;;;;;:7;:14;;;;;1112:10;1097:26;;;;;;;:38;;1128:6;1097:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1068:14:51;;;;;;;:7;:14;;;;;;;;1083:10;1068:26;;;;;;;;:67;;;;1146:28;;;;;;;;;;;1068:14;;1146:28;;;;;;;;;;;-1:-1:-1;1187:4:51;726:470;;;;;:::o;486:104:38:-;-1:-1:-1;;;;;558:19:38;580:5;558:19;;;;;;;;;;;:27;;-1:-1:-1;;558:27:38;;;486:104::o;430:438:45:-;-1:-1:-1;;;;;508:14:45;;:8;:14;;;;;;;;;;;498:24;;;490:33;;;;;;-1:-1:-1;;;;;718:14:45;;:8;:14;;;;;;;;;;;:26;;737:6;718:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;701:14:45;;:8;:14;;;;;;;;;;:43;765:12;;:24;;782:6;765:24;:16;:24;:::i;:::-;750:12;:39;800:18;;;;;;;;-1:-1:-1;;;;;800:18:45;;;;;;;;;;;;;829:34;;;;;;;;852:1;;-1:-1:-1;;;;;829:34:45;;;;;;;;;;;;430:438;;:::o;1060:116:42:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:42;;;1060:116::o;321:100:38:-;-1:-1:-1;;;;;390:19:38;:12;:19;;;;;;;;;;;:26;;-1:-1:-1;;390:26:38;412:4;390:26;;;321:100::o;242:154:49:-;416:6:41;;343:4:49;;416:6:41;;415:7;407:16;;;;;;364:27:49;379:3;384:6;364:14;:27::i;1064:278:6:-;1137:12;1166:15;1177:3;1166:10;:15::i;:::-;1162:174;;;1204:38;1223:3;1228:6;1236:5;1204:18;:38::i;:::-;1197:45;;;;1162:174;1288:37;1306:3;1311:6;1319:5;1288:17;:37::i;338:630::-;436:12;465:15;476:3;465:10;:15::i;:::-;461:501;;;528:6;504:21;514:10;504:9;:21::i;:::-;:30;496:39;;;;;;572:33;598:6;572:21;582:10;572:9;:21::i;:::-;:25;:33;:25;:33;:::i;:::-;558:10;549:8;:20;;;;;;;;;;:56;635:26;654:6;635:14;645:3;635:9;:14::i;:::-;:18;:26;:18;:26;:::i;:::-;619:8;:13;628:3;-1:-1:-1;;;;;619:13:6;-1:-1:-1;;;;;619:13:6;;;;;;;;;;;;:42;;;;682:3;-1:-1:-1;;;;;682:8:6;697:1;734:16;717:34;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;717:34:6;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;717:34:6;;;707:45;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;707:45:6;;;;;;;;;;;;;;;;-1:-1:-1;;;682:99:6;;;755:10;767:6;775:5;682:99;;;;;-1:-1:-1;;;682:99:6;;;;;;;-1:-1:-1;;;;;682:99:6;-1:-1:-1;;;;;682:99:6;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;682:99:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;675:107;;;;;;823:3;-1:-1:-1;;;;;802:40:6;811:10;-1:-1:-1;;;;;802:40:6;;828:6;836:5;802:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;802:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:4:6;857:11;;461:501;914:37;932:3;937:6;945:5;914:17;:37::i;:::-;907:44;;;;1479:426;1539:12;1696:18;1729:15;1740:3;1729:10;:15::i;:::-;1725:174;;;1767:38;1786:3;1791:6;1799:5;1767:18;:38::i;:::-;1760:45;;;;1725:174;1851:37;1869:3;1874:6;1882:5;1851:17;:37::i;2004:284::-;2061:16;2224:18;;2270:10;;2004:284::o;2788:484::-;2872:12;3065:32;2929:6;2905:21;2915:10;2905:9;:21::i;:::-;:30;2897:39;;;;;;2969:33;2995:6;2969:21;2979:10;2969:9;:21::i;:33::-;2955:10;2946:8;:20;;;;;;;;;;:56;3028:26;3047:6;3028:14;3038:3;3028:9;:14::i;:26::-;-1:-1:-1;;;;;3012:13:6;;:8;:13;;;;;;;;;;;:42;;;;3138:49;;;;;3161:10;3138:49;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:3;;-1:-1:-1;3012:13:6;;3138:22;;3161:10;;3173:6;;3181:5;;3138:49;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3138:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3138:49:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3138:49:6;;;;3224:3;-1:-1:-1;;;;;3203:40:6;3212:10;-1:-1:-1;;;;;3203:40:6;;3229:6;3237:5;3203:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3203:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3261:4:6;;2788:484;-1:-1:-1;;;;2788:484:6:o;2363:350::-;2446:12;2503:6;2479:21;2489:10;2479:9;:21::i;:::-;:30;2471:39;;;;;;2543:33;2569:6;2543:21;2553:10;2543:9;:21::i;:33::-;2529:10;2520:8;:20;;;;;;;;;;:56;2602:26;2621:6;2602:14;2612:3;2602:9;:14::i;:26::-;2586:8;:13;2595:3;-1:-1:-1;;;;;2586:13:6;-1:-1:-1;;;;;2586:13:6;;;;;;;;;;;;:42;;;;2665:3;-1:-1:-1;;;;;2644:40:6;2653:10;-1:-1:-1;;;;;2644:40:6;;2670:6;2678:5;2644:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2644:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2702:4:6;2363:350;;;;;:::o;259:3920:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;259:3920:7;;;-1:-1:-1;259:3920:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"./ERC223PausableToken.sol\";\nimport \"tokenboost-solidity/contracts/token/Token.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/RBACMintableToken.sol\";\n\ncontract ERC223Token is Token, ERC223PausableToken, BurnableToken, RBACMintableToken {\n\n    /**\n * @notice this.owner.selector ^ this.renounceOwnership.selector ^ this.transferOwnership.selector\n    ^ this.template.selector ^ this.activate.selector ^ this.name.selector ^ this.symbol.selector\n    ^ this.totalSupply.selector ^ this.balanceOf.selector ^ bytes4(keccak256(\"transfer(address,uint256)\"))\n    ^ this.allowance.selector ^ this.transferFrom.selector ^ this.approve.selector\n    ^ this.increaseApproval.selector ^ this.decreaseApproval.selector\n    ^ this.mintingFinished.selector ^ this.finishMinting.selector ^ this.checkRole.selector ^ this.hasRole.selector\n    ^ this.ROLE_MINTER.selector ^ this.addMinter.selector ^ this.removeMinter.selector\n    ^ this.burn.selector ^ this.paused.selector ^ this.pause.selector ^ this.unpause.selector\n    ^ this.decimals.selector ^ this.initialSupply.selector ^ this.mintable.selector ^ this.maxMintable.selector\n    ^ this.burnable.selector ^ this.pausable.selector ^ this.update.selector ^ this.setMaxMintable.selector\n    ^ bytes4(keccak256(\"transfer(address,uint256,bytes)\")) ^ bytes4(keccak256(\"transfer(address,uint256,bytes,string)\"))\n */\n    bytes4 public constant InterfaceId_ERC223Token = 0xd0c381c9;\n\n    uint8 public decimals = 18;\n    uint256 public initialSupply;\n    bool public mintable;\n    uint256 public maxMintable;\n    bool public burnable;\n    bool public pausable;\n\n    modifier whenBurnable() {\n        require(burnable);\n        _;\n    }\n\n    modifier whenMintable() {\n        require(mintable);\n        _;\n    }\n\n    modifier whenPausable() {\n        require(pausable);\n        _;\n    }\n\n    constructor(\n        address _owner,\n        string _name,\n        string _symbol\n    ) public Token(_owner, _name, _symbol){\n\n        _registerInterface(InterfaceId_ERC223Token);\n\n    }\n\n    function update(\n        string _name,\n        string _symbol,\n        uint8 _decimals,\n        uint256 _initialSupply,\n        bool _mintable,\n        bool _burnable,\n        bool _pausable)\n    public onlyOwner whenNotActivated {\n        name = _name;\n        symbol = _symbol;\n        decimals = _decimals;\n        initialSupply = _initialSupply;\n        mintable = _mintable;\n        burnable = _burnable;\n        pausable = _pausable;\n    }\n\n    function setMaxMintable(uint _maxMintable) onlyOwner whenNotActivated public {\n        maxMintable = _maxMintable;\n    }\n\n    function activate() whenNotActivated public returns (bool) {\n        totalSupply_ = initialSupply;\n        balances[owner] = totalSupply_;\n        return super.activate();\n    }\n\n    function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public whenActivated returns (bool success) {\n        return super.transfer(_to, _value, _data, _custom_fallback);\n    }\n\n    function transfer(address _to, uint _value, bytes _data) public whenActivated returns (bool success) {\n        return super.transfer(_to, _value, _data);\n    }\n\n    function transfer(address _to, uint _value) whenActivated public returns (bool success) {\n        return super.transfer(_to, _value);\n    }\n\n    function transferFrom(\n        address _from,\n        address _to,\n        uint256 _value\n    ) whenActivated public returns (bool) {\n        return super.transferFrom(_from, _to, _value);\n    }\n\n    function approve(address spender, uint256 value) whenActivated public returns (bool) {\n        return super.approve(spender, value);\n    }\n\n    function mint(address _to, uint256 _amount) whenMintable whenActivated public returns (bool) {\n        if (maxMintable > 0) {\n            require(totalSupply_.add(_amount) <= maxMintable);\n        }\n        return super.mint(_to, _amount);\n    }\n\n    function burn(uint256 _value) whenBurnable whenActivated public {\n        super.burn(_value);\n    }\n\n    function pause() whenPausable whenActivated public {\n        super.pause();\n    }\n}\n",
  "sourcePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223Token.sol",
  "ast": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223Token.sol",
    "exportedSymbols": {
      "ERC223Token": [
        1036
      ]
    },
    "id": 1037,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 713,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:7"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223PausableToken.sol",
        "file": "./ERC223PausableToken.sol",
        "id": 714,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 394,
        "src": "26:35:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/token/Token.sol",
        "file": "tokenboost-solidity/contracts/token/Token.sol",
        "id": 715,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 3521,
        "src": "62:55:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol",
        "file": "zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol",
        "id": 716,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 7070,
        "src": "118:67:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/token/ERC20/RBACMintableToken.sol",
        "file": "zeppelin-solidity/contracts/token/ERC20/RBACMintableToken.sol",
        "id": 717,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 7401,
        "src": "186:71:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 718,
              "name": "Token",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3520,
              "src": "283:5:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Token_$3520",
                "typeString": "contract Token"
              }
            },
            "id": 719,
            "nodeType": "InheritanceSpecifier",
            "src": "283:5:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 720,
              "name": "ERC223PausableToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 393,
              "src": "290:19:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223PausableToken_$393",
                "typeString": "contract ERC223PausableToken"
              }
            },
            "id": 721,
            "nodeType": "InheritanceSpecifier",
            "src": "290:19:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 722,
              "name": "BurnableToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7069,
              "src": "311:13:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BurnableToken_$7069",
                "typeString": "contract BurnableToken"
              }
            },
            "id": 723,
            "nodeType": "InheritanceSpecifier",
            "src": "311:13:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 724,
              "name": "RBACMintableToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7400,
              "src": "326:17:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RBACMintableToken_$7400",
                "typeString": "contract RBACMintableToken"
              }
            },
            "id": 725,
            "nodeType": "InheritanceSpecifier",
            "src": "326:17:7"
          }
        ],
        "contractDependencies": [
          321,
          393,
          711,
          3168,
          3212,
          3520,
          6531,
          6611,
          6662,
          6722,
          6902,
          6998,
          7069,
          7112,
          7144,
          7250,
          7352,
          7400,
          7647
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 1036,
        "linearizedBaseContracts": [
          1036,
          7400,
          6531,
          7250,
          7069,
          393,
          7352,
          6722,
          3520,
          3168,
          3212,
          6662,
          6611,
          6902,
          711,
          7647,
          6998,
          7112,
          7144,
          321
        ],
        "name": "ERC223Token",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 728,
            "name": "InterfaceId_ERC223Token",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1458:59:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 726,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "1458:6:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30786430633338316339",
              "id": 727,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1507:10:7",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_3502473673_by_1",
                "typeString": "int_const 3502473673"
              },
              "value": "0xd0c381c9"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 731,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1524:26:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 729,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1524:5:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 730,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1548:2:7",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 733,
            "name": "initialSupply",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1556:28:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 732,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1556:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 735,
            "name": "mintable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1590:20:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 734,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1590:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 737,
            "name": "maxMintable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1616:26:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 736,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1616:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 739,
            "name": "burnable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1648:20:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 738,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1648:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 741,
            "name": "pausable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1674:20:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 740,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1674:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 748,
              "nodeType": "Block",
              "src": "1725:45:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 744,
                        "name": "burnable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 739,
                        "src": "1743:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 743,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7665,
                        7666
                      ],
                      "referencedDeclaration": 7665,
                      "src": "1735:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 745,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1735:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 746,
                  "nodeType": "ExpressionStatement",
                  "src": "1735:17:7"
                },
                {
                  "id": 747,
                  "nodeType": "PlaceholderStatement",
                  "src": "1762:1:7"
                }
              ]
            },
            "documentation": null,
            "id": 749,
            "name": "whenBurnable",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 742,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1722:2:7"
            },
            "src": "1701:69:7",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 756,
              "nodeType": "Block",
              "src": "1800:45:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 752,
                        "name": "mintable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 735,
                        "src": "1818:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 751,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7665,
                        7666
                      ],
                      "referencedDeclaration": 7665,
                      "src": "1810:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 753,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1810:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 754,
                  "nodeType": "ExpressionStatement",
                  "src": "1810:17:7"
                },
                {
                  "id": 755,
                  "nodeType": "PlaceholderStatement",
                  "src": "1837:1:7"
                }
              ]
            },
            "documentation": null,
            "id": 757,
            "name": "whenMintable",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 750,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1797:2:7"
            },
            "src": "1776:69:7",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 764,
              "nodeType": "Block",
              "src": "1875:45:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 760,
                        "name": "pausable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 741,
                        "src": "1893:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 759,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7665,
                        7666
                      ],
                      "referencedDeclaration": 7665,
                      "src": "1885:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 761,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1885:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 762,
                  "nodeType": "ExpressionStatement",
                  "src": "1885:17:7"
                },
                {
                  "id": 763,
                  "nodeType": "PlaceholderStatement",
                  "src": "1912:1:7"
                }
              ]
            },
            "documentation": null,
            "id": 765,
            "name": "whenPausable",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 758,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1872:2:7"
            },
            "src": "1851:69:7",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 783,
              "nodeType": "Block",
              "src": "2050:62:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 780,
                        "name": "InterfaceId_ERC223Token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 728,
                        "src": "2080:23:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 779,
                      "name": "_registerInterface",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6661,
                      "src": "2061:18:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
                        "typeString": "function (bytes4)"
                      }
                    },
                    "id": 781,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2061:43:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 782,
                  "nodeType": "ExpressionStatement",
                  "src": "2061:43:7"
                }
              ]
            },
            "documentation": null,
            "id": 784,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 774,
                    "name": "_owner",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 767,
                    "src": "2027:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 775,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 769,
                    "src": "2035:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 776,
                    "name": "_symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 771,
                    "src": "2042:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 777,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 773,
                  "name": "Token",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3520,
                  "src": "2021:5:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_Token_$3520_$",
                    "typeString": "type(contract Token)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2021:29:7"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 767,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 784,
                  "src": "1947:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 766,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1947:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 769,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 784,
                  "src": "1971:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 768,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1971:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 771,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 784,
                  "src": "1993:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 770,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1993:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1937:76:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 778,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2050:0:7"
            },
            "scope": 1036,
            "src": "1926:186:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 833,
              "nodeType": "Block",
              "src": "2348:215:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 805,
                      "name": "name",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3480,
                      "src": "2358:4:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 806,
                      "name": "_name",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 786,
                      "src": "2365:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "2358:12:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 808,
                  "nodeType": "ExpressionStatement",
                  "src": "2358:12:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 811,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 809,
                      "name": "symbol",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3482,
                      "src": "2380:6:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 810,
                      "name": "_symbol",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 788,
                      "src": "2389:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "2380:16:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 812,
                  "nodeType": "ExpressionStatement",
                  "src": "2380:16:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 815,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 813,
                      "name": "decimals",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 731,
                      "src": "2406:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 814,
                      "name": "_decimals",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 790,
                      "src": "2417:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "2406:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "id": 816,
                  "nodeType": "ExpressionStatement",
                  "src": "2406:20:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 817,
                      "name": "initialSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 733,
                      "src": "2436:13:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 818,
                      "name": "_initialSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 792,
                      "src": "2452:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2436:30:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 820,
                  "nodeType": "ExpressionStatement",
                  "src": "2436:30:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 823,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 821,
                      "name": "mintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 735,
                      "src": "2476:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 822,
                      "name": "_mintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 794,
                      "src": "2487:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2476:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 824,
                  "nodeType": "ExpressionStatement",
                  "src": "2476:20:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 825,
                      "name": "burnable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 739,
                      "src": "2506:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 826,
                      "name": "_burnable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 796,
                      "src": "2517:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2506:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 828,
                  "nodeType": "ExpressionStatement",
                  "src": "2506:20:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 831,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 829,
                      "name": "pausable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 741,
                      "src": "2536:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 830,
                      "name": "_pausable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 798,
                      "src": "2547:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2536:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 832,
                  "nodeType": "ExpressionStatement",
                  "src": "2536:20:7"
                }
              ]
            },
            "documentation": null,
            "id": 834,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 801,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 800,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "2321:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2321:9:7"
              },
              {
                "arguments": null,
                "id": 803,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 802,
                  "name": "whenNotActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3155,
                  "src": "2331:16:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2331:16:7"
              }
            ],
            "name": "update",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 786,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2143:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 785,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2143:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 788,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2165:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 787,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2165:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 790,
                  "name": "_decimals",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2189:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 789,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "2189:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 792,
                  "name": "_initialSupply",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2214:22:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 791,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2214:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 794,
                  "name": "_mintable",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2246:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 793,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2246:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 796,
                  "name": "_burnable",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2270:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 795,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2270:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 798,
                  "name": "_pausable",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2294:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 797,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2294:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2133:176:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 804,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2348:0:7"
            },
            "scope": 1036,
            "src": "2118:445:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 847,
              "nodeType": "Block",
              "src": "2646:43:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 845,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 843,
                      "name": "maxMintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 737,
                      "src": "2656:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 844,
                      "name": "_maxMintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 836,
                      "src": "2670:12:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2656:26:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 846,
                  "nodeType": "ExpressionStatement",
                  "src": "2656:26:7"
                }
              ]
            },
            "documentation": null,
            "id": 848,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 839,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 838,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "2612:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2612:9:7"
              },
              {
                "arguments": null,
                "id": 841,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 840,
                  "name": "whenNotActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3155,
                  "src": "2622:16:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2622:16:7"
              }
            ],
            "name": "setMaxMintable",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 837,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 836,
                  "name": "_maxMintable",
                  "nodeType": "VariableDeclaration",
                  "scope": 848,
                  "src": "2593:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 835,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2593:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2592:19:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 842,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2646:0:7"
            },
            "scope": 1036,
            "src": "2569:120:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 869,
              "nodeType": "Block",
              "src": "2754:118:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 857,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 855,
                      "name": "totalSupply_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6917,
                      "src": "2764:12:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 856,
                      "name": "initialSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 733,
                      "src": "2779:13:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2764:28:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 858,
                  "nodeType": "ExpressionStatement",
                  "src": "2764:28:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 859,
                        "name": "balances",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6915,
                        "src": "2802:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 861,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 860,
                        "name": "owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6820,
                        "src": "2811:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2802:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 862,
                      "name": "totalSupply_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6917,
                      "src": "2820:12:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2802:30:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 864,
                  "nodeType": "ExpressionStatement",
                  "src": "2802:30:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 865,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "2849:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 866,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "activate",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3519,
                      "src": "2849:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$",
                        "typeString": "function () returns (bool)"
                      }
                    },
                    "id": 867,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2849:16:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 854,
                  "id": 868,
                  "nodeType": "Return",
                  "src": "2842:23:7"
                }
              ]
            },
            "documentation": null,
            "id": 870,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 851,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 850,
                  "name": "whenNotActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3155,
                  "src": "2715:16:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2715:16:7"
              }
            ],
            "name": "activate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 849,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2712:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 854,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 853,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 870,
                  "src": "2748:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 852,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2748:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2747:6:7"
            },
            "scope": 1036,
            "src": "2695:177:7",
            "stateMutability": "nonpayable",
            "superFunction": 3519,
            "visibility": "public"
          },
          {
            "body": {
              "id": 893,
              "nodeType": "Block",
              "src": "3004:76:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 887,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 872,
                        "src": "3036:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 888,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 874,
                        "src": "3041:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 889,
                        "name": "_data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 876,
                        "src": "3049:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 890,
                        "name": "_custom_fallback",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 878,
                        "src": "3056:16:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 885,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3021:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 886,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 353,
                      "src": "3021:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (address,uint256,bytes memory,string memory) returns (bool)"
                      }
                    },
                    "id": 891,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3021:52:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 884,
                  "id": 892,
                  "nodeType": "Return",
                  "src": "3014:59:7"
                }
              ]
            },
            "documentation": null,
            "id": 894,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 881,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 880,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "2967:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2967:13:7"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 879,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 872,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2896:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 871,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2896:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 874,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2909:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 873,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2909:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 876,
                  "name": "_data",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2922:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 875,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2922:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 878,
                  "name": "_custom_fallback",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2935:23:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 877,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2935:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2895:64:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 884,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 883,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2990:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 882,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2990:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2989:14:7"
            },
            "scope": 1036,
            "src": "2878:202:7",
            "stateMutability": "nonpayable",
            "superFunction": 353,
            "visibility": "public"
          },
          {
            "body": {
              "id": 914,
              "nodeType": "Block",
              "src": "3187:58:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 909,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 896,
                        "src": "3219:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 910,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 898,
                        "src": "3224:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 911,
                        "name": "_data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 900,
                        "src": "3232:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 907,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3204:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 908,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 374,
                      "src": "3204:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (address,uint256,bytes memory) returns (bool)"
                      }
                    },
                    "id": 912,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3204:34:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 906,
                  "id": 913,
                  "nodeType": "Return",
                  "src": "3197:41:7"
                }
              ]
            },
            "documentation": null,
            "id": 915,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 903,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 902,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3150:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3150:13:7"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 901,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 896,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3104:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 895,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3104:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 898,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3117:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 897,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3117:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 900,
                  "name": "_data",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3130:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 899,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3130:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3103:39:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 906,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 905,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3173:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 904,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3173:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3172:14:7"
            },
            "scope": 1036,
            "src": "3086:159:7",
            "stateMutability": "nonpayable",
            "superFunction": 374,
            "visibility": "public"
          },
          {
            "body": {
              "id": 932,
              "nodeType": "Block",
              "src": "3339:51:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 928,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 917,
                        "src": "3371:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 929,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 919,
                        "src": "3376:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 926,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3356:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 927,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 392,
                      "src": "3356:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 930,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3356:27:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 925,
                  "id": 931,
                  "nodeType": "Return",
                  "src": "3349:34:7"
                }
              ]
            },
            "documentation": null,
            "id": 933,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 922,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 921,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3295:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3295:13:7"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 920,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 917,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 933,
                  "src": "3269:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 916,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3269:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 919,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 933,
                  "src": "3282:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 918,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3282:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3268:26:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 925,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 924,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 933,
                  "src": "3325:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 923,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3325:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3324:14:7"
            },
            "scope": 1036,
            "src": "3251:139:7",
            "stateMutability": "nonpayable",
            "superFunction": 392,
            "visibility": "public"
          },
          {
            "body": {
              "id": 953,
              "nodeType": "Block",
              "src": "3528:62:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 948,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 935,
                        "src": "3564:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 949,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 937,
                        "src": "3571:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 950,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 939,
                        "src": "3576:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 946,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3545:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 947,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7297,
                      "src": "3545:18:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,address,uint256) returns (bool)"
                      }
                    },
                    "id": 951,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3545:38:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 945,
                  "id": 952,
                  "nodeType": "Return",
                  "src": "3538:45:7"
                }
              ]
            },
            "documentation": null,
            "id": 954,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 942,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 941,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3492:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3492:13:7"
              }
            ],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 940,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 935,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3427:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 934,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3427:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 937,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3450:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 936,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3450:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 939,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3471:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 938,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3471:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3417:74:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 945,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 944,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3522:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 943,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3522:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3521:6:7"
            },
            "scope": 1036,
            "src": "3396:194:7",
            "stateMutability": "nonpayable",
            "superFunction": 7297,
            "visibility": "public"
          },
          {
            "body": {
              "id": 971,
              "nodeType": "Block",
              "src": "3681:53:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 967,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 956,
                        "src": "3712:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 968,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 958,
                        "src": "3721:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 965,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3698:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 966,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "approve",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7315,
                      "src": "3698:13:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3698:29:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 964,
                  "id": 970,
                  "nodeType": "Return",
                  "src": "3691:36:7"
                }
              ]
            },
            "documentation": null,
            "id": 972,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 961,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 960,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3645:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3645:13:7"
              }
            ],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 959,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 956,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 972,
                  "src": "3613:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 955,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3613:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 958,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 972,
                  "src": "3630:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 957,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3630:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3612:32:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 964,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 963,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 972,
                  "src": "3675:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 962,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3675:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3674:6:7"
            },
            "scope": 1036,
            "src": "3596:138:7",
            "stateMutability": "nonpayable",
            "superFunction": 7315,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1005,
              "nodeType": "Block",
              "src": "3833:152:7",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 987,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 985,
                      "name": "maxMintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 737,
                      "src": "3847:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 986,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3861:1:7",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3847:15:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 998,
                  "nodeType": "IfStatement",
                  "src": "3843:95:7",
                  "trueBody": {
                    "id": 997,
                    "nodeType": "Block",
                    "src": "3864:74:7",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 994,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 991,
                                    "name": "_amount",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 976,
                                    "src": "3903:7:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 989,
                                    "name": "totalSupply_",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6917,
                                    "src": "3886:12:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 990,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "add",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 6815,
                                  "src": "3886:16:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 992,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3886:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 993,
                                "name": "maxMintable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 737,
                                "src": "3915:11:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3886:40:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 988,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              7665,
                              7666
                            ],
                            "referencedDeclaration": 7665,
                            "src": "3878:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 995,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3878:49:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 996,
                        "nodeType": "ExpressionStatement",
                        "src": "3878:49:7"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1001,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 974,
                        "src": "3965:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1002,
                        "name": "_amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 976,
                        "src": "3970:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 999,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3954:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 1000,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7230,
                      "src": "3954:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1003,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3954:24:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 984,
                  "id": 1004,
                  "nodeType": "Return",
                  "src": "3947:31:7"
                }
              ]
            },
            "documentation": null,
            "id": 1006,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 979,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 978,
                  "name": "whenMintable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 757,
                  "src": "3784:12:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3784:12:7"
              },
              {
                "arguments": null,
                "id": 981,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 980,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3797:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3797:13:7"
              }
            ],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 977,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 974,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 1006,
                  "src": "3754:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 973,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3754:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 976,
                  "name": "_amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 1006,
                  "src": "3767:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 975,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3767:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3753:30:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 984,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 983,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1006,
                  "src": "3827:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 982,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3827:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3826:6:7"
            },
            "scope": 1036,
            "src": "3740:245:7",
            "stateMutability": "nonpayable",
            "superFunction": 7230,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1021,
              "nodeType": "Block",
              "src": "4055:35:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1018,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1008,
                        "src": "4076:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1015,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "4065:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 1017,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "burn",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7021,
                      "src": "4065:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 1019,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4065:18:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1020,
                  "nodeType": "ExpressionStatement",
                  "src": "4065:18:7"
                }
              ]
            },
            "documentation": null,
            "id": 1022,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1011,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1010,
                  "name": "whenBurnable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 749,
                  "src": "4021:12:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4021:12:7"
              },
              {
                "arguments": null,
                "id": 1013,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1012,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "4034:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4034:13:7"
              }
            ],
            "name": "burn",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1009,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1008,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1022,
                  "src": "4005:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1007,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4005:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4004:16:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1014,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4055:0:7"
            },
            "scope": 1036,
            "src": "3991:99:7",
            "stateMutability": "nonpayable",
            "superFunction": 7021,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1034,
              "nodeType": "Block",
              "src": "4147:30:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1029,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "4157:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 1031,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pause",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6706,
                      "src": "4157:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 1032,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4157:13:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1033,
                  "nodeType": "ExpressionStatement",
                  "src": "4157:13:7"
                }
              ]
            },
            "documentation": null,
            "id": 1035,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1025,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1024,
                  "name": "whenPausable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 765,
                  "src": "4113:12:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4113:12:7"
              },
              {
                "arguments": null,
                "id": 1027,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1026,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "4126:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4126:13:7"
              }
            ],
            "name": "pause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1023,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4110:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1028,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4147:0:7"
            },
            "scope": 1036,
            "src": "4096:81:7",
            "stateMutability": "nonpayable",
            "superFunction": 6706,
            "visibility": "public"
          }
        ],
        "scope": 1037,
        "src": "259:3920:7"
      }
    ],
    "src": "0:4180:7"
  },
  "legacyAST": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223Token.sol",
    "exportedSymbols": {
      "ERC223Token": [
        1036
      ]
    },
    "id": 1037,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 713,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:7"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223PausableToken.sol",
        "file": "./ERC223PausableToken.sol",
        "id": 714,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 394,
        "src": "26:35:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/token/Token.sol",
        "file": "tokenboost-solidity/contracts/token/Token.sol",
        "id": 715,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 3521,
        "src": "62:55:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol",
        "file": "zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol",
        "id": 716,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 7070,
        "src": "118:67:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/token/ERC20/RBACMintableToken.sol",
        "file": "zeppelin-solidity/contracts/token/ERC20/RBACMintableToken.sol",
        "id": 717,
        "nodeType": "ImportDirective",
        "scope": 1037,
        "sourceUnit": 7401,
        "src": "186:71:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 718,
              "name": "Token",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3520,
              "src": "283:5:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Token_$3520",
                "typeString": "contract Token"
              }
            },
            "id": 719,
            "nodeType": "InheritanceSpecifier",
            "src": "283:5:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 720,
              "name": "ERC223PausableToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 393,
              "src": "290:19:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223PausableToken_$393",
                "typeString": "contract ERC223PausableToken"
              }
            },
            "id": 721,
            "nodeType": "InheritanceSpecifier",
            "src": "290:19:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 722,
              "name": "BurnableToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7069,
              "src": "311:13:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BurnableToken_$7069",
                "typeString": "contract BurnableToken"
              }
            },
            "id": 723,
            "nodeType": "InheritanceSpecifier",
            "src": "311:13:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 724,
              "name": "RBACMintableToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7400,
              "src": "326:17:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RBACMintableToken_$7400",
                "typeString": "contract RBACMintableToken"
              }
            },
            "id": 725,
            "nodeType": "InheritanceSpecifier",
            "src": "326:17:7"
          }
        ],
        "contractDependencies": [
          321,
          393,
          711,
          3168,
          3212,
          3520,
          6531,
          6611,
          6662,
          6722,
          6902,
          6998,
          7069,
          7112,
          7144,
          7250,
          7352,
          7400,
          7647
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 1036,
        "linearizedBaseContracts": [
          1036,
          7400,
          6531,
          7250,
          7069,
          393,
          7352,
          6722,
          3520,
          3168,
          3212,
          6662,
          6611,
          6902,
          711,
          7647,
          6998,
          7112,
          7144,
          321
        ],
        "name": "ERC223Token",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 728,
            "name": "InterfaceId_ERC223Token",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1458:59:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 726,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "1458:6:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30786430633338316339",
              "id": 727,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1507:10:7",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_3502473673_by_1",
                "typeString": "int_const 3502473673"
              },
              "value": "0xd0c381c9"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 731,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1524:26:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 729,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1524:5:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 730,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1548:2:7",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 733,
            "name": "initialSupply",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1556:28:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 732,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1556:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 735,
            "name": "mintable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1590:20:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 734,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1590:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 737,
            "name": "maxMintable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1616:26:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 736,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1616:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 739,
            "name": "burnable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1648:20:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 738,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1648:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 741,
            "name": "pausable",
            "nodeType": "VariableDeclaration",
            "scope": 1036,
            "src": "1674:20:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 740,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1674:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 748,
              "nodeType": "Block",
              "src": "1725:45:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 744,
                        "name": "burnable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 739,
                        "src": "1743:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 743,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7665,
                        7666
                      ],
                      "referencedDeclaration": 7665,
                      "src": "1735:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 745,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1735:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 746,
                  "nodeType": "ExpressionStatement",
                  "src": "1735:17:7"
                },
                {
                  "id": 747,
                  "nodeType": "PlaceholderStatement",
                  "src": "1762:1:7"
                }
              ]
            },
            "documentation": null,
            "id": 749,
            "name": "whenBurnable",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 742,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1722:2:7"
            },
            "src": "1701:69:7",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 756,
              "nodeType": "Block",
              "src": "1800:45:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 752,
                        "name": "mintable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 735,
                        "src": "1818:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 751,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7665,
                        7666
                      ],
                      "referencedDeclaration": 7665,
                      "src": "1810:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 753,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1810:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 754,
                  "nodeType": "ExpressionStatement",
                  "src": "1810:17:7"
                },
                {
                  "id": 755,
                  "nodeType": "PlaceholderStatement",
                  "src": "1837:1:7"
                }
              ]
            },
            "documentation": null,
            "id": 757,
            "name": "whenMintable",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 750,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1797:2:7"
            },
            "src": "1776:69:7",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 764,
              "nodeType": "Block",
              "src": "1875:45:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 760,
                        "name": "pausable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 741,
                        "src": "1893:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 759,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7665,
                        7666
                      ],
                      "referencedDeclaration": 7665,
                      "src": "1885:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 761,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1885:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 762,
                  "nodeType": "ExpressionStatement",
                  "src": "1885:17:7"
                },
                {
                  "id": 763,
                  "nodeType": "PlaceholderStatement",
                  "src": "1912:1:7"
                }
              ]
            },
            "documentation": null,
            "id": 765,
            "name": "whenPausable",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 758,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1872:2:7"
            },
            "src": "1851:69:7",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 783,
              "nodeType": "Block",
              "src": "2050:62:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 780,
                        "name": "InterfaceId_ERC223Token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 728,
                        "src": "2080:23:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 779,
                      "name": "_registerInterface",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6661,
                      "src": "2061:18:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
                        "typeString": "function (bytes4)"
                      }
                    },
                    "id": 781,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2061:43:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 782,
                  "nodeType": "ExpressionStatement",
                  "src": "2061:43:7"
                }
              ]
            },
            "documentation": null,
            "id": 784,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 774,
                    "name": "_owner",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 767,
                    "src": "2027:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 775,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 769,
                    "src": "2035:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 776,
                    "name": "_symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 771,
                    "src": "2042:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 777,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 773,
                  "name": "Token",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3520,
                  "src": "2021:5:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_Token_$3520_$",
                    "typeString": "type(contract Token)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2021:29:7"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 767,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 784,
                  "src": "1947:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 766,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1947:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 769,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 784,
                  "src": "1971:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 768,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1971:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 771,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 784,
                  "src": "1993:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 770,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1993:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1937:76:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 778,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2050:0:7"
            },
            "scope": 1036,
            "src": "1926:186:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 833,
              "nodeType": "Block",
              "src": "2348:215:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 805,
                      "name": "name",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3480,
                      "src": "2358:4:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 806,
                      "name": "_name",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 786,
                      "src": "2365:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "2358:12:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 808,
                  "nodeType": "ExpressionStatement",
                  "src": "2358:12:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 811,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 809,
                      "name": "symbol",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3482,
                      "src": "2380:6:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 810,
                      "name": "_symbol",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 788,
                      "src": "2389:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "2380:16:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 812,
                  "nodeType": "ExpressionStatement",
                  "src": "2380:16:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 815,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 813,
                      "name": "decimals",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 731,
                      "src": "2406:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 814,
                      "name": "_decimals",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 790,
                      "src": "2417:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "2406:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "id": 816,
                  "nodeType": "ExpressionStatement",
                  "src": "2406:20:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 817,
                      "name": "initialSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 733,
                      "src": "2436:13:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 818,
                      "name": "_initialSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 792,
                      "src": "2452:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2436:30:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 820,
                  "nodeType": "ExpressionStatement",
                  "src": "2436:30:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 823,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 821,
                      "name": "mintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 735,
                      "src": "2476:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 822,
                      "name": "_mintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 794,
                      "src": "2487:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2476:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 824,
                  "nodeType": "ExpressionStatement",
                  "src": "2476:20:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 825,
                      "name": "burnable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 739,
                      "src": "2506:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 826,
                      "name": "_burnable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 796,
                      "src": "2517:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2506:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 828,
                  "nodeType": "ExpressionStatement",
                  "src": "2506:20:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 831,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 829,
                      "name": "pausable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 741,
                      "src": "2536:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 830,
                      "name": "_pausable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 798,
                      "src": "2547:9:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2536:20:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 832,
                  "nodeType": "ExpressionStatement",
                  "src": "2536:20:7"
                }
              ]
            },
            "documentation": null,
            "id": 834,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 801,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 800,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "2321:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2321:9:7"
              },
              {
                "arguments": null,
                "id": 803,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 802,
                  "name": "whenNotActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3155,
                  "src": "2331:16:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2331:16:7"
              }
            ],
            "name": "update",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 786,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2143:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 785,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2143:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 788,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2165:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 787,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2165:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 790,
                  "name": "_decimals",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2189:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 789,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "2189:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 792,
                  "name": "_initialSupply",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2214:22:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 791,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2214:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 794,
                  "name": "_mintable",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2246:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 793,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2246:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 796,
                  "name": "_burnable",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2270:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 795,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2270:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 798,
                  "name": "_pausable",
                  "nodeType": "VariableDeclaration",
                  "scope": 834,
                  "src": "2294:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 797,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2294:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2133:176:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 804,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2348:0:7"
            },
            "scope": 1036,
            "src": "2118:445:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 847,
              "nodeType": "Block",
              "src": "2646:43:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 845,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 843,
                      "name": "maxMintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 737,
                      "src": "2656:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 844,
                      "name": "_maxMintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 836,
                      "src": "2670:12:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2656:26:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 846,
                  "nodeType": "ExpressionStatement",
                  "src": "2656:26:7"
                }
              ]
            },
            "documentation": null,
            "id": 848,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 839,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 838,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6850,
                  "src": "2612:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2612:9:7"
              },
              {
                "arguments": null,
                "id": 841,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 840,
                  "name": "whenNotActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3155,
                  "src": "2622:16:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2622:16:7"
              }
            ],
            "name": "setMaxMintable",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 837,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 836,
                  "name": "_maxMintable",
                  "nodeType": "VariableDeclaration",
                  "scope": 848,
                  "src": "2593:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 835,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2593:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2592:19:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 842,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2646:0:7"
            },
            "scope": 1036,
            "src": "2569:120:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 869,
              "nodeType": "Block",
              "src": "2754:118:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 857,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 855,
                      "name": "totalSupply_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6917,
                      "src": "2764:12:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 856,
                      "name": "initialSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 733,
                      "src": "2779:13:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2764:28:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 858,
                  "nodeType": "ExpressionStatement",
                  "src": "2764:28:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 859,
                        "name": "balances",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6915,
                        "src": "2802:8:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 861,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 860,
                        "name": "owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6820,
                        "src": "2811:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2802:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 862,
                      "name": "totalSupply_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6917,
                      "src": "2820:12:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2802:30:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 864,
                  "nodeType": "ExpressionStatement",
                  "src": "2802:30:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 865,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "2849:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 866,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "activate",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3519,
                      "src": "2849:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$",
                        "typeString": "function () returns (bool)"
                      }
                    },
                    "id": 867,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2849:16:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 854,
                  "id": 868,
                  "nodeType": "Return",
                  "src": "2842:23:7"
                }
              ]
            },
            "documentation": null,
            "id": 870,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 851,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 850,
                  "name": "whenNotActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3155,
                  "src": "2715:16:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2715:16:7"
              }
            ],
            "name": "activate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 849,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2712:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 854,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 853,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 870,
                  "src": "2748:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 852,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2748:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2747:6:7"
            },
            "scope": 1036,
            "src": "2695:177:7",
            "stateMutability": "nonpayable",
            "superFunction": 3519,
            "visibility": "public"
          },
          {
            "body": {
              "id": 893,
              "nodeType": "Block",
              "src": "3004:76:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 887,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 872,
                        "src": "3036:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 888,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 874,
                        "src": "3041:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 889,
                        "name": "_data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 876,
                        "src": "3049:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 890,
                        "name": "_custom_fallback",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 878,
                        "src": "3056:16:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 885,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3021:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 886,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 353,
                      "src": "3021:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (address,uint256,bytes memory,string memory) returns (bool)"
                      }
                    },
                    "id": 891,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3021:52:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 884,
                  "id": 892,
                  "nodeType": "Return",
                  "src": "3014:59:7"
                }
              ]
            },
            "documentation": null,
            "id": 894,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 881,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 880,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "2967:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2967:13:7"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 879,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 872,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2896:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 871,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2896:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 874,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2909:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 873,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2909:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 876,
                  "name": "_data",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2922:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 875,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2922:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 878,
                  "name": "_custom_fallback",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2935:23:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 877,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2935:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2895:64:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 884,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 883,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 894,
                  "src": "2990:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 882,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2990:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2989:14:7"
            },
            "scope": 1036,
            "src": "2878:202:7",
            "stateMutability": "nonpayable",
            "superFunction": 353,
            "visibility": "public"
          },
          {
            "body": {
              "id": 914,
              "nodeType": "Block",
              "src": "3187:58:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 909,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 896,
                        "src": "3219:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 910,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 898,
                        "src": "3224:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 911,
                        "name": "_data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 900,
                        "src": "3232:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 907,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3204:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 908,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 374,
                      "src": "3204:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (address,uint256,bytes memory) returns (bool)"
                      }
                    },
                    "id": 912,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3204:34:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 906,
                  "id": 913,
                  "nodeType": "Return",
                  "src": "3197:41:7"
                }
              ]
            },
            "documentation": null,
            "id": 915,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 903,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 902,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3150:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3150:13:7"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 901,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 896,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3104:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 895,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3104:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 898,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3117:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 897,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3117:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 900,
                  "name": "_data",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3130:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 899,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3130:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3103:39:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 906,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 905,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 915,
                  "src": "3173:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 904,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3173:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3172:14:7"
            },
            "scope": 1036,
            "src": "3086:159:7",
            "stateMutability": "nonpayable",
            "superFunction": 374,
            "visibility": "public"
          },
          {
            "body": {
              "id": 932,
              "nodeType": "Block",
              "src": "3339:51:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 928,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 917,
                        "src": "3371:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 929,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 919,
                        "src": "3376:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 926,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3356:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 927,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 392,
                      "src": "3356:14:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 930,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3356:27:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 925,
                  "id": 931,
                  "nodeType": "Return",
                  "src": "3349:34:7"
                }
              ]
            },
            "documentation": null,
            "id": 933,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 922,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 921,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3295:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3295:13:7"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 920,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 917,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 933,
                  "src": "3269:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 916,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3269:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 919,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 933,
                  "src": "3282:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 918,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3282:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3268:26:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 925,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 924,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 933,
                  "src": "3325:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 923,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3325:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3324:14:7"
            },
            "scope": 1036,
            "src": "3251:139:7",
            "stateMutability": "nonpayable",
            "superFunction": 392,
            "visibility": "public"
          },
          {
            "body": {
              "id": 953,
              "nodeType": "Block",
              "src": "3528:62:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 948,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 935,
                        "src": "3564:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 949,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 937,
                        "src": "3571:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 950,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 939,
                        "src": "3576:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 946,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3545:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 947,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7297,
                      "src": "3545:18:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,address,uint256) returns (bool)"
                      }
                    },
                    "id": 951,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3545:38:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 945,
                  "id": 952,
                  "nodeType": "Return",
                  "src": "3538:45:7"
                }
              ]
            },
            "documentation": null,
            "id": 954,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 942,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 941,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3492:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3492:13:7"
              }
            ],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 940,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 935,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3427:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 934,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3427:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 937,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3450:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 936,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3450:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 939,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3471:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 938,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3471:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3417:74:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 945,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 944,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 954,
                  "src": "3522:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 943,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3522:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3521:6:7"
            },
            "scope": 1036,
            "src": "3396:194:7",
            "stateMutability": "nonpayable",
            "superFunction": 7297,
            "visibility": "public"
          },
          {
            "body": {
              "id": 971,
              "nodeType": "Block",
              "src": "3681:53:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 967,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 956,
                        "src": "3712:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 968,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 958,
                        "src": "3721:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 965,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3698:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 966,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "approve",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7315,
                      "src": "3698:13:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3698:29:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 964,
                  "id": 970,
                  "nodeType": "Return",
                  "src": "3691:36:7"
                }
              ]
            },
            "documentation": null,
            "id": 972,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 961,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 960,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3645:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3645:13:7"
              }
            ],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 959,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 956,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 972,
                  "src": "3613:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 955,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3613:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 958,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 972,
                  "src": "3630:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 957,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3630:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3612:32:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 964,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 963,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 972,
                  "src": "3675:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 962,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3675:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3674:6:7"
            },
            "scope": 1036,
            "src": "3596:138:7",
            "stateMutability": "nonpayable",
            "superFunction": 7315,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1005,
              "nodeType": "Block",
              "src": "3833:152:7",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 987,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 985,
                      "name": "maxMintable",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 737,
                      "src": "3847:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 986,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3861:1:7",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3847:15:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 998,
                  "nodeType": "IfStatement",
                  "src": "3843:95:7",
                  "trueBody": {
                    "id": 997,
                    "nodeType": "Block",
                    "src": "3864:74:7",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 994,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 991,
                                    "name": "_amount",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 976,
                                    "src": "3903:7:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 989,
                                    "name": "totalSupply_",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6917,
                                    "src": "3886:12:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 990,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "add",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 6815,
                                  "src": "3886:16:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 992,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3886:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 993,
                                "name": "maxMintable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 737,
                                "src": "3915:11:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3886:40:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 988,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              7665,
                              7666
                            ],
                            "referencedDeclaration": 7665,
                            "src": "3878:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 995,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3878:49:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 996,
                        "nodeType": "ExpressionStatement",
                        "src": "3878:49:7"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1001,
                        "name": "_to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 974,
                        "src": "3965:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1002,
                        "name": "_amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 976,
                        "src": "3970:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 999,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "3954:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 1000,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7230,
                      "src": "3954:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1003,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3954:24:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 984,
                  "id": 1004,
                  "nodeType": "Return",
                  "src": "3947:31:7"
                }
              ]
            },
            "documentation": null,
            "id": 1006,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 979,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 978,
                  "name": "whenMintable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 757,
                  "src": "3784:12:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3784:12:7"
              },
              {
                "arguments": null,
                "id": 981,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 980,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "3797:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3797:13:7"
              }
            ],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 977,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 974,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 1006,
                  "src": "3754:11:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 973,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3754:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 976,
                  "name": "_amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 1006,
                  "src": "3767:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 975,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3767:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3753:30:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 984,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 983,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1006,
                  "src": "3827:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 982,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3827:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3826:6:7"
            },
            "scope": 1036,
            "src": "3740:245:7",
            "stateMutability": "nonpayable",
            "superFunction": 7230,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1021,
              "nodeType": "Block",
              "src": "4055:35:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1018,
                        "name": "_value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1008,
                        "src": "4076:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1015,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "4065:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 1017,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "burn",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7021,
                      "src": "4065:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 1019,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4065:18:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1020,
                  "nodeType": "ExpressionStatement",
                  "src": "4065:18:7"
                }
              ]
            },
            "documentation": null,
            "id": 1022,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1011,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1010,
                  "name": "whenBurnable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 749,
                  "src": "4021:12:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4021:12:7"
              },
              {
                "arguments": null,
                "id": 1013,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1012,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "4034:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4034:13:7"
              }
            ],
            "name": "burn",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1009,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1008,
                  "name": "_value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1022,
                  "src": "4005:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1007,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4005:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4004:16:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1014,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4055:0:7"
            },
            "scope": 1036,
            "src": "3991:99:7",
            "stateMutability": "nonpayable",
            "superFunction": 7021,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1034,
              "nodeType": "Block",
              "src": "4147:30:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1029,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7724,
                        "src": "4157:5:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC223Token_$1036",
                          "typeString": "contract super ERC223Token"
                        }
                      },
                      "id": 1031,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pause",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6706,
                      "src": "4157:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 1032,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4157:13:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1033,
                  "nodeType": "ExpressionStatement",
                  "src": "4157:13:7"
                }
              ]
            },
            "documentation": null,
            "id": 1035,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1025,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1024,
                  "name": "whenPausable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 765,
                  "src": "4113:12:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4113:12:7"
              },
              {
                "arguments": null,
                "id": 1027,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1026,
                  "name": "whenActivated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 3146,
                  "src": "4126:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4126:13:7"
              }
            ],
            "name": "pause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1023,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4110:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1028,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4147:0:7"
            },
            "scope": 1036,
            "src": "4096:81:7",
            "stateMutability": "nonpayable",
            "superFunction": 6706,
            "visibility": "public"
          }
        ],
        "scope": 1037,
        "src": "259:3920:7"
      }
    ],
    "src": "0:4180:7"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-10-24T12:40:22.223Z"
}