{
  "contractName": "KernelProxy",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "KERNEL_APP_ID",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "APP_ADDR_NAMESPACE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "KERNEL_APP",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "apps",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "CORE_NAMESPACE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ACL_APP",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ACL_APP_ID",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "APP_BASES_NAMESPACE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_kernelImpl",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "payable": true,
      "stateMutability": "payable",
      "type": "fallback"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60405160208061078a833981016040528080519060200190919050508060008060405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061065f8061012b6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d1461019e578063178e6079146101cf578063250126991461020057806338bb6def14610231578063756f604914610298578063a3b4b07f146102c9578063cbcc65eb146102fa578063db8a61d41461032b575b61019c60008060405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000368080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505061035c565b005b34156101a957600080fd5b6101b161039a565b60405180826000191660001916815260200191505060405180910390f35b34156101da57600080fd5b6101e26103d3565b60405180826000191660001916815260200191505060405180910390f35b341561020b57600080fd5b61021361040c565b60405180826000191660001916815260200191505060405180910390f35b341561023c57600080fd5b6102566004808035600019169060200190919050506104a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102a357600080fd5b6102ab6104da565b60405180826000191660001916815260200191505060405180910390f35b34156102d457600080fd5b6102dc610513565b60405180826000191660001916815260200191505060405180910390f35b341561030557600080fd5b61030d6105ae565b60405180826000191660001916815260200191505060405180910390f35b341561033657600080fd5b61033e6105e7565b60405180826000191660001916815260200191505060405180910390f35b61036582610620565b151561037057600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610396578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b600080823b9050600081119150509190505600a165627a7a723058204d9c2d6cc8af6f6aa29fe5ba65cf2ba1ed6b43af10f916d2a56d5e67d2cd9d520029",
  "deployedBytecode": "0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631113ed0d1461019e578063178e6079146101cf578063250126991461020057806338bb6def14610231578063756f604914610298578063a3b4b07f146102c9578063cbcc65eb146102fa578063db8a61d41461032b575b61019c60008060405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000368080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505061035c565b005b34156101a957600080fd5b6101b161039a565b60405180826000191660001916815260200191505060405180910390f35b34156101da57600080fd5b6101e26103d3565b60405180826000191660001916815260200191505060405180910390f35b341561020b57600080fd5b61021361040c565b60405180826000191660001916815260200191505060405180910390f35b341561023c57600080fd5b6102566004808035600019169060200190919050506104a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102a357600080fd5b6102ab6104da565b60405180826000191660001916815260200191505060405180910390f35b34156102d457600080fd5b6102dc610513565b60405180826000191660001916815260200191505060405180910390f35b341561030557600080fd5b61030d6105ae565b60405180826000191660001916815260200191505060405180910390f35b341561033657600080fd5b61033e6105e7565b60405180826000191660001916815260200191505060405180910390f35b61036582610620565b151561037057600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610396578282f35b8282fd5b60405180807f6b65726e656c2e617261676f6e706d2e657468000000000000000000000000008152506013019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902081565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902060405180807f6b65726e656c2e617261676f6e706d2e6574680000000000000000000000000081525060130190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60405180807f636f7265000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b60405180807f61707000000000000000000000000000000000000000000000000000000000008152506003019050604051809103902060405180807f61636c2e617261676f6e706d2e6574680000000000000000000000000000000081525060100190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60405180807f61636c2e617261676f6e706d2e657468000000000000000000000000000000008152506010019050604051809103902081565b60405180807f62617365000000000000000000000000000000000000000000000000000000008152506004019050604051809103902081565b600080823b9050600081119150509190505600a165627a7a723058204d9c2d6cc8af6f6aa29fe5ba65cf2ba1ed6b43af10f916d2a56d5e67d2cd9d520029",
  "sourceMap": "95:717:43:-;;;419:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;527:11;478:4;:46;98:17:44;;;;;;;;;;;;;;;;;;;298:32;;;;;;;;;;;;;;;;;;;483:40:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;478:46;;;;;;;;;;;;;;;;;;:60;;;;;;;;;;;;;;;;;;419:126;95:717;;;;;;",
  "deployedSourceMap": "95:717:43:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;763:40;776:4;:16;98:17:44;;;;;;;;;;;;;;;;;;;298:32;;;;;;;;;;;;;;;;;;;373:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;776:16:43;;;;;;;;;;;;;;;;;;;;;;;;;;;794:8;;763:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:40::i;:::-;95:717;258:72:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;190:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;621:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;492:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;420:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;121:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;311:628:22;391:16;402:4;391:10;:16::i;:::-;383:25;;;;;;;;534:1;531;519:9;513:5;506:4;495:9;491:3;485:4;477:5;472:3;468;455:12;561:14;606:4;600:5;647:4;644:1;639:3;624:14;846:6;858:1;853:28;;;;916:4;911:3;904:6;853:28;874:4;869:3;862:6;258:72:44;298:32;;;;;;;;;;;;;;;;;;;258:72;:::o;190:61::-;235:16;;;;;;;;;;;;;;;;;;;190:61;:::o;336:77::-;98:17;;;;;;;;;;;;;;;;;;;298:32;;;;;;;;;;;;;;;;;;;373:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:77;:::o;621:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;57:58::-;98:17;;;;;;;;;;;;;;;;;;;57:58;:::o;492:75::-;235:16;;;;;;;;;;;;;;;;;;;457:29;;;;;;;;;;;;;;;;;;;526:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;492:75;:::o;420:66::-;457:29;;;;;;;;;;;;;;;;;;;420:66;:::o;121:63::-;167:17;;;;;;;;;;;;;;;;;;;121:63;:::o;945:170:22:-;1005:4;1021:12;1074:7;1062:11;1054:28;;1107:1;1100:4;:8;1093:15;;945:170;;;;:::o",
  "source": "pragma solidity 0.4.18;\n\nimport \"./KernelStorage.sol\";\nimport \"../common/DelegateProxy.sol\";\n\n\ncontract KernelProxy is KernelStorage, DelegateProxy {\n    /**\n    * @dev KernelProxy is a proxy contract to a kernel implementation. The implementation\n    *      can update the reference, which effectively upgrades the contract\n    * @param _kernelImpl Address of the contract used as implementation for kernel\n    */\n    function KernelProxy(address _kernelImpl) public {\n        apps[keccak256(CORE_NAMESPACE, KERNEL_APP_ID)] = _kernelImpl;\n    }\n\n    /**\n    * @dev All calls made to the proxy are forwarded to the kernel implementation via a delegatecall\n    * @return Any bytes32 value the implementation returns\n    */\n    function () payable public {\n        delegatedFwd(apps[KERNEL_APP], msg.data);\n    }\n}",
  "sourcePath": "@aragon/os/contracts/kernel/KernelProxy.sol",
  "ast": {
    "attributes": {
      "absolutePath": "@aragon/os/contracts/kernel/KernelProxy.sol",
      "exportedSymbols": {
        "KernelProxy": [
          9927
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "0.4",
            ".18"
          ]
        },
        "id": 9893,
        "name": "PragmaDirective",
        "src": "0:23:43"
      },
      {
        "attributes": {
          "SourceUnit": 9975,
          "absolutePath": "@aragon/os/contracts/kernel/KernelStorage.sol",
          "file": "./KernelStorage.sol",
          "scope": 9928,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9894,
        "name": "ImportDirective",
        "src": "25:29:43"
      },
      {
        "attributes": {
          "SourceUnit": 7016,
          "absolutePath": "@aragon/os/contracts/common/DelegateProxy.sol",
          "file": "../common/DelegateProxy.sol",
          "scope": 9928,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 9895,
        "name": "ImportDirective",
        "src": "55:37:43"
      },
      {
        "attributes": {
          "contractDependencies": [
            7015,
            9967,
            9974
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            9927,
            7015,
            9974,
            9967
          ],
          "name": "KernelProxy",
          "scope": 9928
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "KernelStorage",
                  "referencedDeclaration": 9974,
                  "type": "contract KernelStorage"
                },
                "id": 9896,
                "name": "UserDefinedTypeName",
                "src": "119:13:43"
              }
            ],
            "id": 9897,
            "name": "InheritanceSpecifier",
            "src": "119:13:43"
          },
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "DelegateProxy",
                  "referencedDeclaration": 7015,
                  "type": "contract DelegateProxy"
                },
                "id": 9898,
                "name": "UserDefinedTypeName",
                "src": "134:13:43"
              }
            ],
            "id": 9899,
            "name": "InheritanceSpecifier",
            "src": "134:13:43"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "KernelProxy",
              "payable": false,
              "scope": 9927,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_kernelImpl",
                      "scope": 9914,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 9900,
                        "name": "ElementaryTypeName",
                        "src": "440:7:43"
                      }
                    ],
                    "id": 9901,
                    "name": "VariableDeclaration",
                    "src": "440:19:43"
                  }
                ],
                "id": 9902,
                "name": "ParameterList",
                "src": "439:21:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9903,
                "name": "ParameterList",
                "src": "468:0:43"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9973,
                                  "type": "mapping(bytes32 => address)",
                                  "value": "apps"
                                },
                                "id": 9904,
                                "name": "Identifier",
                                "src": "478:4:43"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bytes32",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12584,
                                      "type": "function () pure returns (bytes32)",
                                      "value": "keccak256"
                                    },
                                    "id": 9905,
                                    "name": "Identifier",
                                    "src": "483:9:43"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9934,
                                      "type": "bytes32",
                                      "value": "CORE_NAMESPACE"
                                    },
                                    "id": 9906,
                                    "name": "Identifier",
                                    "src": "493:14:43"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 9949,
                                      "type": "bytes32",
                                      "value": "KERNEL_APP_ID"
                                    },
                                    "id": 9907,
                                    "name": "Identifier",
                                    "src": "509:13:43"
                                  }
                                ],
                                "id": 9908,
                                "name": "FunctionCall",
                                "src": "483:40:43"
                              }
                            ],
                            "id": 9909,
                            "name": "IndexAccess",
                            "src": "478:46:43"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 9901,
                              "type": "address",
                              "value": "_kernelImpl"
                            },
                            "id": 9910,
                            "name": "Identifier",
                            "src": "527:11:43"
                          }
                        ],
                        "id": 9911,
                        "name": "Assignment",
                        "src": "478:60:43"
                      }
                    ],
                    "id": 9912,
                    "name": "ExpressionStatement",
                    "src": "478:60:43"
                  }
                ],
                "id": 9913,
                "name": "Block",
                "src": "468:77:43"
              }
            ],
            "id": 9914,
            "name": "FunctionDefinition",
            "src": "419:126:43"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "",
              "payable": true,
              "scope": 9927,
              "stateMutability": "payable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9915,
                "name": "ParameterList",
                "src": "735:2:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 9916,
                "name": "ParameterList",
                "src": "753:0:43"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                  "typeString": "bytes calldata"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6998,
                              "type": "function (address,bytes memory)",
                              "value": "delegatedFwd"
                            },
                            "id": 9917,
                            "name": "Identifier",
                            "src": "763:12:43"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9973,
                                  "type": "mapping(bytes32 => address)",
                                  "value": "apps"
                                },
                                "id": 9918,
                                "name": "Identifier",
                                "src": "776:4:43"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 9955,
                                  "type": "bytes32",
                                  "value": "KERNEL_APP"
                                },
                                "id": 9919,
                                "name": "Identifier",
                                "src": "781:10:43"
                              }
                            ],
                            "id": 9920,
                            "name": "IndexAccess",
                            "src": "776:16:43"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "data",
                              "referencedDeclaration": null,
                              "type": "bytes calldata"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12590,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 9921,
                                "name": "Identifier",
                                "src": "794:3:43"
                              }
                            ],
                            "id": 9922,
                            "name": "MemberAccess",
                            "src": "794:8:43"
                          }
                        ],
                        "id": 9923,
                        "name": "FunctionCall",
                        "src": "763:40:43"
                      }
                    ],
                    "id": 9924,
                    "name": "ExpressionStatement",
                    "src": "763:40:43"
                  }
                ],
                "id": 9925,
                "name": "Block",
                "src": "753:57:43"
              }
            ],
            "id": 9926,
            "name": "FunctionDefinition",
            "src": "726:84:43"
          }
        ],
        "id": 9927,
        "name": "ContractDefinition",
        "src": "95:717:43"
      }
    ],
    "id": 9928,
    "name": "SourceUnit",
    "src": "0:812:43"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-14T08:41:25.097Z"
}