{
  "contractName": "StorageMockComplexWithChangedVar",
  "abi": [],
  "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058204a44e43855ba45720b38798937c6ed1d3b8cdf250d12324c0ca3a482c6501bea0029",
  "deployedBytecode": "0x6080604052600080fd00a165627a7a723058204a44e43855ba45720b38798937c6ed1d3b8cdf250d12324c0ca3a482c6501bea0029",
  "sourceMap": "949:78:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:78:19;;;;;;;",
  "deployedSourceMap": "949:78:19:-;;;;;",
  "source": "pragma solidity ^0.4.24;\n\ncontract StorageMockEmpty {\n}\n\ncontract StorageMockSimpleOriginal {\n  uint256 a;\n  uint256 b;\n}\n\ncontract StorageMockSimpleUnchanged {\n  uint256 a;\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithAddedVar {\n  uint256 a;\n  uint256 b;\n  uint256 c;\n}\n\ncontract StorageMockSimpleWithInsertedVar {\n  uint256 a;\n  uint256 c;\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithUnshiftedVar {\n  uint256 c;\n  uint256 a;\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithRenamedVar {\n  uint256 a;\n  uint256 c;\n}\n\ncontract StorageMockSimpleWithTypeChanged {\n  uint256 a;\n  string b;\n}\n\ncontract StorageMockSimpleWithDeletedVar {\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithPoppedVar {\n  uint256 a;\n}\n\ncontract StorageMockSimpleWithReplacedVar {\n  uint256 a;\n  string c;\n}\n\ncontract StorageMockSimpleChangedWithAppendedVar {\n  uint256 a2;\n  uint256 b2;\n  uint256 c2;\n}\n\ncontract StorageMockComplexOriginal {\n  mapping(address => uint256) a;\n}\n\ncontract StorageMockComplexWithChangedVar {\n  mapping(address => address) a;\n}\n\ncontract StorageMockChainPrivateBase {\n  uint256 private a;\n}\n\ncontract StorageMockChainPrivateChildV1 is StorageMockChainPrivateBase  {\n}\n\ncontract StorageMockChainPrivateChildV2 is StorageMockChainPrivateBase {\n  uint256 private a;\n}\n",
  "sourcePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocksForComparison.sol",
  "ast": {
    "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocksForComparison.sol",
    "exportedSymbols": {
      "StorageMockChainPrivateBase": [
        2448
      ],
      "StorageMockChainPrivateChildV1": [
        2451
      ],
      "StorageMockChainPrivateChildV2": [
        2456
      ],
      "StorageMockComplexOriginal": [
        2440
      ],
      "StorageMockComplexWithChangedVar": [
        2445
      ],
      "StorageMockEmpty": [
        2376
      ],
      "StorageMockSimpleChangedWithAppendedVar": [
        2435
      ],
      "StorageMockSimpleOriginal": [
        2381
      ],
      "StorageMockSimpleUnchanged": [
        2386
      ],
      "StorageMockSimpleWithAddedVar": [
        2393
      ],
      "StorageMockSimpleWithDeletedVar": [
        2420
      ],
      "StorageMockSimpleWithInsertedVar": [
        2400
      ],
      "StorageMockSimpleWithPoppedVar": [
        2423
      ],
      "StorageMockSimpleWithRenamedVar": [
        2412
      ],
      "StorageMockSimpleWithReplacedVar": [
        2428
      ],
      "StorageMockSimpleWithTypeChanged": [
        2417
      ],
      "StorageMockSimpleWithUnshiftedVar": [
        2407
      ]
    },
    "id": 2457,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2375,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2376,
        "linearizedBaseContracts": [
          2376
        ],
        "name": "StorageMockEmpty",
        "nodeType": "ContractDefinition",
        "nodes": [],
        "scope": 2457,
        "src": "26:29:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2381,
        "linearizedBaseContracts": [
          2381
        ],
        "name": "StorageMockSimpleOriginal",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2378,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2381,
            "src": "96:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2377,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "96:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2380,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2381,
            "src": "109:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2379,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "109:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "57:64:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2386,
        "linearizedBaseContracts": [
          2386
        ],
        "name": "StorageMockSimpleUnchanged",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2383,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2386,
            "src": "163:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2382,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "163:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2385,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2386,
            "src": "176:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2384,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "176:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "123:65:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2393,
        "linearizedBaseContracts": [
          2393
        ],
        "name": "StorageMockSimpleWithAddedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2388,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2393,
            "src": "233:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2387,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "233:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2390,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2393,
            "src": "246:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2389,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "246:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2392,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2393,
            "src": "259:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2391,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "259:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "190:81:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2400,
        "linearizedBaseContracts": [
          2400
        ],
        "name": "StorageMockSimpleWithInsertedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2395,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2400,
            "src": "319:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2394,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "319:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2397,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2400,
            "src": "332:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2396,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "332:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2399,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2400,
            "src": "345:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2398,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "345:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "273:84:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2407,
        "linearizedBaseContracts": [
          2407
        ],
        "name": "StorageMockSimpleWithUnshiftedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2402,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2407,
            "src": "406:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2401,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "406:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2404,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2407,
            "src": "419:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2403,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "419:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2406,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2407,
            "src": "432:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2405,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "432:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "359:85:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2412,
        "linearizedBaseContracts": [
          2412
        ],
        "name": "StorageMockSimpleWithRenamedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2409,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2412,
            "src": "491:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2408,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "491:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2411,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2412,
            "src": "504:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2410,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "504:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "446:70:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2417,
        "linearizedBaseContracts": [
          2417
        ],
        "name": "StorageMockSimpleWithTypeChanged",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2414,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2417,
            "src": "564:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2413,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "564:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2416,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2417,
            "src": "577:8:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 2415,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "577:6:19",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "518:70:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2420,
        "linearizedBaseContracts": [
          2420
        ],
        "name": "StorageMockSimpleWithDeletedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2419,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2420,
            "src": "635:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2418,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "635:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "590:57:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2423,
        "linearizedBaseContracts": [
          2423
        ],
        "name": "StorageMockSimpleWithPoppedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2422,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2423,
            "src": "693:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2421,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "693:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "649:56:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2428,
        "linearizedBaseContracts": [
          2428
        ],
        "name": "StorageMockSimpleWithReplacedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2425,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2428,
            "src": "753:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2424,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "753:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2427,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2428,
            "src": "766:8:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 2426,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "766:6:19",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "707:70:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2435,
        "linearizedBaseContracts": [
          2435
        ],
        "name": "StorageMockSimpleChangedWithAppendedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2430,
            "name": "a2",
            "nodeType": "VariableDeclaration",
            "scope": 2435,
            "src": "832:10:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2429,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "832:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2432,
            "name": "b2",
            "nodeType": "VariableDeclaration",
            "scope": 2435,
            "src": "846:10:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2431,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "846:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2434,
            "name": "c2",
            "nodeType": "VariableDeclaration",
            "scope": 2435,
            "src": "860:10:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2433,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "860:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "779:94:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2440,
        "linearizedBaseContracts": [
          2440
        ],
        "name": "StorageMockComplexOriginal",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2439,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2440,
            "src": "915:29:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 2438,
              "keyType": {
                "id": 2436,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "923:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "915:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 2437,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "934:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "875:72:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2445,
        "linearizedBaseContracts": [
          2445
        ],
        "name": "StorageMockComplexWithChangedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2444,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2445,
            "src": "995:29:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
              "typeString": "mapping(address => address)"
            },
            "typeName": {
              "id": 2443,
              "keyType": {
                "id": 2441,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1003:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "995:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                "typeString": "mapping(address => address)"
              },
              "valueType": {
                "id": 2442,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1014:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "949:78:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2448,
        "linearizedBaseContracts": [
          2448
        ],
        "name": "StorageMockChainPrivateBase",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2447,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2448,
            "src": "1070:17:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2446,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1070:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 2457,
        "src": "1029:61:19"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2449,
              "name": "StorageMockChainPrivateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2448,
              "src": "1135:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StorageMockChainPrivateBase_$2448",
                "typeString": "contract StorageMockChainPrivateBase"
              }
            },
            "id": 2450,
            "nodeType": "InheritanceSpecifier",
            "src": "1135:27:19"
          }
        ],
        "contractDependencies": [
          2448
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2451,
        "linearizedBaseContracts": [
          2451,
          2448
        ],
        "name": "StorageMockChainPrivateChildV1",
        "nodeType": "ContractDefinition",
        "nodes": [],
        "scope": 2457,
        "src": "1092:75:19"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2452,
              "name": "StorageMockChainPrivateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2448,
              "src": "1212:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StorageMockChainPrivateBase_$2448",
                "typeString": "contract StorageMockChainPrivateBase"
              }
            },
            "id": 2453,
            "nodeType": "InheritanceSpecifier",
            "src": "1212:27:19"
          }
        ],
        "contractDependencies": [
          2448
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2456,
        "linearizedBaseContracts": [
          2456,
          2448
        ],
        "name": "StorageMockChainPrivateChildV2",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2455,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2456,
            "src": "1244:17:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2454,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1244:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 2457,
        "src": "1169:95:19"
      }
    ],
    "src": "0:1265:19"
  },
  "legacyAST": {
    "absolutePath": "/Users/yoonjae/WebstormProjects/zos/packages/lib/contracts/mocks/StorageMocksForComparison.sol",
    "exportedSymbols": {
      "StorageMockChainPrivateBase": [
        2448
      ],
      "StorageMockChainPrivateChildV1": [
        2451
      ],
      "StorageMockChainPrivateChildV2": [
        2456
      ],
      "StorageMockComplexOriginal": [
        2440
      ],
      "StorageMockComplexWithChangedVar": [
        2445
      ],
      "StorageMockEmpty": [
        2376
      ],
      "StorageMockSimpleChangedWithAppendedVar": [
        2435
      ],
      "StorageMockSimpleOriginal": [
        2381
      ],
      "StorageMockSimpleUnchanged": [
        2386
      ],
      "StorageMockSimpleWithAddedVar": [
        2393
      ],
      "StorageMockSimpleWithDeletedVar": [
        2420
      ],
      "StorageMockSimpleWithInsertedVar": [
        2400
      ],
      "StorageMockSimpleWithPoppedVar": [
        2423
      ],
      "StorageMockSimpleWithRenamedVar": [
        2412
      ],
      "StorageMockSimpleWithReplacedVar": [
        2428
      ],
      "StorageMockSimpleWithTypeChanged": [
        2417
      ],
      "StorageMockSimpleWithUnshiftedVar": [
        2407
      ]
    },
    "id": 2457,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2375,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2376,
        "linearizedBaseContracts": [
          2376
        ],
        "name": "StorageMockEmpty",
        "nodeType": "ContractDefinition",
        "nodes": [],
        "scope": 2457,
        "src": "26:29:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2381,
        "linearizedBaseContracts": [
          2381
        ],
        "name": "StorageMockSimpleOriginal",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2378,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2381,
            "src": "96:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2377,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "96:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2380,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2381,
            "src": "109:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2379,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "109:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "57:64:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2386,
        "linearizedBaseContracts": [
          2386
        ],
        "name": "StorageMockSimpleUnchanged",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2383,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2386,
            "src": "163:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2382,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "163:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2385,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2386,
            "src": "176:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2384,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "176:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "123:65:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2393,
        "linearizedBaseContracts": [
          2393
        ],
        "name": "StorageMockSimpleWithAddedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2388,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2393,
            "src": "233:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2387,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "233:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2390,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2393,
            "src": "246:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2389,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "246:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2392,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2393,
            "src": "259:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2391,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "259:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "190:81:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2400,
        "linearizedBaseContracts": [
          2400
        ],
        "name": "StorageMockSimpleWithInsertedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2395,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2400,
            "src": "319:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2394,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "319:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2397,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2400,
            "src": "332:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2396,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "332:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2399,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2400,
            "src": "345:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2398,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "345:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "273:84:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2407,
        "linearizedBaseContracts": [
          2407
        ],
        "name": "StorageMockSimpleWithUnshiftedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2402,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2407,
            "src": "406:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2401,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "406:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2404,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2407,
            "src": "419:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2403,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "419:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2406,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2407,
            "src": "432:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2405,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "432:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "359:85:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2412,
        "linearizedBaseContracts": [
          2412
        ],
        "name": "StorageMockSimpleWithRenamedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2409,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2412,
            "src": "491:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2408,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "491:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2411,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2412,
            "src": "504:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2410,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "504:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "446:70:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2417,
        "linearizedBaseContracts": [
          2417
        ],
        "name": "StorageMockSimpleWithTypeChanged",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2414,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2417,
            "src": "564:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2413,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "564:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2416,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2417,
            "src": "577:8:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 2415,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "577:6:19",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "518:70:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2420,
        "linearizedBaseContracts": [
          2420
        ],
        "name": "StorageMockSimpleWithDeletedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2419,
            "name": "b",
            "nodeType": "VariableDeclaration",
            "scope": 2420,
            "src": "635:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2418,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "635:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "590:57:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2423,
        "linearizedBaseContracts": [
          2423
        ],
        "name": "StorageMockSimpleWithPoppedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2422,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2423,
            "src": "693:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2421,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "693:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "649:56:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2428,
        "linearizedBaseContracts": [
          2428
        ],
        "name": "StorageMockSimpleWithReplacedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2425,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2428,
            "src": "753:9:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2424,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "753:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2427,
            "name": "c",
            "nodeType": "VariableDeclaration",
            "scope": 2428,
            "src": "766:8:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 2426,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "766:6:19",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "707:70:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2435,
        "linearizedBaseContracts": [
          2435
        ],
        "name": "StorageMockSimpleChangedWithAppendedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2430,
            "name": "a2",
            "nodeType": "VariableDeclaration",
            "scope": 2435,
            "src": "832:10:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2429,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "832:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2432,
            "name": "b2",
            "nodeType": "VariableDeclaration",
            "scope": 2435,
            "src": "846:10:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2431,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "846:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 2434,
            "name": "c2",
            "nodeType": "VariableDeclaration",
            "scope": 2435,
            "src": "860:10:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2433,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "860:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "779:94:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2440,
        "linearizedBaseContracts": [
          2440
        ],
        "name": "StorageMockComplexOriginal",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2439,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2440,
            "src": "915:29:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 2438,
              "keyType": {
                "id": 2436,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "923:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "915:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 2437,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "934:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "875:72:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2445,
        "linearizedBaseContracts": [
          2445
        ],
        "name": "StorageMockComplexWithChangedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2444,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2445,
            "src": "995:29:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
              "typeString": "mapping(address => address)"
            },
            "typeName": {
              "id": 2443,
              "keyType": {
                "id": 2441,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1003:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "995:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                "typeString": "mapping(address => address)"
              },
              "valueType": {
                "id": 2442,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1014:7:19",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 2457,
        "src": "949:78:19"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2448,
        "linearizedBaseContracts": [
          2448
        ],
        "name": "StorageMockChainPrivateBase",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2447,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2448,
            "src": "1070:17:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2446,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1070:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 2457,
        "src": "1029:61:19"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2449,
              "name": "StorageMockChainPrivateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2448,
              "src": "1135:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StorageMockChainPrivateBase_$2448",
                "typeString": "contract StorageMockChainPrivateBase"
              }
            },
            "id": 2450,
            "nodeType": "InheritanceSpecifier",
            "src": "1135:27:19"
          }
        ],
        "contractDependencies": [
          2448
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2451,
        "linearizedBaseContracts": [
          2451,
          2448
        ],
        "name": "StorageMockChainPrivateChildV1",
        "nodeType": "ContractDefinition",
        "nodes": [],
        "scope": 2457,
        "src": "1092:75:19"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2452,
              "name": "StorageMockChainPrivateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 2448,
              "src": "1212:27:19",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StorageMockChainPrivateBase_$2448",
                "typeString": "contract StorageMockChainPrivateBase"
              }
            },
            "id": 2453,
            "nodeType": "InheritanceSpecifier",
            "src": "1212:27:19"
          }
        ],
        "contractDependencies": [
          2448
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2456,
        "linearizedBaseContracts": [
          2456,
          2448
        ],
        "name": "StorageMockChainPrivateChildV2",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 2455,
            "name": "a",
            "nodeType": "VariableDeclaration",
            "scope": 2456,
            "src": "1244:17:19",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2454,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1244:7:19",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 2457,
        "src": "1169:95:19"
      }
    ],
    "src": "0:1265:19"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2019-02-15T10:15:15.408Z"
}